Maintenance october

* Hide contour plot collection when empty
* Update the project tree when a linked view is removed
* Make sure the window title is in sync with link state
* Do not use link state to find window tile ordering
This commit is contained in:
Magne Sjaastad
2022-10-31 10:41:50 +01:00
committed by GitHub
parent ed8fa08b13
commit 9b61ebcac2
11 changed files with 95 additions and 48 deletions

View File

@@ -56,25 +56,24 @@ CAF_PDM_SOURCE_INIT( RimViewLinker, "ViewLinker" );
//--------------------------------------------------------------------------------------------------
RimViewLinker::RimViewLinker()
{
// clang-format off
CAF_PDM_InitObject("Linked Views");
CAF_PDM_InitObject( "Linked Views" );
CAF_PDM_InitField(&m_name, "Name", QString("View Group Name"), "View Group Name");
m_name.uiCapability()->setUiHidden(true);
CAF_PDM_InitField( &m_name, "Name", QString( "View Group Name" ), "View Group Name" );
m_name.uiCapability()->setUiHidden( true );
CAF_PDM_InitFieldNoDefault(&m_masterView, "MainView", "Main View");
m_masterView.uiCapability()->setUiTreeChildrenHidden(true);
m_masterView.uiCapability()->setUiTreeHidden(true);
m_masterView.uiCapability()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault( &m_masterView, "MainView", "Main View" );
m_masterView.uiCapability()->setUiTreeChildrenHidden( true );
m_masterView.uiCapability()->setUiTreeHidden( true );
m_masterView.uiCapability()->setUiHidden( true );
CAF_PDM_InitFieldNoDefault(&m_viewControllers, "ManagedViews", "Managed Views");
m_viewControllers.uiCapability()->setUiTreeHidden(true);
m_viewControllers.uiCapability()->setUiTreeChildrenHidden(true);
CAF_PDM_InitFieldNoDefault( &m_viewControllers, "ManagedViews", "Managed Views" );
m_viewControllers.uiCapability()->setUiTreeHidden( true );
m_viewControllers.uiCapability()->setUiTreeChildrenHidden( true );
CAF_PDM_InitFieldNoDefault(&m_comparisonView, "LinkedComparisonView", "Comparison View");
CAF_PDM_InitFieldNoDefault( &m_comparisonView, "LinkedComparisonView", "Comparison View" );
m_comparisonView.xmlCapability()->disableIO();
// clang-format on
setDeletable( true );
}
//--------------------------------------------------------------------------------------------------
@@ -234,6 +233,22 @@ void RimViewLinker::updateOverrides()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimViewLinker::updateWindowTitles()
{
if ( m_masterView ) m_masterView->updateMdiWindowTitle();
for ( RimViewController* viewLink : m_viewControllers )
{
if ( auto view = viewLink->managedView() )
{
view->updateMdiWindowTitle();
}
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -511,6 +526,17 @@ void RimViewLinker::notifyManagedViewChange( RimGridView* oldManagedView, RimGri
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimViewLinker::onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
std::vector<caf::PdmObjectHandle*>& referringObjects )
{
RimViewLinkerCollection* viewLinkerCollection = nullptr;
this->firstAncestorOrThisOfType( viewLinkerCollection );
if ( viewLinkerCollection ) viewLinkerCollection->updateConnectedEditors();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------