Refactor delete operations for pdm objects.

This commit is contained in:
Kristian Bendiksen
2020-05-18 16:02:27 +02:00
committed by Magne Sjaastad
parent 80ee1256e7
commit c366e85682
90 changed files with 474 additions and 438 deletions

View File

@@ -53,6 +53,8 @@ RimAsciiDataCurve::RimAsciiDataCurve()
m_symbolSkipPixelDistance = 10.0f;
m_curveThickness = 2;
setDeletable( true );
}
//--------------------------------------------------------------------------------------------------

View File

@@ -91,6 +91,8 @@ RimDerivedEnsembleCaseCollection::RimDerivedEnsembleCaseCollection()
setNameAsReadOnly();
setName( "Delta Ensemble" );
setDeletable( true );
}
//--------------------------------------------------------------------------------------------------

View File

@@ -63,6 +63,8 @@ RimEnsembleCurveFilter::RimEnsembleCurveFilter()
m_deleteButton = false;
m_deleteButton.uiCapability()->setUiEditorTypeName( caf::PdmUiPushButtonEditor::uiEditorTypeName() );
m_deleteButton.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
setDeletable( true );
}
//--------------------------------------------------------------------------------------------------

View File

@@ -20,6 +20,7 @@
#include "RimEnsembleCurveFilter.h"
#include "RimEnsembleCurveSet.h"
#include "RimSummaryPlot.h"
#include <cafPdmUiPushButtonEditor.h>
#include <cafPdmUiTableViewEditor.h>
@@ -241,6 +242,17 @@ caf::PdmFieldHandle* RimEnsembleCurveFilterCollection::objectToggleField()
return &m_active;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimEnsembleCurveFilterCollection::onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
std::vector<caf::PdmObjectHandle*>& referringObjects )
{
RimSummaryPlot* plot = nullptr;
firstAncestorOrThisOfType( plot );
if ( plot ) plot->loadDataAndUpdate();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -53,6 +53,9 @@ private:
caf::PdmFieldHandle* objectToggleField() override;
void onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
std::vector<caf::PdmObjectHandle*>& referringObjects ) override;
private:
caf::PdmField<bool> m_active;
caf::PdmChildArrayField<RimEnsembleCurveFilter*> m_filters;

View File

@@ -165,6 +165,8 @@ RimEnsembleCurveSet::RimEnsembleCurveSet()
m_yValuesSummaryFilter_OBSOLETE.uiCapability()->setUiHidden( true );
m_yValuesSummaryFilter_OBSOLETE.xmlCapability()->setIOWritable( false );
m_yValuesSummaryFilter_OBSOLETE = new RimSummaryFilter_OBSOLETE;
setDeletable( true );
}
//--------------------------------------------------------------------------------------------------

View File

@@ -337,3 +337,14 @@ caf::PdmFieldHandle* RimEnsembleCurveSetCollection::objectToggleField()
{
return &m_showCurves;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimEnsembleCurveSetCollection::onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
std::vector<caf::PdmObjectHandle*>& referringObjects )
{
RimSummaryPlot* plot = nullptr;
this->firstAncestorOrThisOfType( plot );
if ( plot ) plot->updateConnectedEditors();
}

View File

@@ -66,6 +66,9 @@ public:
std::vector<RimEnsembleCurveSet*> curveSetsForSourceStepping() const;
RimSummaryPlotSourceStepping* sourceSteppingObject() const;
void onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
std::vector<caf::PdmObjectHandle*>& referringObjects ) override;
private:
caf::PdmFieldHandle* objectToggleField() override;

View File

@@ -138,6 +138,8 @@ RimSummaryCurve::RimSummaryCurve()
m_xValuesSummaryFilter_OBSOLETE.uiCapability()->setUiHidden( true );
m_xValuesSummaryFilter_OBSOLETE.xmlCapability()->setIOWritable( false );
m_xValuesSummaryFilter_OBSOLETE = new RimSummaryFilter_OBSOLETE;
setDeletable( true );
}
//--------------------------------------------------------------------------------------------------

View File

@@ -2049,6 +2049,16 @@ size_t RimSummaryPlot::curveCount() const
return m_summaryCurveCollection->curves().size() + m_gridTimeHistoryCurves.size() + m_asciiDataCurves.size();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimSummaryPlot::isDeletable() const
{
RimMultiPlot* plotWindow = nullptr;
firstAncestorOrThisOfType( plotWindow );
return plotWindow == nullptr;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -181,6 +181,8 @@ public:
void deleteViewWidget() override;
void initAfterRead() override;
bool isDeletable() const override;
private:
RiuQwtPlotWidget* doCreatePlotViewWidget( QWidget* mainWindowParent = nullptr ) override;

View File

@@ -18,6 +18,9 @@
#include "RimSummaryPlotCollection.h"
#include "RiaGuiApplication.h"
#include "RiuPlotMainWindow.h"
#include "RimProject.h"
#include "RimSummaryPlot.h"
@@ -103,3 +106,14 @@ void RimSummaryPlotCollection::removeSummaryPlot( RimSummaryPlot* summaryPlot )
{
summaryPlots.removeChildObject( summaryPlot );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryPlotCollection::onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
std::vector<caf::PdmObjectHandle*>& referringObjects )
{
updateSummaryNameHasChanged();
RiuPlotMainWindow* mainPlotWindow = RiaGuiApplication::instance()->mainPlotWindow();
mainPlotWindow->updateSummaryPlotToolBar();
}

View File

@@ -46,4 +46,7 @@ public:
void summaryPlotItemInfos( QList<caf::PdmOptionItemInfo>* optionInfos ) const;
void removeSummaryPlot( RimSummaryPlot* summaryPlot );
void onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
std::vector<caf::PdmObjectHandle*>& referringObjects ) override;
};