mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#6572 Trigger update of plot when deleting a Summary Curve
This commit is contained in:
parent
5c4498db9f
commit
66ec3212c0
@ -48,7 +48,7 @@ CAF_PDM_SOURCE_INIT( RimSummaryCurveCollection, "RimSummaryCurveCollection" );
|
|||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimSummaryCurveCollection::RimSummaryCurveCollection()
|
RimSummaryCurveCollection::RimSummaryCurveCollection()
|
||||||
: curvesReordered( this )
|
: curvesChanged( this )
|
||||||
{
|
{
|
||||||
CAF_PDM_InitObject( "Summary Curves", ":/SummaryCurveFilter16x16.png", "", "" );
|
CAF_PDM_InitObject( "Summary Curves", ":/SummaryCurveFilter16x16.png", "", "" );
|
||||||
|
|
||||||
@ -476,7 +476,16 @@ void RimSummaryCurveCollection::defineEditorAttribute( const caf::PdmFieldHandle
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimSummaryCurveCollection::onCurvesReordered( const SignalEmitter* emitter )
|
void RimSummaryCurveCollection::onCurvesReordered( const SignalEmitter* emitter )
|
||||||
{
|
{
|
||||||
curvesReordered.send();
|
curvesChanged.send();
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimSummaryCurveCollection::onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
|
||||||
|
std::vector<caf::PdmObjectHandle*>& referringObjects )
|
||||||
|
{
|
||||||
|
curvesChanged.send();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -42,7 +42,7 @@ class RimSummaryCurveCollection : public caf::PdmObject
|
|||||||
CAF_PDM_HEADER_INIT;
|
CAF_PDM_HEADER_INIT;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::Signal<> curvesReordered;
|
caf::Signal<> curvesChanged;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RimSummaryCurveCollection();
|
RimSummaryCurveCollection();
|
||||||
@ -97,6 +97,8 @@ private:
|
|||||||
caf::PdmUiEditorAttribute* attribute ) override;
|
caf::PdmUiEditorAttribute* attribute ) override;
|
||||||
|
|
||||||
void onCurvesReordered( const SignalEmitter* emitter );
|
void onCurvesReordered( const SignalEmitter* emitter );
|
||||||
|
void onChildDeleted( caf::PdmChildArrayFieldHandle* childArray,
|
||||||
|
std::vector<caf::PdmObjectHandle*>& referringObjects ) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class RimSummaryCrossPlot;
|
friend class RimSummaryCrossPlot;
|
||||||
|
@ -153,7 +153,7 @@ RimSummaryPlot::RimSummaryPlot()
|
|||||||
CAF_PDM_InitFieldNoDefault( &m_summaryCurveCollection, "SummaryCurveCollection", "", "", "", "" );
|
CAF_PDM_InitFieldNoDefault( &m_summaryCurveCollection, "SummaryCurveCollection", "", "", "", "" );
|
||||||
m_summaryCurveCollection.uiCapability()->setUiTreeHidden( true );
|
m_summaryCurveCollection.uiCapability()->setUiTreeHidden( true );
|
||||||
m_summaryCurveCollection = new RimSummaryCurveCollection;
|
m_summaryCurveCollection = new RimSummaryCurveCollection;
|
||||||
m_summaryCurveCollection->curvesReordered.connect( this, &RimSummaryPlot::onCurvesReordered );
|
m_summaryCurveCollection->curvesChanged.connect( this, &RimSummaryPlot::onCurveCollectionChanged );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_ensembleCurveSetCollection, "EnsembleCurveSetCollection", "", "", "", "" );
|
CAF_PDM_InitFieldNoDefault( &m_ensembleCurveSetCollection, "EnsembleCurveSetCollection", "", "", "", "" );
|
||||||
m_ensembleCurveSetCollection.uiCapability()->setUiTreeHidden( true );
|
m_ensembleCurveSetCollection.uiCapability()->setUiTreeHidden( true );
|
||||||
@ -339,7 +339,7 @@ QString RimSummaryPlot::asciiDataForSummaryPlotExport( RiaQDateTimeTools::DateTi
|
|||||||
populateTimeHistoryCurvesData( m_gridTimeHistoryCurves.childObjects(), &timeHistoryCurvesData );
|
populateTimeHistoryCurvesData( m_gridTimeHistoryCurves.childObjects(), &timeHistoryCurvesData );
|
||||||
|
|
||||||
// Export observed data
|
// Export observed data
|
||||||
appendToExportData( out, {summaryCurvesObsData}, showTimeAsLongString );
|
appendToExportData( out, { summaryCurvesObsData }, showTimeAsLongString );
|
||||||
|
|
||||||
std::vector<CurvesData> exportData( 2 );
|
std::vector<CurvesData> exportData( 2 );
|
||||||
|
|
||||||
@ -358,7 +358,7 @@ QString RimSummaryPlot::asciiDataForSummaryPlotExport( RiaQDateTimeTools::DateTi
|
|||||||
CurvesData asciiCurvesData;
|
CurvesData asciiCurvesData;
|
||||||
populateAsciiDataCurvesData( m_asciiDataCurves.childObjects(), &asciiCurvesData );
|
populateAsciiDataCurvesData( m_asciiDataCurves.childObjects(), &asciiCurvesData );
|
||||||
|
|
||||||
appendToExportData( out, {asciiCurvesData}, showTimeAsLongString );
|
appendToExportData( out, { asciiCurvesData }, showTimeAsLongString );
|
||||||
}
|
}
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
@ -1234,7 +1234,7 @@ void RimSummaryPlot::removeCurve( RimSummaryCurve* curve )
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimSummaryPlot::deleteCurve( RimSummaryCurve* curve )
|
void RimSummaryPlot::deleteCurve( RimSummaryCurve* curve )
|
||||||
{
|
{
|
||||||
deleteCurves( {curve} );
|
deleteCurves( { curve } );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -1411,6 +1411,12 @@ void RimSummaryPlot::updateStackedCurveData()
|
|||||||
{
|
{
|
||||||
updateStackedCurveDataForAxis( RiaDefines::PlotAxis::PLOT_AXIS_LEFT );
|
updateStackedCurveDataForAxis( RiaDefines::PlotAxis::PLOT_AXIS_LEFT );
|
||||||
updateStackedCurveDataForAxis( RiaDefines::PlotAxis::PLOT_AXIS_RIGHT );
|
updateStackedCurveDataForAxis( RiaDefines::PlotAxis::PLOT_AXIS_RIGHT );
|
||||||
|
|
||||||
|
if ( m_plotWidget )
|
||||||
|
{
|
||||||
|
reattachAllCurves();
|
||||||
|
m_plotWidget->scheduleReplot();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -1471,10 +1477,6 @@ void RimSummaryPlot::updateStackedCurveDataForAxis( RiaDefines::PlotAxis plotAxi
|
|||||||
zPos -= 1.0;
|
zPos -= 1.0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( m_plotWidget )
|
|
||||||
{
|
|
||||||
m_plotWidget->scheduleReplot();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
@ -1625,7 +1627,7 @@ void RimSummaryPlot::updateZoomFromQwt()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
std::set<RimPlotAxisPropertiesInterface*> RimSummaryPlot::allPlotAxes() const
|
std::set<RimPlotAxisPropertiesInterface*> RimSummaryPlot::allPlotAxes() const
|
||||||
{
|
{
|
||||||
return {m_timeAxisProperties, m_bottomAxisProperties, m_leftYAxisProperties, m_rightYAxisProperties};
|
return { m_timeAxisProperties, m_bottomAxisProperties, m_leftYAxisProperties, m_rightYAxisProperties };
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -2134,7 +2136,7 @@ void RimSummaryPlot::handleKeyPressEvent( QKeyEvent* keyEvent )
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimSummaryPlot::onCurvesReordered( const SignalEmitter* emitter )
|
void RimSummaryPlot::onCurveCollectionChanged( const SignalEmitter* emitter )
|
||||||
{
|
{
|
||||||
updateStackedCurveData();
|
updateStackedCurveData();
|
||||||
}
|
}
|
||||||
@ -2257,13 +2259,13 @@ void populateTimeHistoryCurvesData( std::vector<RimGridTimeHistoryCurve*> curves
|
|||||||
if ( curveCaseName == curvesData->caseNames[i] ) casePosInList = i;
|
if ( curveCaseName == curvesData->caseNames[i] ) casePosInList = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
CurveData curveData = {curve->curveExportDescription(), RifEclipseSummaryAddress(), curve->yValues()};
|
CurveData curveData = { curve->curveExportDescription(), RifEclipseSummaryAddress(), curve->yValues() };
|
||||||
|
|
||||||
if ( casePosInList == cvf::UNDEFINED_SIZE_T )
|
if ( casePosInList == cvf::UNDEFINED_SIZE_T )
|
||||||
{
|
{
|
||||||
curvesData->caseNames.push_back( curveCaseName );
|
curvesData->caseNames.push_back( curveCaseName );
|
||||||
curvesData->timeSteps.push_back( curve->timeStepValues() );
|
curvesData->timeSteps.push_back( curve->timeStepValues() );
|
||||||
curvesData->allCurveData.push_back( std::vector<CurveData>( {curveData} ) );
|
curvesData->allCurveData.push_back( std::vector<CurveData>( { curveData } ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2289,13 +2291,13 @@ void populateAsciiDataCurvesData( std::vector<RimAsciiDataCurve*> curves, Curves
|
|||||||
|
|
||||||
size_t casePosInList = cvf::UNDEFINED_SIZE_T;
|
size_t casePosInList = cvf::UNDEFINED_SIZE_T;
|
||||||
|
|
||||||
CurveData curveData = {curve->curveExportDescription(), RifEclipseSummaryAddress(), curve->yValues()};
|
CurveData curveData = { curve->curveExportDescription(), RifEclipseSummaryAddress(), curve->yValues() };
|
||||||
|
|
||||||
if ( casePosInList == cvf::UNDEFINED_SIZE_T )
|
if ( casePosInList == cvf::UNDEFINED_SIZE_T )
|
||||||
{
|
{
|
||||||
curvesData->caseNames.push_back( "" );
|
curvesData->caseNames.push_back( "" );
|
||||||
curvesData->timeSteps.push_back( curve->timeSteps() );
|
curvesData->timeSteps.push_back( curve->timeSteps() );
|
||||||
curvesData->allCurveData.push_back( std::vector<CurveData>( {curveData} ) );
|
curvesData->allCurveData.push_back( std::vector<CurveData>( { curveData } ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2332,7 +2334,7 @@ void populateSummaryCurvesData( std::vector<RimSummaryCurve*> curves, SummaryCur
|
|||||||
if ( curveCaseName == curvesData->caseNames[i] ) casePosInList = i;
|
if ( curveCaseName == curvesData->caseNames[i] ) casePosInList = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
CurveData curveData = {curve->curveExportDescription(), curve->summaryAddressY(), curve->valuesY()};
|
CurveData curveData = { curve->curveExportDescription(), curve->summaryAddressY(), curve->valuesY() };
|
||||||
CurveData errorCurveData;
|
CurveData errorCurveData;
|
||||||
|
|
||||||
// Error data
|
// Error data
|
||||||
@ -2353,7 +2355,7 @@ void populateSummaryCurvesData( std::vector<RimSummaryCurve*> curves, SummaryCur
|
|||||||
// 1. Case is not referenced before, or
|
// 1. Case is not referenced before, or
|
||||||
// 2. We have calculated data, and it we cannot assume identical time axis
|
// 2. We have calculated data, and it we cannot assume identical time axis
|
||||||
|
|
||||||
auto curveDataList = std::vector<CurveData>( {curveData} );
|
auto curveDataList = std::vector<CurveData>( { curveData } );
|
||||||
if ( hasErrorData ) curveDataList.push_back( errorCurveData );
|
if ( hasErrorData ) curveDataList.push_back( errorCurveData );
|
||||||
|
|
||||||
curvesData->caseNames.push_back( curveCaseName );
|
curvesData->caseNames.push_back( curveCaseName );
|
||||||
|
@ -192,7 +192,7 @@ private:
|
|||||||
|
|
||||||
void handleKeyPressEvent( QKeyEvent* keyEvent ) override;
|
void handleKeyPressEvent( QKeyEvent* keyEvent ) override;
|
||||||
|
|
||||||
void onCurvesReordered( const SignalEmitter* emitter );
|
void onCurveCollectionChanged( const SignalEmitter* emitter );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Overridden PDM methods
|
// Overridden PDM methods
|
||||||
|
Loading…
Reference in New Issue
Block a user