mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Fwk: separate uiTreeHidden and uiHidden properties for PdmUiItem.
This commit is contained in:
parent
8c7ff445b6
commit
0db0cbe8ac
@ -56,6 +56,7 @@ PdmUiItemInfo::PdmUiItemInfo( const QString& uiName,
|
|||||||
, m_extraDebugText( extraDebugText )
|
, m_extraDebugText( extraDebugText )
|
||||||
, m_editorTypeName( "" )
|
, m_editorTypeName( "" )
|
||||||
, m_isHidden( false )
|
, m_isHidden( false )
|
||||||
|
, m_isTreeHidden( false )
|
||||||
, m_isTreeChildrenHidden( false )
|
, m_isTreeChildrenHidden( false )
|
||||||
, m_isReadOnly( false )
|
, m_isReadOnly( false )
|
||||||
, m_labelAlignment( LEFT )
|
, m_labelAlignment( LEFT )
|
||||||
@ -78,6 +79,7 @@ PdmUiItemInfo::PdmUiItemInfo( const QString& uiName,
|
|||||||
, m_extraDebugText( extraDebugText )
|
, m_extraDebugText( extraDebugText )
|
||||||
, m_editorTypeName( "" )
|
, m_editorTypeName( "" )
|
||||||
, m_isHidden( false )
|
, m_isHidden( false )
|
||||||
|
, m_isTreeHidden( false )
|
||||||
, m_isTreeChildrenHidden( false )
|
, m_isTreeChildrenHidden( false )
|
||||||
, m_isReadOnly( false )
|
, m_isReadOnly( false )
|
||||||
, m_labelAlignment( LEFT )
|
, m_labelAlignment( LEFT )
|
||||||
@ -409,17 +411,23 @@ void PdmUiItem::setUiHidden( bool isHidden, const QString& uiConfigName /*= ""*/
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool PdmUiItem::isUiTreeHidden( const QString& uiConfigName ) const
|
bool PdmUiItem::isUiTreeHidden( const QString& uiConfigName ) const
|
||||||
{
|
{
|
||||||
// TODO: Must be separated from uiHidden when childField object embedding is implemented
|
const PdmUiItemInfo* conInfo = configInfo( uiConfigName );
|
||||||
|
const PdmUiItemInfo* defInfo = defaultInfo();
|
||||||
|
const PdmUiItemInfo* sttInfo = m_staticItemInfo;
|
||||||
|
|
||||||
return isUiHidden( uiConfigName );
|
if ( conInfo && !( conInfo->m_isTreeHidden == -1 ) ) return conInfo->m_isTreeHidden;
|
||||||
|
if ( defInfo && !( defInfo->m_isTreeHidden == -1 ) ) return defInfo->m_isTreeHidden;
|
||||||
|
if ( sttInfo && !( sttInfo->m_isTreeHidden == -1 ) ) return sttInfo->m_isTreeHidden;
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void PdmUiItem::setUiTreeHidden( bool isHidden, const QString& uiConfigName /*= ""*/ )
|
void PdmUiItem::setUiTreeHidden( bool isTreeHidden, const QString& uiConfigName /*= ""*/ )
|
||||||
{
|
{
|
||||||
m_configItemInfos[uiConfigName].m_isHidden = isHidden;
|
m_configItemInfos[uiConfigName].m_isTreeHidden = isTreeHidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -66,6 +66,7 @@ public:
|
|||||||
PdmUiItemInfo()
|
PdmUiItemInfo()
|
||||||
: m_editorTypeName( "" )
|
: m_editorTypeName( "" )
|
||||||
, m_isHidden( -1 )
|
, m_isHidden( -1 )
|
||||||
|
, m_isTreeHidden( -1 )
|
||||||
, m_isTreeChildrenHidden( -1 )
|
, m_isTreeChildrenHidden( -1 )
|
||||||
, m_isReadOnly( -1 )
|
, m_isReadOnly( -1 )
|
||||||
, m_labelAlignment( LEFT )
|
, m_labelAlignment( LEFT )
|
||||||
@ -99,6 +100,7 @@ private:
|
|||||||
QString m_editorTypeName; ///< Use this exact type of editor to edit this UiItem
|
QString m_editorTypeName; ///< Use this exact type of editor to edit this UiItem
|
||||||
QString m_3dEditorTypeName; ///< If set, use this editor type to edit this UiItem in 3D
|
QString m_3dEditorTypeName; ///< If set, use this editor type to edit this UiItem in 3D
|
||||||
int m_isHidden; ///< UiItem should be hidden. -1 means not set
|
int m_isHidden; ///< UiItem should be hidden. -1 means not set
|
||||||
|
int m_isTreeHidden; ///< UiItem should be hidden in tree. -1 means not set
|
||||||
int m_isTreeChildrenHidden; ///< Children of UiItem should be hidden. -1 means not set
|
int m_isTreeChildrenHidden; ///< Children of UiItem should be hidden. -1 means not set
|
||||||
int m_isReadOnly; ///< UiItem should be insensitive, or read only. -1 means not set.
|
int m_isReadOnly; ///< UiItem should be insensitive, or read only. -1 means not set.
|
||||||
LabelPosType m_labelAlignment;
|
LabelPosType m_labelAlignment;
|
||||||
@ -267,7 +269,7 @@ public:
|
|||||||
void setUiHidden( bool isHidden, const QString& uiConfigName = "" );
|
void setUiHidden( bool isHidden, const QString& uiConfigName = "" );
|
||||||
|
|
||||||
bool isUiTreeHidden( const QString& uiConfigName = "" ) const;
|
bool isUiTreeHidden( const QString& uiConfigName = "" ) const;
|
||||||
void setUiTreeHidden( bool isHidden, const QString& uiConfigName = "" );
|
void setUiTreeHidden( bool isTreeHidden, const QString& uiConfigName = "" );
|
||||||
|
|
||||||
bool isUiTreeChildrenHidden( const QString& uiConfigName = "" ) const;
|
bool isUiTreeChildrenHidden( const QString& uiConfigName = "" ) const;
|
||||||
void setUiTreeChildrenHidden( bool isTreeChildrenHidden, const QString& uiConfigName = "" );
|
void setUiTreeChildrenHidden( bool isTreeChildrenHidden, const QString& uiConfigName = "" );
|
||||||
|
@ -94,7 +94,7 @@ PdmUiTreeOrdering* PdmUiObjectHandle::uiTreeOrdering( const QString& uiConfigNam
|
|||||||
|
|
||||||
PdmUiTreeOrdering* uiTreeOrdering = new PdmUiTreeOrdering( nullptr, m_owner );
|
PdmUiTreeOrdering* uiTreeOrdering = new PdmUiTreeOrdering( nullptr, m_owner );
|
||||||
|
|
||||||
expandUiTree( uiTreeOrdering, uiConfigName );
|
if ( !m_owner->uiCapability()->isUiTreeHidden() ) expandUiTree( uiTreeOrdering, uiConfigName );
|
||||||
|
|
||||||
return uiTreeOrdering;
|
return uiTreeOrdering;
|
||||||
}
|
}
|
||||||
@ -120,7 +120,8 @@ void PdmUiObjectHandle::addDefaultUiTreeChildren( PdmUiTreeOrdering* uiTreeOrder
|
|||||||
{
|
{
|
||||||
if ( fields[fIdx]->hasChildObjects() && !uiTreeOrdering->containsField( fields[fIdx] ) )
|
if ( fields[fIdx]->hasChildObjects() && !uiTreeOrdering->containsField( fields[fIdx] ) )
|
||||||
{
|
{
|
||||||
if ( fields[fIdx]->uiCapability()->isUiHidden() && !fields[fIdx]->uiCapability()->isUiTreeChildrenHidden() )
|
if ( fields[fIdx]->uiCapability()->isUiTreeHidden() &&
|
||||||
|
!fields[fIdx]->uiCapability()->isUiTreeChildrenHidden() )
|
||||||
{
|
{
|
||||||
std::vector<PdmObjectHandle*> children;
|
std::vector<PdmObjectHandle*> children;
|
||||||
fields[fIdx]->childObjects( &children );
|
fields[fIdx]->childObjects( &children );
|
||||||
@ -128,7 +129,8 @@ void PdmUiObjectHandle::addDefaultUiTreeChildren( PdmUiTreeOrdering* uiTreeOrder
|
|||||||
std::set<PdmObjectHandle*> objectsAddedByApplication;
|
std::set<PdmObjectHandle*> objectsAddedByApplication;
|
||||||
for ( int i = 0; i < uiTreeOrdering->childCount(); i++ )
|
for ( int i = 0; i < uiTreeOrdering->childCount(); i++ )
|
||||||
{
|
{
|
||||||
if ( uiTreeOrdering->child( i )->isRepresentingObject() )
|
if ( uiTreeOrdering->child( i )->isRepresentingObject() &&
|
||||||
|
!uiTreeOrdering->child( i )->object()->uiCapability()->isUiTreeHidden() )
|
||||||
{
|
{
|
||||||
objectsAddedByApplication.insert( uiTreeOrdering->child( i )->object() );
|
objectsAddedByApplication.insert( uiTreeOrdering->child( i )->object() );
|
||||||
}
|
}
|
||||||
@ -146,14 +148,14 @@ void PdmUiObjectHandle::addDefaultUiTreeChildren( PdmUiTreeOrdering* uiTreeOrder
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !isAlreadyAdded )
|
if ( !isAlreadyAdded && !children[cIdx]->uiCapability()->isUiTreeHidden() )
|
||||||
{
|
{
|
||||||
uiTreeOrdering->add( children[cIdx] );
|
uiTreeOrdering->add( children[cIdx] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( !fields[fIdx]->uiCapability()->isUiHidden() )
|
else if ( !fields[fIdx]->uiCapability()->isUiTreeHidden() )
|
||||||
{
|
{
|
||||||
uiTreeOrdering->add( fields[fIdx] );
|
uiTreeOrdering->add( fields[fIdx] );
|
||||||
}
|
}
|
||||||
@ -177,7 +179,7 @@ void PdmUiObjectHandle::expandUiTree( PdmUiTreeOrdering* root, const QString& ui
|
|||||||
for ( int cIdx = 0; cIdx < root->childCount(); ++cIdx )
|
for ( int cIdx = 0; cIdx < root->childCount(); ++cIdx )
|
||||||
{
|
{
|
||||||
PdmUiTreeOrdering* child = root->child( cIdx );
|
PdmUiTreeOrdering* child = root->child( cIdx );
|
||||||
if ( child->isValid() && !child->ignoreSubTree() )
|
if ( child->isValid() && !child->ignoreSubTree() && !child->activeItem()->isUiTreeHidden( uiConfigName ) )
|
||||||
{
|
{
|
||||||
expandUiTree( child, uiConfigName );
|
expandUiTree( child, uiConfigName );
|
||||||
}
|
}
|
||||||
@ -187,20 +189,21 @@ void PdmUiObjectHandle::expandUiTree( PdmUiTreeOrdering* root, const QString& ui
|
|||||||
{
|
{
|
||||||
if ( !root->ignoreSubTree() )
|
if ( !root->ignoreSubTree() )
|
||||||
{
|
{
|
||||||
if ( root->isRepresentingField() && !root->field()->uiCapability()->isUiTreeChildrenHidden( uiConfigName ) )
|
if ( root->isRepresentingField() && !root->field()->uiCapability()->isUiTreeHidden( uiConfigName ) &&
|
||||||
|
!root->field()->uiCapability()->isUiTreeChildrenHidden( uiConfigName ) )
|
||||||
{
|
{
|
||||||
std::vector<PdmObjectHandle*> fieldsChildObjects;
|
std::vector<PdmObjectHandle*> fieldsChildObjects;
|
||||||
root->field()->childObjects( &fieldsChildObjects );
|
root->field()->childObjects( &fieldsChildObjects );
|
||||||
for ( size_t cIdx = 0; cIdx < fieldsChildObjects.size(); ++cIdx )
|
for ( size_t cIdx = 0; cIdx < fieldsChildObjects.size(); ++cIdx )
|
||||||
{
|
{
|
||||||
PdmObjectHandle* childObject = fieldsChildObjects[cIdx];
|
PdmObjectHandle* childObject = fieldsChildObjects[cIdx];
|
||||||
if ( childObject )
|
if ( childObject && !childObject->uiCapability()->isUiTreeHidden() )
|
||||||
{
|
{
|
||||||
root->appendChild( uiObj( childObject )->uiTreeOrdering( uiConfigName ) );
|
root->appendChild( uiObj( childObject )->uiTreeOrdering( uiConfigName ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( root->isRepresentingObject() &&
|
else if ( root->isRepresentingObject() && !root->object()->uiCapability()->isUiTreeHidden( uiConfigName ) &&
|
||||||
!root->object()->uiCapability()->isUiTreeChildrenHidden( uiConfigName ) )
|
!root->object()->uiCapability()->isUiTreeChildrenHidden( uiConfigName ) )
|
||||||
{
|
{
|
||||||
uiObj( root->object() )->defineUiTreeOrdering( *root, uiConfigName );
|
uiObj( root->object() )->defineUiTreeOrdering( *root, uiConfigName );
|
||||||
|
@ -63,7 +63,7 @@ void PdmUiTreeOrdering::add( PdmFieldHandle* field, QString uiConfigName )
|
|||||||
|
|
||||||
for ( PdmObjectHandle* objHandle : children )
|
for ( PdmObjectHandle* objHandle : children )
|
||||||
{
|
{
|
||||||
this->add( objHandle );
|
if ( !objHandle->uiCapability()->isUiTreeHidden() ) this->add( objHandle );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user