#7672 AppFwk : Reroute update of UI node in TreeView

This commit is contained in:
Magne Sjaastad 2021-05-10 13:57:44 +02:00
parent 082d6500ad
commit e04c761752
2 changed files with 23 additions and 3 deletions

View File

@ -274,8 +274,22 @@ void PdmUiTreeViewEditor::updateMySubTree( PdmUiItem* uiItem )
{
if ( m_treeViewModel )
{
m_treeViewModel->updateSubTree( uiItem );
QModelIndex index = m_treeViewModel->findModelIndex( uiItem );
PdmUiItem* itemToUpdate = uiItem;
PdmUiObjectHandle* uiObjectHandle = dynamic_cast<PdmUiObjectHandle*>( uiItem );
if ( uiObjectHandle )
{
PdmUiTreeViewEditorAttribute editorAttributes;
QString uiConfigName;
uiObjectHandle->objectEditorAttribute( uiConfigName, &editorAttributes );
if ( editorAttributes.objectForUpdateOfUiTree )
{
itemToUpdate = editorAttributes.objectForUpdateOfUiTree->uiCapability();
}
}
m_treeViewModel->updateSubTree( itemToUpdate );
QModelIndex index = m_treeViewModel->findModelIndex( itemToUpdate );
updateItemDelegateForSubTree( index );
}
}

View File

@ -169,13 +169,19 @@ private:
class PdmUiTreeViewEditorAttribute : public PdmUiEditorAttribute
{
public:
PdmUiTreeViewEditorAttribute() { currentObject = nullptr; }
PdmUiTreeViewEditorAttribute()
: currentObject( nullptr )
, objectForUpdateOfUiTree( nullptr )
{
}
public:
QStringList columnHeaders;
/// This object is set as current item in the tree view in configureAndUpdateUi()
caf::PdmObjectHandle* currentObject;
caf::PdmObjectHandle* objectForUpdateOfUiTree;
};
//--------------------------------------------------------------------------------------------------