mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-26 23:20:29 -05:00
#13241 Avoid input focus change when grid cross plot regression curve is updated
This commit is contained in:
1 parent
d7fe226114
commit
f2d41691a1
3 files changed
+37
-14
No files matched your search
@@ -358,6 +358,40 @@ void RimGridCrossPlotDataSet::detachAllCurves()
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Minimal update of regression curves without updateConnectedEditors that causes change of input focus
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimGridCrossPlotDataSet::updateRegressionCurves()
|
||||
{
|
||||
if ( !m_case() ) return;
|
||||
|
||||
RimEclipseCase* eclipseCase = dynamic_cast<RimEclipseCase*>( m_case.value() );
|
||||
if ( !eclipseCase ) return;
|
||||
|
||||
std::map<int, cvf::UByteArray> timeStepCellVisibilityMap = calculateCellVisibility( eclipseCase );
|
||||
RigEclipseCrossPlotResult result = RigEclipseCrossPlotDataExtractor::extract( eclipseCase->eclipseCaseData(),
|
||||
m_timeStep(),
|
||||
*m_xAxisProperty,
|
||||
*m_yAxisProperty,
|
||||
m_grouping(),
|
||||
*m_groupingProperty,
|
||||
timeStepCellVisibilityMap );
|
||||
|
||||
if ( m_crossPlotRegressionCurves.size() != m_groupedResults.size() )
|
||||
{
|
||||
destroyRegressionCurves();
|
||||
}
|
||||
|
||||
if ( m_crossPlotRegressionCurves.empty() )
|
||||
{
|
||||
createRegressionCurves( result );
|
||||
}
|
||||
else
|
||||
{
|
||||
fillCurveDataInExistingRegressionCurves( result );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -1609,17 +1643,6 @@ void RimGridCrossPlotDataSet::curveAppearanceChanged( const caf::SignalEmitter*
|
||||
triggerPlotNameUpdateAndReplot();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimGridCrossPlotDataSet::onChildrenUpdated( caf::PdmChildArrayFieldHandle* childArray, std::vector<caf::PdmObjectHandle*>& updatedObjects )
|
||||
{
|
||||
if ( childArray == &m_crossPlotRegressionCurves )
|
||||
{
|
||||
triggerPlotNameUpdateAndReplot();
|
||||
}
|
||||
}
|
||||
|
||||
CAF_PDM_SOURCE_INIT( RimGridCrossPlotDataSetNameConfig, "RimGridCrossPlotCurveSetNameConfig" );
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
Reference in new issue
Block a user