diff --git a/ApplicationLibCode/Commands/GridCrossPlotCommands/RicCreateGridCrossPlotFeature.cpp b/ApplicationLibCode/Commands/GridCrossPlotCommands/RicCreateGridCrossPlotFeature.cpp index d504673a58..6164d3894e 100644 --- a/ApplicationLibCode/Commands/GridCrossPlotCommands/RicCreateGridCrossPlotFeature.cpp +++ b/ApplicationLibCode/Commands/GridCrossPlotCommands/RicCreateGridCrossPlotFeature.cpp @@ -68,8 +68,12 @@ void RicCreateGridCrossPlotFeature::onActionTriggered( bool isChecked ) } else { - // Triggered from context menu: get the selected view - // TODO: get the filter from somewhere + caf::PdmObject* selectedObject = dynamic_cast( caf::SelectionManager::instance()->selectedItem() ); + if ( !selectedObject ) return; + + RimGridView* cellFilterView = nullptr; + selectedObject->firstAncestorOrThisOfType( cellFilterView ); + if ( cellFilterView ) dataSet->setCellFilterView( cellFilterView ); } plot->loadDataAndUpdate(); diff --git a/ApplicationLibCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp b/ApplicationLibCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp index 9d08a5b10c..063c11398b 100644 --- a/ApplicationLibCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp +++ b/ApplicationLibCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp @@ -165,18 +165,29 @@ void RimGridCrossPlotDataSet::setCellFilterView( RimGridView* cellFilterView ) RigEclipseResultAddress resAddr = eclipseView->cellResult()->eclipseResultAddress(); if ( resAddr.isValid() ) { + m_grouping = NO_GROUPING; + + RimEclipseCase* eclipseCase = eclipseView->eclipseCase(); + if ( eclipseCase ) + { + m_case = eclipseCase; + m_xAxisProperty->setEclipseCase( eclipseCase ); + m_yAxisProperty->setEclipseCase( eclipseCase ); + m_groupingProperty->setEclipseCase( eclipseCase ); + + if ( eclipseCase->activeFormationNames() ) + { + m_grouping = GROUP_BY_FORMATION; + m_groupingProperty->legendConfig()->setColorLegend( + RimRegularLegendConfig::mapToColorLegend( RimRegularLegendConfig::ColorRangesType::CATEGORY ) ); + } + } + m_xAxisProperty->setResultType( resAddr.resultCatType() ); m_xAxisProperty->setResultVariable( resAddr.resultName() ); m_yAxisProperty->setResultType( RiaDefines::ResultCatType::STATIC_NATIVE ); m_yAxisProperty->setResultVariable( "DEPTH" ); m_timeStep = eclipseView->currentTimeStep(); - m_grouping = NO_GROUPING; - if ( eclipseView->eclipseCase() && eclipseView->eclipseCase()->activeFormationNames() ) - { - m_grouping = GROUP_BY_FORMATION; - m_groupingProperty->legendConfig()->setColorLegend( - RimRegularLegendConfig::mapToColorLegend( RimRegularLegendConfig::ColorRangesType::CATEGORY ) ); - } RimGridCrossPlot* parentPlot = nullptr; firstAncestorOrThisOfType( parentPlot );