Work in progress

This commit is contained in:
jonjenssen authored and JJ committed 2026-06-17 13:55:32 +02:00
1 parent a28340063f
commit fee0599139
4 files changed
+40 -5

No files matched your search

@@ -156,9 +156,10 @@ void RimDockWindowController::updateViewerWidget()
{
if ( !viewWidget() )
{
ads::CDockWidget* viewWindow = mainWindow->createDockViewWindow();
QWidget* viewWidget = viewPdmObject()->createViewWidget( viewWindow );
mainWindow->initializeViewer( viewWindow, viewWidget, windowGeometry() );
ads::CDockWidget* dockWidget = viewPdmObject()->createDockWidget();
QWidget* viewWidget = viewPdmObject()->createViewWidget( dockWidget );
dockWidget->setWidget( viewWidget );
mainWindow->initializeViewer( dockWidget, viewWidget, windowGeometry() );
viewPdmObject()->updateViewWidgetAfterCreation();
}
@@ -32,6 +32,8 @@
#include "cafPdmUiTreeAttributes.h"
#include "cafPdmUiTreeViewEditor.h"
#include "DockWidget.h"
#include <QDebug>
#include <QImage>
#include <QPixmap>
@@ -43,6 +45,7 @@ CAF_PDM_XML_ABSTRACT_SOURCE_INIT( RimViewWindow, "ViewWindow" ); // Do not use.
///
//--------------------------------------------------------------------------------------------------
RimViewWindow::RimViewWindow()
: m_dockWidget( nullptr )
{
CAF_PDM_InitScriptableObjectWithNameAndComment( "View window", "", "", "", "ViewWindow", "The Base Class for all Views and Plots in ResInsight" );
@@ -280,9 +283,10 @@ void RimViewWindow::fieldChangedByUi( const caf::PdmFieldHandle* changedField, c
//--------------------------------------------------------------------------------------------------
void RimViewWindow::updateMdiWindowTitle()
{
if ( viewWidget() )
if ( viewWidget() && dockWidget() )
{
viewWidget()->setWindowTitle( windowTitle() );
dockWidget()->setWindowTitle( windowTitle() );
}
}
@@ -347,3 +351,23 @@ void RimViewWindow::defineObjectEditorAttribute( QString uiConfigName, caf::PdmU
treeItemAttribute->tags.push_back( std::move( tag ) );
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
ads::CDockWidget* RimViewWindow::dockWidget()
{
return m_dockWidget;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
ads::CDockWidget* RimViewWindow::createDockWidget()
{
if ( !m_dockWidget )
{
m_dockWidget = new ads::CDockWidget( windowTitle() );
}
return m_dockWidget;
}
@@ -29,6 +29,11 @@
class RimDockWindowController;
namespace ads
{
class CDockWidget;
} // namespace ads
struct RimMdiWindowGeometry
{
RimMdiWindowGeometry()
@@ -79,6 +84,9 @@ public:
virtual QWidget* viewWidget() = 0;
ads::CDockWidget* dockWidget();
ads::CDockWidget* createDockWidget();
virtual QImage snapshotWindowContent();
virtual void zoomAll() = 0;
@@ -119,6 +127,7 @@ private:
protected:
caf::PdmField<bool> m_showWindow;
caf::PdmChildField<RimDockWindowController*> m_windowController;
ads::CDockWidget* m_dockWidget;
private:
// Obsoleted field