mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Memory Management : Adjustment and fixes
Add release of several static singleton objects Fix several minor memory leaks
This commit is contained in:
@@ -189,8 +189,6 @@ RiaGuiApplication::RiaGuiApplication( int& argc, char** argv )
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiaGuiApplication::~RiaGuiApplication()
|
||||
{
|
||||
deleteMainPlotWindow();
|
||||
deleteMainWindow();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -925,7 +923,7 @@ RiuMainWindow* RiaGuiApplication::getOrCreateAndShowMainWindow()
|
||||
m_mainWindow->loadWinGeoAndDockToolBarLayout();
|
||||
}
|
||||
|
||||
return m_mainWindow;
|
||||
return m_mainWindow.get();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -933,7 +931,7 @@ RiuMainWindow* RiaGuiApplication::getOrCreateAndShowMainWindow()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuMainWindow* RiaGuiApplication::mainWindow()
|
||||
{
|
||||
return m_mainWindow;
|
||||
return m_mainWindow.get();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -947,7 +945,7 @@ RiuPlotMainWindow* RiaGuiApplication::getOrCreateMainPlotWindow()
|
||||
m_mainPlotWindow->initializeGuiNewProjectLoaded();
|
||||
loadAndUpdatePlotData();
|
||||
}
|
||||
return m_mainPlotWindow;
|
||||
return m_mainPlotWindow.get();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -962,7 +960,7 @@ void RiaGuiApplication::createMainWindow()
|
||||
caf::CmdExecCommandManager::instance()->enableUndoCommandSystem( true );
|
||||
}
|
||||
|
||||
m_mainWindow = new RiuMainWindow;
|
||||
m_mainWindow = std::make_unique<RiuMainWindow>();
|
||||
QString platform = cvf::System::is64Bit() ? "(64bit)" : "(32bit)";
|
||||
m_mainWindow->setWindowTitle( "ResInsight " + platform );
|
||||
m_mainWindow->setDefaultWindowSize();
|
||||
@@ -972,18 +970,6 @@ void RiaGuiApplication::createMainWindow()
|
||||
m_mainWindow->showWindow();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiaGuiApplication::deleteMainWindow()
|
||||
{
|
||||
if ( m_mainWindow )
|
||||
{
|
||||
delete m_mainWindow;
|
||||
m_mainWindow = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -996,26 +982,13 @@ void RiaGuiApplication::createMainPlotWindow()
|
||||
caf::CmdExecCommandManager::instance()->enableUndoCommandSystem( true );
|
||||
}
|
||||
|
||||
m_mainPlotWindow = new RiuPlotMainWindow;
|
||||
m_mainPlotWindow = std::make_unique<RiuPlotMainWindow>();
|
||||
m_mainPlotWindow->setWindowTitle( "Plots - ResInsight" );
|
||||
m_mainPlotWindow->setDefaultWindowSize();
|
||||
m_mainPlotWindow->loadWinGeoAndDockToolBarLayout();
|
||||
m_mainPlotWindow->hideAllDockWidgets();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiaGuiApplication::deleteMainPlotWindow()
|
||||
{
|
||||
if ( m_mainPlotWindow )
|
||||
{
|
||||
m_mainPlotWindow->setParent( nullptr );
|
||||
delete m_mainPlotWindow;
|
||||
m_mainPlotWindow = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -1052,7 +1025,7 @@ RiuPlotMainWindow* RiaGuiApplication::getOrCreateAndShowMainPlotWindow()
|
||||
m_mainPlotWindow->restoreDockWidgetVisibilities();
|
||||
}
|
||||
|
||||
return m_mainPlotWindow;
|
||||
return m_mainPlotWindow.get();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -1060,7 +1033,7 @@ RiuPlotMainWindow* RiaGuiApplication::getOrCreateAndShowMainPlotWindow()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuPlotMainWindow* RiaGuiApplication::mainPlotWindow()
|
||||
{
|
||||
return m_mainPlotWindow;
|
||||
return m_mainPlotWindow.get();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -1069,9 +1042,9 @@ RiuPlotMainWindow* RiaGuiApplication::mainPlotWindow()
|
||||
RiuMainWindowBase* RiaGuiApplication::mainWindowByID( int mainWindowID )
|
||||
{
|
||||
if ( mainWindowID == 0 )
|
||||
return m_mainWindow;
|
||||
return m_mainWindow.get();
|
||||
else if ( mainWindowID == 1 )
|
||||
return m_mainPlotWindow;
|
||||
return m_mainPlotWindow.get();
|
||||
else
|
||||
return nullptr;
|
||||
}
|
||||
@@ -1478,7 +1451,7 @@ void RiaGuiApplication::applyGuiPreferences( const RiaPreferences*
|
||||
}
|
||||
|
||||
QMessageBox::StandardButton reply;
|
||||
reply = QMessageBox::question( m_mainWindow,
|
||||
reply = QMessageBox::question( m_mainWindow.get(),
|
||||
QString( "Apply %1 to Existing Views or Plots?" ).arg( listString ),
|
||||
QString( "You have changed default %1 and have existing views or plots with "
|
||||
"different settings.\n" )
|
||||
|
||||
@@ -155,9 +155,7 @@ private:
|
||||
void setWindowCaptionFromAppState();
|
||||
|
||||
void createMainWindow();
|
||||
void deleteMainWindow();
|
||||
void createMainPlotWindow();
|
||||
void deleteMainPlotWindow();
|
||||
|
||||
void storeTreeViewState();
|
||||
|
||||
@@ -168,8 +166,8 @@ private slots:
|
||||
void onLastWindowClosed();
|
||||
|
||||
private:
|
||||
QPointer<RiuMainWindow> m_mainWindow;
|
||||
QPointer<RiuPlotMainWindow> m_mainPlotWindow;
|
||||
std::unique_ptr<RiuMainWindow> m_mainWindow;
|
||||
std::unique_ptr<RiuPlotMainWindow> m_mainPlotWindow;
|
||||
|
||||
std::unique_ptr<RiuRecentFileActionProvider> m_recentFileActionProvider;
|
||||
|
||||
|
||||
@@ -69,6 +69,8 @@ const QString reportFileName = "ResInsightRegressionTestReport.html";
|
||||
const QString commandFileFilter = "commandfile-*";
|
||||
}; // namespace RegTestNames
|
||||
|
||||
RiaRegressionTestRunner* RiaRegressionTestRunner::sm_singleton = nullptr;
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -95,8 +97,25 @@ RiaRegressionTestRunner::RiaRegressionTestRunner()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiaRegressionTestRunner* RiaRegressionTestRunner::instance()
|
||||
{
|
||||
static RiaRegressionTestRunner* singleton = new RiaRegressionTestRunner;
|
||||
return singleton;
|
||||
CAF_ASSERT( sm_singleton );
|
||||
return sm_singleton;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiaRegressionTestRunner::createSingleton()
|
||||
{
|
||||
if ( !sm_singleton ) sm_singleton = new RiaRegressionTestRunner;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiaRegressionTestRunner::deleteSingleton()
|
||||
{
|
||||
if ( sm_singleton ) delete sm_singleton;
|
||||
sm_singleton = nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -34,6 +34,9 @@ class RiaRegressionTestRunner
|
||||
public:
|
||||
static RiaRegressionTestRunner* instance();
|
||||
|
||||
static void createSingleton();
|
||||
static void deleteSingleton();
|
||||
|
||||
void executeRegressionTests( const QString& regressionTestPath, const QStringList& testFilter );
|
||||
void executeRegressionTests();
|
||||
|
||||
@@ -73,4 +76,6 @@ private:
|
||||
bool m_appendAllTestsAfterLastItemInFilter;
|
||||
bool m_runningRegressionTests;
|
||||
RiaRegressionTest m_regressionTestSettings;
|
||||
|
||||
static RiaRegressionTestRunner* sm_singleton;
|
||||
};
|
||||
|
||||
@@ -70,7 +70,7 @@ void RicEditSummaryCurveCalculationFeature::onActionTriggered( bool isChecked )
|
||||
}
|
||||
}
|
||||
|
||||
RicSummaryCurveCalculatorDialog* dialog = RicShowSummaryCurveCalculatorFeature::curveCalculatorDialog();
|
||||
RicSummaryCurveCalculatorDialog* dialog = RicShowSummaryCurveCalculatorFeature::curveCalculatorDialog( true );
|
||||
dialog->setCalculationAndUpdateUi( calculation );
|
||||
dialog->show();
|
||||
dialog->raise();
|
||||
|
||||
@@ -50,7 +50,7 @@ RicEditSummaryPlotFeature::RicEditSummaryPlotFeature()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicEditSummaryPlotFeature::closeDialogAndResetTargetPlot()
|
||||
{
|
||||
auto dialog = RicEditSummaryPlotFeature::curveCreatorDialog();
|
||||
auto dialog = RicEditSummaryPlotFeature::curveCreatorDialog( false );
|
||||
|
||||
if ( dialog )
|
||||
{
|
||||
@@ -65,13 +65,13 @@ void RicEditSummaryPlotFeature::closeDialogAndResetTargetPlot()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RicSummaryPlotEditorDialog* RicEditSummaryPlotFeature::curveCreatorDialog()
|
||||
RicSummaryPlotEditorDialog* RicEditSummaryPlotFeature::curveCreatorDialog( bool createIfNotPresent )
|
||||
{
|
||||
RiuPlotMainWindow* mainPlotWindow = RiaGuiApplication::instance()->mainPlotWindow();
|
||||
|
||||
if ( mainPlotWindow )
|
||||
{
|
||||
return mainPlotWindow->summaryCurveCreatorDialog();
|
||||
return mainPlotWindow->summaryCurveCreatorDialog( createIfNotPresent );
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
@@ -82,7 +82,7 @@ RicSummaryPlotEditorDialog* RicEditSummaryPlotFeature::curveCreatorDialog()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicEditSummaryPlotFeature::editSummaryPlot( RimSummaryPlot* plot )
|
||||
{
|
||||
auto dialog = RicEditSummaryPlotFeature::curveCreatorDialog();
|
||||
auto dialog = RicEditSummaryPlotFeature::curveCreatorDialog( true );
|
||||
|
||||
if ( !dialog->isVisible() )
|
||||
{
|
||||
|
||||
@@ -34,7 +34,7 @@ class RicEditSummaryPlotFeature : public caf::CmdFeature
|
||||
public:
|
||||
void closeDialogAndResetTargetPlot();
|
||||
|
||||
static RicSummaryPlotEditorDialog* curveCreatorDialog();
|
||||
static RicSummaryPlotEditorDialog* curveCreatorDialog( bool createIfNotPresent );
|
||||
static void editSummaryPlot( RimSummaryPlot* plot );
|
||||
|
||||
protected:
|
||||
|
||||
@@ -123,7 +123,7 @@ void RicNewSummaryPlotFeature::onActionTriggered( bool isChecked )
|
||||
}
|
||||
}
|
||||
|
||||
auto dialog = RicEditSummaryPlotFeature::curveCreatorDialog();
|
||||
auto dialog = RicEditSummaryPlotFeature::curveCreatorDialog( true );
|
||||
|
||||
if ( !dialog->isVisible() )
|
||||
{
|
||||
|
||||
@@ -34,13 +34,13 @@ CAF_CMD_SOURCE_INIT( RicShowSummaryCurveCalculatorFeature, "RicShowSummaryCurveC
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RicSummaryCurveCalculatorDialog* RicShowSummaryCurveCalculatorFeature::curveCalculatorDialog()
|
||||
RicSummaryCurveCalculatorDialog* RicShowSummaryCurveCalculatorFeature::curveCalculatorDialog( bool createIfNotPresent )
|
||||
{
|
||||
RiuPlotMainWindow* mainPlotWindow = RiaGuiApplication::instance()->mainPlotWindow();
|
||||
|
||||
if ( mainPlotWindow )
|
||||
{
|
||||
return mainPlotWindow->summaryCurveCalculatorDialog();
|
||||
return mainPlotWindow->summaryCurveCalculatorDialog( createIfNotPresent );
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
@@ -51,9 +51,8 @@ RicSummaryCurveCalculatorDialog* RicShowSummaryCurveCalculatorFeature::curveCalc
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicShowSummaryCurveCalculatorFeature::hideCurveCalculatorDialog()
|
||||
{
|
||||
auto dialog = RicShowSummaryCurveCalculatorFeature::curveCalculatorDialog();
|
||||
|
||||
dialog->hide();
|
||||
auto dialog = RicShowSummaryCurveCalculatorFeature::curveCalculatorDialog( false );
|
||||
if ( dialog ) dialog->hide();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -74,7 +73,7 @@ bool RicShowSummaryCurveCalculatorFeature::isCommandEnabled()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicShowSummaryCurveCalculatorFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
RicSummaryCurveCalculatorDialog* dialog = RicShowSummaryCurveCalculatorFeature::curveCalculatorDialog();
|
||||
RicSummaryCurveCalculatorDialog* dialog = RicShowSummaryCurveCalculatorFeature::curveCalculatorDialog( true );
|
||||
|
||||
RimProject* proj = RimProject::current();
|
||||
RimSummaryCalculationCollection* calcColl = proj->calculationCollection();
|
||||
|
||||
@@ -30,7 +30,7 @@ class RicShowSummaryCurveCalculatorFeature : public caf::CmdFeature
|
||||
CAF_CMD_HEADER_INIT;
|
||||
|
||||
public:
|
||||
static RicSummaryCurveCalculatorDialog* curveCalculatorDialog();
|
||||
static RicSummaryCurveCalculatorDialog* curveCalculatorDialog( bool createIfNotPresent );
|
||||
static void hideCurveCalculatorDialog();
|
||||
|
||||
protected:
|
||||
|
||||
@@ -55,6 +55,7 @@ RicSummaryPlotEditorDialog::RicSummaryPlotEditorDialog( QWidget* parent )
|
||||
RicSummaryPlotEditorDialog::~RicSummaryPlotEditorDialog()
|
||||
{
|
||||
m_curveCreatorSplitterUi->setPdmObject( nullptr );
|
||||
delete m_curveCreatorSplitterUi;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -119,7 +119,7 @@ RiuMainWindow::RiuMainWindow()
|
||||
, m_windowMenu( nullptr )
|
||||
, m_holoLensToolBar( nullptr )
|
||||
{
|
||||
m_mdiArea = new RiuMdiArea;
|
||||
m_mdiArea = new RiuMdiArea( this );
|
||||
connect( m_mdiArea, SIGNAL( subWindowActivated( QMdiSubWindow* ) ), SLOT( slotSubWindowActivated( QMdiSubWindow* ) ) );
|
||||
setCentralWidget( m_mdiArea );
|
||||
|
||||
|
||||
@@ -73,6 +73,19 @@ RiuMainWindowBase::RiuMainWindowBase()
|
||||
connect( m_redoAction, SIGNAL( triggered() ), SLOT( slotRedo() ) );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuMainWindowBase::~RiuMainWindowBase()
|
||||
{
|
||||
for ( auto v : m_projectTreeViews )
|
||||
{
|
||||
delete v;
|
||||
}
|
||||
|
||||
m_projectTreeViews.clear();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -47,7 +47,8 @@ class RiuMainWindowBase : public QMainWindow
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
RiuMainWindowBase();
|
||||
RiuMainWindowBase();
|
||||
~RiuMainWindowBase();
|
||||
|
||||
virtual QString mainWindowName() = 0;
|
||||
|
||||
|
||||
@@ -20,6 +20,22 @@
|
||||
#include "RiuMainWindow.h"
|
||||
#include "RiuMdiSubWindow.h"
|
||||
#include "RiuPlotMainWindow.h"
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuMdiArea::RiuMdiArea( QWidget* parent /*= nullptr*/ )
|
||||
: QMdiArea( parent )
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiuMdiArea::~RiuMdiArea()
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -29,6 +29,9 @@ class RiuMdiArea : public QMdiArea
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
RiuMdiArea( QWidget* parent = nullptr );
|
||||
~RiuMdiArea();
|
||||
|
||||
std::list<QMdiSubWindow*> subWindowListSortedByPosition();
|
||||
|
||||
protected:
|
||||
|
||||
@@ -77,7 +77,7 @@ RiuPlotMainWindow::RiuPlotMainWindow()
|
||||
: m_activePlotViewWindow( nullptr )
|
||||
, m_windowMenu( nullptr )
|
||||
{
|
||||
m_mdiArea = new RiuMdiArea;
|
||||
m_mdiArea = new RiuMdiArea( this );
|
||||
connect( m_mdiArea, SIGNAL( subWindowActivated( QMdiSubWindow* ) ), SLOT( slotSubWindowActivated( QMdiSubWindow* ) ) );
|
||||
setCentralWidget( m_mdiArea );
|
||||
|
||||
@@ -417,13 +417,13 @@ void RiuPlotMainWindow::createToolBars()
|
||||
}
|
||||
}
|
||||
|
||||
m_wellLogPlotToolBarEditor = new caf::PdmUiToolBarEditor( "Well Log Plot", this );
|
||||
m_wellLogPlotToolBarEditor = std::make_unique<caf::PdmUiToolBarEditor>( "Well Log Plot", this );
|
||||
m_wellLogPlotToolBarEditor->hide();
|
||||
|
||||
m_summaryPlotToolBarEditor = new caf::PdmUiToolBarEditor( "Summary Plot", this );
|
||||
m_summaryPlotToolBarEditor = std::make_unique<caf::PdmUiToolBarEditor>( "Summary Plot", this );
|
||||
m_summaryPlotToolBarEditor->hide();
|
||||
|
||||
m_multiPlotToolBarEditor = new caf::PdmUiToolBarEditor( "Multi Plot", this );
|
||||
m_multiPlotToolBarEditor = std::make_unique<caf::PdmUiToolBarEditor>( "Multi Plot", this );
|
||||
m_multiPlotToolBarEditor->hide();
|
||||
|
||||
if ( RiaPreferences::current()->useUndoRedo() )
|
||||
@@ -516,8 +516,8 @@ void RiuPlotMainWindow::createDockPanels()
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::plotMainWindowPropertyEditorName() );
|
||||
dockWidget->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
|
||||
|
||||
m_pdmUiPropertyView = new caf::PdmUiPropertyView( dockWidget );
|
||||
dockWidget->setWidget( m_pdmUiPropertyView );
|
||||
m_pdmUiPropertyView = std::make_unique<caf::PdmUiPropertyView>( dockWidget );
|
||||
dockWidget->setWidget( m_pdmUiPropertyView.get() );
|
||||
|
||||
addDockWidget( Qt::LeftDockWidgetArea, dockWidget );
|
||||
}
|
||||
@@ -535,14 +535,14 @@ void RiuPlotMainWindow::createDockPanels()
|
||||
QDockWidget* dockWidget = new QDockWidget( "Plot Manager", this );
|
||||
dockWidget->setObjectName( RiuDockWidgetTools::summaryPlotManagerName() );
|
||||
|
||||
m_summaryPlotManagerView = new caf::PdmUiPropertyView( dockWidget );
|
||||
m_summaryPlotManagerView = std::make_unique<caf::PdmUiPropertyView>( dockWidget );
|
||||
|
||||
auto plotManager = std::make_unique<RimSummaryPlotManager>();
|
||||
m_summaryPlotManagerView->showProperties( plotManager.get() );
|
||||
m_summaryPlotManagerView->installEventFilter( plotManager.get() );
|
||||
m_summaryPlotManager = std::move( plotManager );
|
||||
|
||||
dockWidget->setWidget( m_summaryPlotManagerView );
|
||||
dockWidget->setWidget( m_summaryPlotManagerView.get() );
|
||||
addDockWidget( Qt::BottomDockWidgetArea, dockWidget );
|
||||
dockWidget->hide();
|
||||
}
|
||||
@@ -750,27 +750,27 @@ void RiuPlotMainWindow::setFocusToLineEditInSummaryToolBar()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RicSummaryPlotEditorDialog* RiuPlotMainWindow::summaryCurveCreatorDialog()
|
||||
RicSummaryPlotEditorDialog* RiuPlotMainWindow::summaryCurveCreatorDialog( bool createIfNotPresent )
|
||||
{
|
||||
if ( m_summaryCurveCreatorDialog.isNull() )
|
||||
if ( !m_summaryCurveCreatorDialog && createIfNotPresent )
|
||||
{
|
||||
m_summaryCurveCreatorDialog = new RicSummaryPlotEditorDialog( this );
|
||||
m_summaryCurveCreatorDialog = std::make_unique<RicSummaryPlotEditorDialog>( this );
|
||||
}
|
||||
|
||||
return m_summaryCurveCreatorDialog;
|
||||
return m_summaryCurveCreatorDialog.get();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RicSummaryCurveCalculatorDialog* RiuPlotMainWindow::summaryCurveCalculatorDialog()
|
||||
RicSummaryCurveCalculatorDialog* RiuPlotMainWindow::summaryCurveCalculatorDialog( bool createIfNotPresent )
|
||||
{
|
||||
if ( m_summaryCurveCalculatorDialog.isNull() )
|
||||
if ( !m_summaryCurveCalculatorDialog && createIfNotPresent )
|
||||
{
|
||||
m_summaryCurveCalculatorDialog = new RicSummaryCurveCalculatorDialog( this );
|
||||
m_summaryCurveCalculatorDialog = std::make_unique<RicSummaryCurveCalculatorDialog>( this );
|
||||
}
|
||||
|
||||
return m_summaryCurveCalculatorDialog;
|
||||
return m_summaryCurveCalculatorDialog.get();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -88,8 +88,8 @@ public:
|
||||
void updateSummaryPlotToolBar( bool forceUpdateUi = false );
|
||||
void setFocusToLineEditInSummaryToolBar();
|
||||
|
||||
RicSummaryPlotEditorDialog* summaryCurveCreatorDialog();
|
||||
RicSummaryCurveCalculatorDialog* summaryCurveCalculatorDialog();
|
||||
RicSummaryPlotEditorDialog* summaryCurveCreatorDialog( bool createIfNotPresent );
|
||||
RicSummaryCurveCalculatorDialog* summaryCurveCalculatorDialog( bool createIfNotPresent );
|
||||
|
||||
RiuMessagePanel* messagePanel();
|
||||
|
||||
@@ -132,16 +132,16 @@ private:
|
||||
|
||||
QMenu* m_windowMenu;
|
||||
|
||||
caf::PdmUiToolBarEditor* m_wellLogPlotToolBarEditor;
|
||||
caf::PdmUiToolBarEditor* m_multiPlotToolBarEditor;
|
||||
caf::PdmUiToolBarEditor* m_summaryPlotToolBarEditor;
|
||||
std::unique_ptr<caf::PdmUiToolBarEditor> m_wellLogPlotToolBarEditor;
|
||||
std::unique_ptr<caf::PdmUiToolBarEditor> m_multiPlotToolBarEditor;
|
||||
std::unique_ptr<caf::PdmUiToolBarEditor> m_summaryPlotToolBarEditor;
|
||||
|
||||
caf::PdmUiPropertyView* m_pdmUiPropertyView;
|
||||
caf::PdmUiPropertyView* m_summaryPlotManagerView;
|
||||
std::unique_ptr<caf::PdmUiPropertyView> m_pdmUiPropertyView;
|
||||
std::unique_ptr<caf::PdmUiPropertyView> m_summaryPlotManagerView;
|
||||
|
||||
QPointer<RicSummaryPlotEditorDialog> m_summaryCurveCreatorDialog;
|
||||
QPointer<RicSummaryCurveCalculatorDialog> m_summaryCurveCalculatorDialog;
|
||||
std::unique_ptr<caf::PdmObject> m_summaryPlotManager;
|
||||
std::unique_ptr<RicSummaryPlotEditorDialog> m_summaryCurveCreatorDialog;
|
||||
std::unique_ptr<RicSummaryCurveCalculatorDialog> m_summaryCurveCalculatorDialog;
|
||||
std::unique_ptr<caf::PdmObject> m_summaryPlotManager;
|
||||
|
||||
std::vector<QWidget*> m_temporaryWidgets;
|
||||
};
|
||||
|
||||
@@ -71,7 +71,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~SummaryIdentifierAndField() { delete m_pdmField; }
|
||||
virtual ~SummaryIdentifierAndField();
|
||||
|
||||
RifEclipseSummaryAddress::SummaryIdentifierType summaryIdentifier() const { return m_summaryIdentifier; }
|
||||
caf::PdmField<std::vector<QString>>* pdmField() { return m_pdmField; }
|
||||
@@ -81,6 +81,14 @@ private:
|
||||
caf::PdmField<std::vector<QString>>* m_pdmField;
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
SummaryIdentifierAndField::~SummaryIdentifierAndField()
|
||||
{
|
||||
delete m_pdmField;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -303,7 +311,7 @@ RiuSummaryVectorSelectionUi::~RiuSummaryVectorSelectionUi()
|
||||
{
|
||||
for ( const auto& identifierAndField : identifierAndFieldList.second )
|
||||
{
|
||||
delete identifierAndField->pdmField();
|
||||
delete identifierAndField;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user