Use unique id for all 3d and plot dock widgets.

This commit is contained in:
Jon Jenssen authored and JJ committed 2026-06-17 13:55:32 +02:00
1 parent ba5308881b
commit 3b43dac7d4
4 files changed
+43 -12

No files matched your search

@@ -43,8 +43,6 @@
CAF_PDM_XML_ABSTRACT_SOURCE_INIT( RimViewWindow, "ViewWindow" ); // Do not use. Abstract class
size_t RimViewWindow::m_nextDockWindowId = 0;
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -60,7 +58,7 @@ RimViewWindow::RimViewWindow()
CAF_PDM_InitField( &m_showWindow, "ShowWindow", true, "Show Window" );
m_showWindow.uiCapability()->setUiHidden( true );
CAF_PDM_InitField( &m_dockWindowId, "DockWindowId", m_nextDockWindowId++, "Dock Window Id" );
CAF_PDM_InitField( &m_dockWindowId, "DockWindowId", QString(), "Dock Window Id" );
m_dockWindowId.uiCapability()->setUiHidden( true );
}
@@ -299,9 +297,13 @@ void RimViewWindow::updateWindowTitle()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimViewWindow::dockWindowName() const
QString RimViewWindow::dockWindowName()
{
return QString( "%1_%2" ).arg( RiuDockWidgetTools::viewWindowPrefix() ).arg( m_dockWindowId() );
if ( m_dockWindowId().isEmpty() )
{
m_dockWindowId = RiuDockWidgetTools::uniqueIdForDockWidget();
}
return m_dockWindowId();
}
//--------------------------------------------------------------------------------------------------
@@ -73,7 +73,7 @@ public:
virtual void updateWindowTitle();
QString dockWindowName() const;
QString dockWindowName();
protected:
//// Interface for the Window controller
@@ -107,10 +107,8 @@ private:
protected:
caf::PdmChildField<RimDockWindowController*> m_windowController;
caf::PdmField<bool> m_showWindow;
ads::CDockWidget* m_dockWidget;
caf::PdmField<size_t> m_dockWindowId;
bool m_isActiveViewer;
static size_t m_nextDockWindowId;
caf::PdmField<bool> m_showWindow;
ads::CDockWidget* m_dockWidget;
caf::PdmField<QString> m_dockWindowId;
bool m_isActiveViewer;
};