diff --git a/ApplicationCode/ProjectDataModel/CorrelationPlots/CMakeLists_files.cmake b/ApplicationCode/ProjectDataModel/CorrelationPlots/CMakeLists_files.cmake index 4f3951d178..92143d1593 100644 --- a/ApplicationCode/ProjectDataModel/CorrelationPlots/CMakeLists_files.cmake +++ b/ApplicationCode/ProjectDataModel/CorrelationPlots/CMakeLists_files.cmake @@ -25,10 +25,4 @@ list(APPEND CODE_SOURCE_FILES ${SOURCE_GROUP_SOURCE_FILES} ) -list(APPEND QT_MOC_HEADERS -${CMAKE_CURRENT_LIST_DIR}/RimCorrelationPlot.h -${CMAKE_CURRENT_LIST_DIR}/RimCorrelationMatrixPlot.h -${CMAKE_CURRENT_LIST_DIR}/RimCorrelationReportPlot.h -) - source_group( "ProjectDataModel\\CorrelationPlots" FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} ${CMAKE_CURRENT_LIST_DIR}/CMakeLists_files.cmake ) diff --git a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationMatrixPlot.cpp b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationMatrixPlot.cpp index f350b387b9..2ef8b148ee 100644 --- a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationMatrixPlot.cpp +++ b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationMatrixPlot.cpp @@ -148,6 +148,7 @@ using CorrelationMatrixRow = CorrelationMatrixRowOrColumn( plotItem ); if ( matrixItem ) { - emit matrixCellSelected( matrixItem->parameter, matrixItem->curveDef ); + matrixCellSelected.send( std::make_pair( matrixItem->parameter, matrixItem->curveDef ) ); } } diff --git a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationMatrixPlot.h b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationMatrixPlot.h index ce1ee2d355..22f640bcc1 100644 --- a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationMatrixPlot.h +++ b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationMatrixPlot.h @@ -33,9 +33,11 @@ class RiuGroupedBarChartBuilder; //================================================================================================== class RimCorrelationMatrixPlot : public RimAbstractCorrelationPlot { - Q_OBJECT; CAF_PDM_HEADER_INIT; +public: + caf::Signal> matrixCellSelected; + public: using CorrelationFactor = RimCorrelationPlot::CorrelationFactor; using CorrelationFactorEnum = RimCorrelationPlot::CorrelationFactorEnum; @@ -61,9 +63,6 @@ public: bool showTopNCorrelations() const; int topNFilterCount() const; -signals: - void matrixCellSelected( const QString&, const RiaSummaryCurveDefinition& ); - private: // Overridden PDM methods diff --git a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationPlot.cpp b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationPlot.cpp index e6ab8175fa..b2c51fc150 100644 --- a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationPlot.cpp +++ b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationPlot.cpp @@ -67,6 +67,7 @@ CAF_PDM_SOURCE_INIT( RimCorrelationPlot, "CorrelationPlot" ); //-------------------------------------------------------------------------------------------------- RimCorrelationPlot::RimCorrelationPlot() : RimAbstractCorrelationPlot() + , tornadoItemSelected( this ) { CAF_PDM_InitObject( "Correlation Tornado Plot", ":/CorrelationTornadoPlot16x16.png", "", "" ); @@ -372,7 +373,7 @@ void RimCorrelationPlot::onPlotItemSelected( QwtPlotItem* plotItem, bool toggle, { if ( barTitle.text() == param.name ) { - emit tornadoItemSelected( param.name, curveDef ); + tornadoItemSelected.send( std::make_pair( param.name, curveDef ) ); } } } diff --git a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationPlot.h b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationPlot.h index ce08884c8b..19e8b5e340 100644 --- a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationPlot.h +++ b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationPlot.h @@ -35,9 +35,11 @@ class RiuGroupedBarChartBuilder; //================================================================================================== class RimCorrelationPlot : public RimAbstractCorrelationPlot { - Q_OBJECT; CAF_PDM_HEADER_INIT; +public: + caf::Signal> tornadoItemSelected; + public: enum class CorrelationFactor { @@ -63,9 +65,6 @@ public: void setShowOnlyTopNCorrelations( bool showOnlyTopNCorrelations ); void setTopNFilterCount( int filterCount ); -signals: - void tornadoItemSelected( const QString&, const RiaSummaryCurveDefinition& curveDef ); - private: // Overridden PDM methods diff --git a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationReportPlot.cpp b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationReportPlot.cpp index ddfc03fe85..bfe666a0f9 100644 --- a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationReportPlot.cpp +++ b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationReportPlot.cpp @@ -88,13 +88,8 @@ RimCorrelationReportPlot::RimCorrelationReportPlot() this->uiCapability()->setUiTreeChildrenHidden( true ); - this->connect( m_correlationMatrixPlot(), - SIGNAL( matrixCellSelected( const QString&, const RiaSummaryCurveDefinition& ) ), - SLOT( onDataSelection( const QString&, const RiaSummaryCurveDefinition& ) ) ); - - this->connect( m_correlationPlot(), - SIGNAL( tornadoItemSelected( const QString&, const RiaSummaryCurveDefinition& ) ), - SLOT( onDataSelection( const QString&, const RiaSummaryCurveDefinition& ) ) ); + m_correlationMatrixPlot->matrixCellSelected.connect( this, &RimCorrelationReportPlot::onDataSelection ); + m_correlationPlot->tornadoItemSelected.connect( this, &RimCorrelationReportPlot::onDataSelection ); } //-------------------------------------------------------------------------------------------------- @@ -402,11 +397,12 @@ QList return options; } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimCorrelationReportPlot::onDataSelection( const QString& paramName, const RiaSummaryCurveDefinition& curveDef ) +void RimCorrelationReportPlot::onDataSelection( const caf::SignalEmitter* emitter, + std::pair parameterAndCurveDef ) { + auto paramName = parameterAndCurveDef.first; + auto curveDef = parameterAndCurveDef.second; + m_correlationPlot->setCurveDefinitions( {curveDef} ); m_correlationPlot->loadDataAndUpdate(); m_parameterResultCrossPlot->setCurveDefinitions( {curveDef} ); diff --git a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationReportPlot.h b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationReportPlot.h index d75e7985a0..563f51cd98 100644 --- a/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationReportPlot.h +++ b/ApplicationCode/ProjectDataModel/CorrelationPlots/RimCorrelationReportPlot.h @@ -37,7 +37,6 @@ class RiuMultiPlotPage; class RimCorrelationReportPlot : public QObject, public RimPlotWindow { - Q_OBJECT; CAF_PDM_HEADER_INIT; using CorrelationFactor = RimCorrelationPlot::CorrelationFactor; using CorrelationFactorEnum = RimCorrelationPlot::CorrelationFactorEnum; @@ -78,8 +77,8 @@ private: QList calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly ) override; -private slots: - void onDataSelection( const QString& paramName, const RiaSummaryCurveDefinition& curveDef ); + void onDataSelection( const caf::SignalEmitter* emitter, + std::pair parameterAndCurveDef ); private: caf::PdmProxyValueField m_plotWindowTitle;