#1344 AppFwk: Cleaning up in PdmUiOrdering

This commit is contained in:
Jacob Støren 2017-03-22 15:02:06 +01:00
parent c39462d19a
commit c77e674601
3 changed files with 35 additions and 11 deletions

View File

@ -39,10 +39,10 @@ void PdmUiObjectHandle::uiOrdering(QString uiConfigName, PdmUiOrdering& uiOrderi
{
// Restore state for includeRemainingFields, as this flag
// can be changed in defineUiOrdering()
bool includeRemaining_originalState = uiOrdering.includeRemainingFields();
bool includeRemaining_originalState = uiOrdering.isIncludingRemainingFields();
this->defineUiOrdering(uiConfigName, uiOrdering);
if (uiOrdering.includeRemainingFields())
if (uiOrdering.isIncludingRemainingFields())
{
// Add the remaining Fields To UiConfig
std::vector<PdmFieldHandle*> fields;
@ -60,7 +60,7 @@ void PdmUiObjectHandle::uiOrdering(QString uiConfigName, PdmUiOrdering& uiOrderi
// Restore incoming value
uiOrdering.skipRemainingFields(!includeRemaining_originalState);
CAF_ASSERT(includeRemaining_originalState == uiOrdering.includeRemainingFields());
CAF_ASSERT(includeRemaining_originalState == uiOrdering.isIncludingRemainingFields());
}
//--------------------------------------------------------------------------------------------------

View File

@ -111,5 +111,29 @@ void PdmUiOrdering::add(const PdmObjectHandle* obj)
m_ordering.push_back(uiItem);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool PdmUiOrdering::isIncludingRemainingFields() const
{
return !m_skipRemainingFields;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void PdmUiOrdering::skipRemainingFields(bool doSkip /*= true*/)
{
m_skipRemainingFields = doSkip;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const std::vector<PdmUiItem*>& PdmUiOrdering::uiItems() const
{
return m_ordering;
}
} //End of namespace caf

View File

@ -63,20 +63,20 @@ public:
PdmUiGroup* addNewGroup(QString displayName);
/// HACK constness of this class and functions must be revisited
//void add(const PdmUiItem* item) { m_ordering.push_back(const_cast<PdmUiItem*>(item)); }
void add(const PdmFieldHandle* field);
void add(const PdmObjectHandle* obj);
bool includeRemainingFields() const { return !m_skipRemainingFields; }
void skipRemainingFields(bool val) { m_skipRemainingFields = val; }
void skipRemainingFields(bool doSkip = true);
const std::vector<PdmUiItem*>& uiItems() const { return m_ordering; }
// Pdm internal methods
const std::vector<PdmUiItem*>& uiItems() const;
bool contains(const PdmUiItem* item) const;
bool isIncludingRemainingFields() const;
private:
std::vector<PdmUiItem*> m_ordering; ///< The order of groups and fields
std::vector<PdmUiGroup*> m_createdGroups; ///< Owned PdmUiGroups, for mem management
std::vector<PdmUiItem*> m_ordering; ///< The order of groups and fields
std::vector<PdmUiGroup*> m_createdGroups; ///< Owned PdmUiGroups, for memory management only
bool m_skipRemainingFields;
};
@ -96,7 +96,7 @@ public:
/// Forcifully set the collapsed state of the group, overriding the previous user actions and the default
void setCollapsed(bool doCollapse) { m_hasForcedExpandedState = true; m_forcedCollapseState = doCollapse;}
// Internal use
// Pdm internal methods
bool isExpandedByDefault() const { return !m_isCollapsedByDefault;}
bool hasForcedExpandedState() const { return m_hasForcedExpandedState;}
bool forcedExpandedState() const { return !m_forcedCollapseState;}