mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
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:
@@ -379,8 +379,18 @@ void Rim3dView::updateMdiWindowTitle()
|
||||
{
|
||||
if ( m_viewer )
|
||||
{
|
||||
m_viewer->layoutWidget()->setWindowTitle(
|
||||
autoName() + ( isMasterView() ? " (Primary)" : viewController() ? " (Controlled)" : "" ) );
|
||||
auto title = autoName();
|
||||
|
||||
if ( isMasterView() && assosiatedViewLinker() && assosiatedViewLinker()->isActive() )
|
||||
{
|
||||
title += " (Primary)";
|
||||
}
|
||||
else if ( viewController() && viewController()->isActive() )
|
||||
{
|
||||
title += " (Controlled)";
|
||||
}
|
||||
|
||||
m_viewer->layoutWidget()->setWindowTitle( title );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -178,6 +178,7 @@ public:
|
||||
Rim3dView* activeComparisonView() const;
|
||||
void setComparisonView( Rim3dView* compView );
|
||||
std::set<Rim3dView*> viewsUsingThisAsComparisonView();
|
||||
void updateMdiWindowTitle() override;
|
||||
|
||||
protected:
|
||||
static void removeModelByName( cvf::Scene* scene, const cvf::String& modelName );
|
||||
@@ -263,7 +264,6 @@ private:
|
||||
void setId( int id );
|
||||
void assignIdIfNecessary() final;
|
||||
|
||||
void updateMdiWindowTitle() override;
|
||||
void deleteViewWidget() override;
|
||||
QWidget* viewWidget() override;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "RimEclipseContourMapViewCollection.h"
|
||||
|
||||
#include "RimCase.h"
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RimEclipseContourMapView.h"
|
||||
|
||||
CAF_PDM_SOURCE_INIT( RimEclipseContourMapViewCollection, "Eclipse2dViewCollection" );
|
||||
@@ -38,3 +38,14 @@ void RimEclipseContourMapViewCollection::push_back( RimEclipseContourMapView* co
|
||||
{
|
||||
m_contourMapViews.push_back( contourMap );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEclipseContourMapViewCollection::onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
|
||||
std::vector<caf::PdmObjectHandle*>& referringObjects )
|
||||
{
|
||||
RimEclipseCase* eclipseCase = nullptr;
|
||||
this->firstAncestorOrThisOfType( eclipseCase );
|
||||
if ( eclipseCase ) eclipseCase->updateConnectedEditors();
|
||||
}
|
||||
|
||||
@@ -35,6 +35,9 @@ public:
|
||||
std::vector<RimEclipseContourMapView*> views();
|
||||
void push_back( RimEclipseContourMapView* contourMap );
|
||||
|
||||
void onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
|
||||
std::vector<caf::PdmObjectHandle*>& referringObjects ) override;
|
||||
|
||||
private:
|
||||
caf::PdmChildArrayField<RimEclipseContourMapView*> m_contourMapViews;
|
||||
};
|
||||
|
||||
@@ -172,6 +172,8 @@ void RimViewController::fieldChangedByUi( const caf::PdmFieldHandle* changedFiel
|
||||
updateCameraLink();
|
||||
updateDisplayNameAndIcon();
|
||||
updateTimeStepLink();
|
||||
|
||||
if ( m_managedView ) m_managedView->updateMdiWindowTitle();
|
||||
}
|
||||
else if ( changedField == &m_syncCamera )
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -67,6 +67,7 @@ public:
|
||||
RimGridView* firstControlledView();
|
||||
|
||||
void updateOverrides();
|
||||
void updateWindowTitles();
|
||||
|
||||
void updateCamera( RimGridView* sourceView );
|
||||
void updateTimeStep( RimGridView* sourceView, int timeStep );
|
||||
@@ -103,6 +104,8 @@ protected:
|
||||
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
|
||||
|
||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||
void onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
|
||||
std::vector<caf::PdmObjectHandle*>& referringObjects ) override;
|
||||
|
||||
private:
|
||||
static QString displayNameForView( RimGridView* view );
|
||||
|
||||
@@ -80,6 +80,7 @@ void RimViewLinkerCollection::fieldChangedByUi( const caf::PdmFieldHandle* chang
|
||||
}
|
||||
|
||||
viewLinker()->updateDependentViews();
|
||||
viewLinker()->updateWindowTitles();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -84,6 +84,8 @@ public:
|
||||
|
||||
void viewNavigationChanged();
|
||||
|
||||
virtual void updateMdiWindowTitle();
|
||||
|
||||
protected:
|
||||
void removeMdiWindowFromMdiArea();
|
||||
|
||||
@@ -93,7 +95,6 @@ protected:
|
||||
QString windowTitle();
|
||||
virtual QWidget* createViewWidget( QWidget* mainWindowParent = nullptr ) = 0;
|
||||
virtual void updateViewWidgetAfterCreation(){};
|
||||
virtual void updateMdiWindowTitle(); // Has real default implementation
|
||||
virtual void deleteViewWidget() = 0;
|
||||
virtual void onLoadDataAndUpdate() = 0;
|
||||
virtual void onViewNavigationChanged();
|
||||
|
||||
Reference in New Issue
Block a user