Work in progress

This commit is contained in:
Jon Jenssen authored and JJ committed 2026-06-17 13:55:32 +02:00
1 parent 6adb5cb881
commit 122cb01592
12 files changed
+64 -41

No files matched your search

@@ -1673,14 +1673,6 @@ void Rim3dView::disablePerspectiveProjectionField()
RiaFieldHandleTools::disableWriteAndSetFieldHidden( &isPerspectiveView );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void Rim3dView::handleMdiWindowClosed()
{
RimViewWindow::handleMdiWindowClosed();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -317,8 +317,6 @@ private:
caf::PdmObjectHandle* implementingPdmObject() override;
void handleMdiWindowClosed() override;
// Pure private methods
void createHighlightAndGridBoxDisplayModel();
@@ -67,7 +67,7 @@ void RimDockWindowController::removeWindowFromDock()
RiuMainWindowBase* mainWin = getMainWindow();
if ( mainWin && viewWidget() && viewPdmObject() )
{
viewPdmObject()->deleteDockViewer();
viewPdmObject()->deleteDockWidget();
viewPdmObject()->deleteViewWidget();
mainWin->removeViewer( viewWidget() );
@@ -126,6 +126,7 @@ void RimDockWindowController::updateViewerWidget()
ads::CDockWidget* dockWidget = viewPdmObject()->createDockWidget();
QWidget* viewWidget = viewPdmObject()->createViewWidget( dockWidget );
dockWidget->setWidget( viewWidget );
dockWidget->setObjectName( viewPdmObject()->dockWindowName() );
mainWindow->initializeViewer( dockWidget, viewWidget );
viewPdmObject()->updateViewWidgetAfterCreation();
@@ -137,7 +138,7 @@ void RimDockWindowController::updateViewerWidget()
{
if ( viewWidget() )
{
viewPdmObject()->deleteDockViewer();
viewPdmObject()->deleteDockWidget();
mainWindow->removeViewer( viewWidget() );
viewPdmObject()->deleteViewWidget();
@@ -42,12 +42,15 @@
CAF_PDM_XML_ABSTRACT_SOURCE_INIT( RimViewWindow, "ViewWindow" ); // Do not use. Abstract class
size_t RimViewWindow::m_nextDockWindowId = 0;
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimViewWindow::RimViewWindow()
: m_dockWidget( nullptr )
, m_windowController( nullptr )
, m_dockWindowId( m_nextDockWindowId++ )
{
CAF_PDM_InitScriptableObjectWithNameAndComment( "View window", "", "", "", "ViewWindow", "The Base Class for all Views and Plots in ResInsight" );
@@ -124,20 +127,12 @@ QString RimViewWindow::windowTitle()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimViewWindow::deleteDockViewer()
void RimViewWindow::deleteDockWidget()
{
m_dockWidget->deleteDockWidget();
m_dockWidget = nullptr;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimViewWindow::handleMdiWindowClosed()
{
if ( m_windowController != nullptr ) m_windowController->handleViewerDeletion();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -257,9 +252,18 @@ void RimViewWindow::updateWindowTitle()
{
viewWidget()->setWindowTitle( windowTitle() );
dockWidget()->setWindowTitle( windowTitle() );
dockWidget()->setIcon( QIcon( ":/ActiveWindow.svg" ) );
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimViewWindow::dockWindowName() const
{
return QString( "DockViewWindow_%1" ).arg( m_dockWindowId );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -273,13 +277,6 @@ void RimViewWindow::dockInWindow( int mainWindowID )
m_windowController->setMainWindowId( mainWindowID );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimViewWindow::initAfterRead()
{
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -48,7 +48,6 @@ public:
bool isMainDockedWindow() const;
void loadDataAndUpdate();
void handleMdiWindowClosed();
void updateDockWindowVisibility();
void removeWindowFromDock();
@@ -68,6 +67,8 @@ public:
virtual void updateWindowTitle();
QString dockWindowName() const;
protected:
///////// Interface for the Window controller
friend class RimDockWindowController;
@@ -79,7 +80,7 @@ protected:
virtual void onLoadDataAndUpdate() = 0;
virtual void onViewNavigationChanged();
virtual bool isWindowVisible() const; // Virtual To allow special visibility control
void deleteDockViewer();
void deleteDockWidget();
//////////
// Derived classes are not supposed to override this function. The intention is to always use m_showWindow
@@ -87,7 +88,6 @@ protected:
// can be controlled from the project tree using check box toggles
caf::PdmFieldHandle* objectToggleField() final;
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
void initAfterRead() override;
void defineObjectEditorAttribute( QString uiConfigName, caf::PdmUiEditorAttribute* attribute ) override;
@@ -101,4 +101,7 @@ protected:
caf::PdmField<bool> m_showWindow;
RimDockWindowController* m_windowController;
ads::CDockWidget* m_dockWidget;
size_t m_dockWindowId;
static size_t m_nextDockWindowId;
};