mirror of
https://github.com/OPM/ResInsight.git
synced 2026-11-02 20:30:46 -06:00
Introduces common readout settings for summary multi plots
Introduces common readout settings for summary multi plots, allowing users to apply a single readout configuration across multiple plots instead of configuring each individually.
This commit is contained in:
1 parent
a75c10252d
commit
00a58a1fd9
10 files changed
+183
-44
No files matched your search
@@ -96,6 +96,17 @@ void caf::AppEnum<RiaDefines::WindowTileMode>::setUp()
|
|||||||
setDefault( RiaDefines::WindowTileMode::UNDEFINED );
|
setDefault( RiaDefines::WindowTileMode::UNDEFINED );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
void caf::AppEnum<RiaDefines::ReadOutType>::setUp()
|
||||||
|
{
|
||||||
|
addItem( RiaDefines::ReadOutType::NONE, "NONE", "None" );
|
||||||
|
addItem( RiaDefines::ReadOutType::SNAP_TO_POINT, "SNAP_TO_POINT", "Snap to Closest Curve Point" );
|
||||||
|
addItem( RiaDefines::ReadOutType::TIME_TRACKING, "TIME_TRACKING", "Time Tracking" );
|
||||||
|
addItem( RiaDefines::ReadOutType::TIME_VALUE_TRACKING, "TIME_VALUE_TRACKING", "Time and Value Tracking" );
|
||||||
|
|
||||||
|
setDefault( RiaDefines::ReadOutType::SNAP_TO_POINT );
|
||||||
|
}
|
||||||
|
|
||||||
}; // namespace caf
|
}; // namespace caf
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -88,6 +88,14 @@ enum class TextAlignment
|
|||||||
CENTER
|
CENTER
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum class ReadOutType
|
||||||
|
{
|
||||||
|
NONE,
|
||||||
|
SNAP_TO_POINT,
|
||||||
|
TIME_TRACKING,
|
||||||
|
TIME_VALUE_TRACKING
|
||||||
|
};
|
||||||
|
|
||||||
// Defines relate to curve and plot template names
|
// Defines relate to curve and plot template names
|
||||||
QString namingVariableCase();
|
QString namingVariableCase();
|
||||||
QString namingVariableWell();
|
QString namingVariableWell();
|
||||||
|
|||||||
@@ -129,6 +129,8 @@ RiaPreferencesSummary::RiaPreferencesSummary()
|
|||||||
m_selectedDefaultTemplates.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_selectedDefaultTemplates.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
||||||
m_selectedDefaultTemplates.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
m_selectedDefaultTemplates.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
||||||
|
|
||||||
|
CAF_PDM_InitField( &m_summaryReadoutMode, "summaryReadoutMode", RiaDefines::ReadOutType::SNAP_TO_POINT, "Default Readout Mode" );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_createEnhancedSummaryDataFile,
|
CAF_PDM_InitField( &m_createEnhancedSummaryDataFile,
|
||||||
"createEnhancedSummaryDataFile_v01",
|
"createEnhancedSummaryDataFile_v01",
|
||||||
false,
|
false,
|
||||||
@@ -310,6 +312,7 @@ void RiaPreferencesSummary::appendItemsToPlottingGroup( caf::PdmUiOrdering& uiOr
|
|||||||
}
|
}
|
||||||
|
|
||||||
uiOrdering.add( &m_crossPlotAddressCombinations );
|
uiOrdering.add( &m_crossPlotAddressCombinations );
|
||||||
|
uiOrdering.add( &m_summaryReadoutMode );
|
||||||
|
|
||||||
auto historyCurveGroup = uiOrdering.addNewGroup( "History Vectors" );
|
auto historyCurveGroup = uiOrdering.addNewGroup( "History Vectors" );
|
||||||
|
|
||||||
@@ -584,6 +587,14 @@ RiaDefines::RowCount RiaPreferencesSummary::defaultMultiPlotRowCount() const
|
|||||||
return m_defaultRowsPerPage();
|
return m_defaultRowsPerPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
RiaDefines::ReadOutType RiaPreferencesSummary::defaultSummaryReadoutMode() const
|
||||||
|
{
|
||||||
|
return m_summaryReadoutMode();
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#include "cafPdmObject.h"
|
#include "cafPdmObject.h"
|
||||||
|
|
||||||
#include "RiaDefines.h"
|
#include "RiaDefines.h"
|
||||||
|
#include "RiaPlotDefines.h"
|
||||||
|
|
||||||
// Include to make Pdm work for cvf::Color
|
// Include to make Pdm work for cvf::Color
|
||||||
#include "cafPdmFieldCvfColor.h"
|
#include "cafPdmFieldCvfColor.h"
|
||||||
@@ -72,8 +73,9 @@ public:
|
|||||||
};
|
};
|
||||||
using DefaultSummaryPlotEnum = caf::AppEnum<DefaultSummaryPlotType>;
|
using DefaultSummaryPlotEnum = caf::AppEnum<DefaultSummaryPlotType>;
|
||||||
|
|
||||||
using ColumnCountEnum = caf::AppEnum<RiaDefines::ColumnCount>;
|
using ColumnCountEnum = caf::AppEnum<RiaDefines::ColumnCount>;
|
||||||
using RowCountEnum = caf::AppEnum<RiaDefines::RowCount>;
|
using RowCountEnum = caf::AppEnum<RiaDefines::RowCount>;
|
||||||
|
using SummaryReadoutMode = caf::AppEnum<RiaDefines::ReadOutType>;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RiaPreferencesSummary();
|
RiaPreferencesSummary();
|
||||||
@@ -117,6 +119,8 @@ public:
|
|||||||
RiaDefines::ColumnCount defaultMultiPlotColumnCount() const;
|
RiaDefines::ColumnCount defaultMultiPlotColumnCount() const;
|
||||||
RiaDefines::RowCount defaultMultiPlotRowCount() const;
|
RiaDefines::RowCount defaultMultiPlotRowCount() const;
|
||||||
|
|
||||||
|
RiaDefines::ReadOutType defaultSummaryReadoutMode() const;
|
||||||
|
|
||||||
cvf::Color3f historyCurveContrastColor() const;
|
cvf::Color3f historyCurveContrastColor() const;
|
||||||
|
|
||||||
void defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute ) override;
|
void defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute ) override;
|
||||||
@@ -141,6 +145,7 @@ private:
|
|||||||
caf::PdmField<SummaryHistoryCurveStyleModeType> m_defaultSummaryHistoryCurveStyle;
|
caf::PdmField<SummaryHistoryCurveStyleModeType> m_defaultSummaryHistoryCurveStyle;
|
||||||
caf::PdmField<bool> m_curveColorByPhase;
|
caf::PdmField<bool> m_curveColorByPhase;
|
||||||
caf::PdmField<bool> m_appendHistoryVectors;
|
caf::PdmField<bool> m_appendHistoryVectors;
|
||||||
|
caf::PdmField<SummaryReadoutMode> m_summaryReadoutMode;
|
||||||
|
|
||||||
caf::PdmField<bool> m_showSummaryTimeAsLongString;
|
caf::PdmField<bool> m_showSummaryTimeAsLongString;
|
||||||
caf::PdmField<bool> m_useMultipleThreadsWhenLoadingSummaryCases;
|
caf::PdmField<bool> m_useMultipleThreadsWhenLoadingSummaryCases;
|
||||||
|
|||||||
@@ -155,6 +155,10 @@ RimSummaryMultiPlot::RimSummaryMultiPlot()
|
|||||||
m_readOutSettings = new RimSummaryPlotReadOut;
|
m_readOutSettings = new RimSummaryPlotReadOut;
|
||||||
m_readOutSettings.uiCapability()->setUiTreeChildrenHidden( true );
|
m_readOutSettings.uiCapability()->setUiTreeChildrenHidden( true );
|
||||||
|
|
||||||
|
CAF_PDM_InitField( &m_goToCommonSettings, "GoToCommonSettings", false, "Go to Common Settings" );
|
||||||
|
caf::PdmUiPushButtonEditor::configureEditorLabelLeft( &m_goToCommonSettings );
|
||||||
|
m_goToCommonSettings.xmlCapability()->disableIO();
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_axisRangeAggregation, "AxisRangeAggregation", "Y Axis Range" );
|
CAF_PDM_InitFieldNoDefault( &m_axisRangeAggregation, "AxisRangeAggregation", "Y Axis Range" );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_hidePlotsWithValuesBelow, "HidePlotsWithValuesBelow", false, "" );
|
CAF_PDM_InitField( &m_hidePlotsWithValuesBelow, "HidePlotsWithValuesBelow", false, "" );
|
||||||
@@ -397,7 +401,14 @@ void RimSummaryMultiPlot::defineUiOrdering( QString uiConfigName, caf::PdmUiOrde
|
|||||||
axesGroup->add( &m_autoAdjustAppearance );
|
axesGroup->add( &m_autoAdjustAppearance );
|
||||||
|
|
||||||
auto readOutGroup = uiOrdering.addNewGroup( "Mouse Cursor Readout" );
|
auto readOutGroup = uiOrdering.addNewGroup( "Mouse Cursor Readout" );
|
||||||
m_readOutSettings->uiOrdering( uiConfigName, *readOutGroup );
|
if ( m_readOutSettings == activeReadoutSettings() )
|
||||||
|
{
|
||||||
|
m_readOutSettings->uiOrdering( uiConfigName, *readOutGroup );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
readOutGroup->add( &m_goToCommonSettings );
|
||||||
|
}
|
||||||
|
|
||||||
auto plotVisibilityFilterGroup = uiOrdering.addNewGroup( "Plot Visibility Filter" );
|
auto plotVisibilityFilterGroup = uiOrdering.addNewGroup( "Plot Visibility Filter" );
|
||||||
plotVisibilityFilterGroup->add( &m_plotFilterYAxisThreshold );
|
plotVisibilityFilterGroup->add( &m_plotFilterYAxisThreshold );
|
||||||
@@ -517,6 +528,15 @@ void RimSummaryMultiPlot::fieldChangedByUi( const caf::PdmFieldHandle* changedFi
|
|||||||
|
|
||||||
m_autoPlotTitle = false;
|
m_autoPlotTitle = false;
|
||||||
}
|
}
|
||||||
|
else if ( changedField == &m_goToCommonSettings )
|
||||||
|
{
|
||||||
|
m_goToCommonSettings = false;
|
||||||
|
|
||||||
|
if ( auto plotCollection = RimMainPlotCollection::current()->summaryMultiPlotCollection() )
|
||||||
|
{
|
||||||
|
RiuPlotMainWindowTools::selectAsCurrentItem( plotCollection );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
RimMultiPlot::fieldChangedByUi( changedField, oldValue, newValue );
|
RimMultiPlot::fieldChangedByUi( changedField, oldValue, newValue );
|
||||||
}
|
}
|
||||||
@@ -539,12 +559,18 @@ void RimSummaryMultiPlot::defineEditorAttribute( const caf::PdmFieldHandle* fiel
|
|||||||
{
|
{
|
||||||
if ( &m_hidePlotsWithValuesBelow == field )
|
if ( &m_hidePlotsWithValuesBelow == field )
|
||||||
{
|
{
|
||||||
auto attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute );
|
if ( auto attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute ) )
|
||||||
if ( attrib )
|
|
||||||
{
|
{
|
||||||
attrib->m_buttonText = "Apply Filter";
|
attrib->m_buttonText = "Apply Filter";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ( field == &m_goToCommonSettings )
|
||||||
|
{
|
||||||
|
if ( auto* pbAttribute = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute ) )
|
||||||
|
{
|
||||||
|
pbAttribute->m_buttonText = "Edit";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -1492,7 +1518,7 @@ void RimSummaryMultiPlot::updateReadOutSettings()
|
|||||||
{
|
{
|
||||||
for ( auto plot : summaryPlots() )
|
for ( auto plot : summaryPlots() )
|
||||||
{
|
{
|
||||||
if ( !m_readOutSettings->enableVerticalLine() )
|
if ( !activeReadoutSettings()->enableVerticalLine() )
|
||||||
{
|
{
|
||||||
if ( auto axisProps = plot->timeAxisProperties() )
|
if ( auto axisProps = plot->timeAxisProperties() )
|
||||||
{
|
{
|
||||||
@@ -1500,7 +1526,7 @@ void RimSummaryMultiPlot::updateReadOutSettings()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !m_readOutSettings->enableHorizontalLine() )
|
if ( !activeReadoutSettings()->enableHorizontalLine() )
|
||||||
{
|
{
|
||||||
if ( auto axis = plot->axisPropertiesForPlotAxis( RiuPlotAxis::defaultLeft() ) )
|
if ( auto axis = plot->axisPropertiesForPlotAxis( RiuPlotAxis::defaultLeft() ) )
|
||||||
{
|
{
|
||||||
@@ -1508,7 +1534,7 @@ void RimSummaryMultiPlot::updateReadOutSettings()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
plot->enableCurvePointTracking( m_readOutSettings->enableCurvePointTracking() );
|
plot->enableCurvePointTracking( activeReadoutSettings()->enableCurvePointTracking() );
|
||||||
|
|
||||||
plot->updateAndRedrawTimeAnnotations();
|
plot->updateAndRedrawTimeAnnotations();
|
||||||
}
|
}
|
||||||
@@ -1542,6 +1568,22 @@ std::pair<double, double> RimSummaryMultiPlot::adjustedMinMax( const RimPlotAxis
|
|||||||
return { adjustedMin, adjustedMax };
|
return { adjustedMin, adjustedMax };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
RimSummaryPlotReadOut* RimSummaryMultiPlot::activeReadoutSettings() const
|
||||||
|
{
|
||||||
|
if ( auto plotCollection = RimMainPlotCollection::current()->summaryMultiPlotCollection() )
|
||||||
|
{
|
||||||
|
if ( plotCollection->commonReadOutSettings().has_value() )
|
||||||
|
{
|
||||||
|
return plotCollection->commonReadOutSettings().value();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return m_readOutSettings();
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -1768,7 +1810,10 @@ void RimSummaryMultiPlot::selectWell( QString wellName )
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimSummaryMultiPlot::updateReadOutLines( double qwtTimeValue, double yValue )
|
void RimSummaryMultiPlot::updateReadOutLines( double qwtTimeValue, double yValue )
|
||||||
{
|
{
|
||||||
if ( !m_readOutSettings->enableVerticalLine() && !m_readOutSettings->enableHorizontalLine() ) return;
|
auto readOutSettings = activeReadoutSettings();
|
||||||
|
if ( !readOutSettings ) return;
|
||||||
|
|
||||||
|
if ( !readOutSettings->enableVerticalLine() && !readOutSettings->enableHorizontalLine() ) return;
|
||||||
|
|
||||||
const auto timeTValue = RiaTimeTTools::fromDouble( qwtTimeValue );
|
const auto timeTValue = RiaTimeTTools::fromDouble( qwtTimeValue );
|
||||||
const QString dateFormatString = RiaQDateTimeTools::dateFormatString( RiaPreferences::current()->dateFormat(),
|
const QString dateFormatString = RiaQDateTimeTools::dateFormatString( RiaPreferences::current()->dateFormat(),
|
||||||
@@ -1778,21 +1823,21 @@ void RimSummaryMultiPlot::updateReadOutLines( double qwtTimeValue, double yValue
|
|||||||
{
|
{
|
||||||
if ( !plot ) continue;
|
if ( !plot ) continue;
|
||||||
|
|
||||||
if ( m_readOutSettings->enableVerticalLine() && plot->timeAxisProperties() )
|
if ( readOutSettings->enableVerticalLine() && plot->timeAxisProperties() )
|
||||||
{
|
{
|
||||||
plot->timeAxisProperties()->removeAllAnnotations();
|
plot->timeAxisProperties()->removeAllAnnotations();
|
||||||
|
|
||||||
auto lineAppearance = m_readOutSettings->lineAppearance();
|
auto lineAppearance = readOutSettings->lineAppearance();
|
||||||
auto anno = RimTimeAxisAnnotation::createTimeAnnotation( timeTValue, lineAppearance->color() );
|
auto anno = RimTimeAxisAnnotation::createTimeAnnotation( timeTValue, lineAppearance->color() );
|
||||||
|
|
||||||
Qt::PenStyle style = lineAppearance->isDashed() ? Qt::PenStyle::DashLine : Qt::PenStyle::SolidLine;
|
Qt::PenStyle style = lineAppearance->isDashed() ? Qt::PenStyle::DashLine : Qt::PenStyle::SolidLine;
|
||||||
anno->setPenStyle( style );
|
anno->setPenStyle( style );
|
||||||
anno->setAlignment( m_readOutSettings->verticalLineLabelAlignment() );
|
anno->setAlignment( readOutSettings->verticalLineLabelAlignment() );
|
||||||
|
|
||||||
plot->timeAxisProperties()->appendAnnotation( anno );
|
plot->timeAxisProperties()->appendAnnotation( anno );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( m_readOutSettings->enableHorizontalLine() )
|
if ( readOutSettings->enableHorizontalLine() )
|
||||||
{
|
{
|
||||||
std::vector<RimSummaryCurve*> summaryCurves;
|
std::vector<RimSummaryCurve*> summaryCurves;
|
||||||
|
|
||||||
@@ -1836,12 +1881,12 @@ void RimSummaryMultiPlot::updateReadOutLines( double qwtTimeValue, double yValue
|
|||||||
|
|
||||||
anno->setName( valueText );
|
anno->setName( valueText );
|
||||||
|
|
||||||
auto lineAppearance = m_readOutSettings->lineAppearance();
|
auto lineAppearance = readOutSettings->lineAppearance();
|
||||||
|
|
||||||
Qt::PenStyle style = lineAppearance->isDashed() ? Qt::PenStyle::DashLine : Qt::PenStyle::SolidLine;
|
Qt::PenStyle style = lineAppearance->isDashed() ? Qt::PenStyle::DashLine : Qt::PenStyle::SolidLine;
|
||||||
anno->setPenStyle( style );
|
anno->setPenStyle( style );
|
||||||
anno->setColor( lineAppearance->color() );
|
anno->setColor( lineAppearance->color() );
|
||||||
anno->setAlignment( m_readOutSettings->horizontalLineLabelAlignment() );
|
anno->setAlignment( readOutSettings->horizontalLineLabelAlignment() );
|
||||||
|
|
||||||
annotationAxis->appendAnnotation( anno );
|
annotationAxis->appendAnnotation( anno );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ public:
|
|||||||
|
|
||||||
void selectWell( QString wellName );
|
void selectWell( QString wellName );
|
||||||
|
|
||||||
|
void updateReadOutSettings();
|
||||||
void updateReadOutLines( double qwtTimeValue, double yValue );
|
void updateReadOutLines( double qwtTimeValue, double yValue );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -157,10 +158,10 @@ private:
|
|||||||
|
|
||||||
void updateReadOnlyState();
|
void updateReadOnlyState();
|
||||||
|
|
||||||
void updateReadOutSettings();
|
|
||||||
|
|
||||||
std::pair<double, double> adjustedMinMax( const RimPlotAxisProperties* axis, double min, double max ) const;
|
std::pair<double, double> adjustedMinMax( const RimPlotAxisProperties* axis, double min, double max ) const;
|
||||||
|
|
||||||
|
RimSummaryPlotReadOut* activeReadoutSettings() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<bool> m_autoPlotTitle;
|
caf::PdmField<bool> m_autoPlotTitle;
|
||||||
caf::PdmField<bool> m_autoSubPlotTitle;
|
caf::PdmField<bool> m_autoSubPlotTitle;
|
||||||
@@ -172,6 +173,7 @@ private:
|
|||||||
caf::PdmField<bool> m_allow3DSelectionLink;
|
caf::PdmField<bool> m_allow3DSelectionLink;
|
||||||
|
|
||||||
caf::PdmChildField<RimSummaryPlotReadOut*> m_readOutSettings;
|
caf::PdmChildField<RimSummaryPlotReadOut*> m_readOutSettings;
|
||||||
|
caf::PdmField<bool> m_goToCommonSettings;
|
||||||
|
|
||||||
caf::PdmField<bool> m_hidePlotsWithValuesBelow;
|
caf::PdmField<bool> m_hidePlotsWithValuesBelow;
|
||||||
caf::PdmField<double> m_plotFilterYAxisThreshold;
|
caf::PdmField<double> m_plotFilterYAxisThreshold;
|
||||||
|
|||||||
@@ -20,11 +20,13 @@
|
|||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimSummaryMultiPlot.h"
|
#include "RimSummaryMultiPlot.h"
|
||||||
#include "RimSummaryPlot.h"
|
#include "RimSummaryPlot.h"
|
||||||
|
#include "RimSummaryPlotReadOut.h"
|
||||||
#include "RimTools.h"
|
#include "RimTools.h"
|
||||||
|
|
||||||
#include "RiuPlotMainWindowTools.h"
|
#include "RiuPlotMainWindowTools.h"
|
||||||
|
|
||||||
#include "cafPdmFieldReorderCapability.h"
|
#include "cafPdmFieldReorderCapability.h"
|
||||||
|
#include "cafPdmUiCheckBoxEditor.h"
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT( RimSummaryMultiPlotCollection, "RimSummaryMultiPlotCollection" );
|
CAF_PDM_SOURCE_INIT( RimSummaryMultiPlotCollection, "RimSummaryMultiPlotCollection" );
|
||||||
@@ -38,6 +40,13 @@ RimSummaryMultiPlotCollection::RimSummaryMultiPlotCollection()
|
|||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_summaryMultiPlots, "MultiSummaryPlots", "Summary Plots" );
|
CAF_PDM_InitFieldNoDefault( &m_summaryMultiPlots, "MultiSummaryPlots", "Summary Plots" );
|
||||||
caf::PdmFieldReorderCapability::addToField( &m_summaryMultiPlots );
|
caf::PdmFieldReorderCapability::addToField( &m_summaryMultiPlots );
|
||||||
|
|
||||||
|
CAF_PDM_InitField( &m_useCommonReadoutSettings, "UseCommonReadoutSettings", false, "Use Common Readout Settings" );
|
||||||
|
caf::PdmUiNativeCheckBoxEditor::configureFieldForEditor( &m_useCommonReadoutSettings );
|
||||||
|
|
||||||
|
CAF_PDM_InitFieldNoDefault( &m_readoutSettings, "ReadOutSettings", "Read Out Settings" );
|
||||||
|
m_readoutSettings = new RimSummaryPlotReadOut;
|
||||||
|
m_readoutSettings.uiCapability()->setUiTreeChildrenHidden( true );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -126,6 +135,39 @@ void RimSummaryMultiPlotCollection::onRefreshTree( const caf::SignalEmitter* emi
|
|||||||
updateConnectedEditors();
|
updateConnectedEditors();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimSummaryMultiPlotCollection::fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue )
|
||||||
|
{
|
||||||
|
if ( changedField == &m_useCommonReadoutSettings )
|
||||||
|
{
|
||||||
|
updateReadOutSettingsInSubPlots();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimSummaryMultiPlotCollection::childFieldChangedByUi( const caf::PdmFieldHandle* changedChildField )
|
||||||
|
{
|
||||||
|
if ( changedChildField == &m_readoutSettings )
|
||||||
|
{
|
||||||
|
updateReadOutSettingsInSubPlots();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimSummaryMultiPlotCollection::updateReadOutSettingsInSubPlots()
|
||||||
|
{
|
||||||
|
for ( auto plot : m_summaryMultiPlots )
|
||||||
|
{
|
||||||
|
plot->updateReadOutSettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -150,6 +192,17 @@ void RimSummaryMultiPlotCollection::onChildrenUpdated( caf::PdmChildArrayFieldHa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimSummaryMultiPlotCollection::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
|
||||||
|
{
|
||||||
|
uiOrdering.add( &m_useCommonReadoutSettings );
|
||||||
|
|
||||||
|
auto readOutGroup = uiOrdering.addNewGroup( "Mouse Cursor Readout" );
|
||||||
|
m_readoutSettings->uiOrdering( uiConfigName, *readOutGroup );
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -205,3 +258,15 @@ void RimSummaryMultiPlotCollection::updateSummaryNameHasChanged()
|
|||||||
|
|
||||||
updateConnectedEditors();
|
updateConnectedEditors();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
std::optional<RimSummaryPlotReadOut*> RimSummaryMultiPlotCollection::commonReadOutSettings() const
|
||||||
|
{
|
||||||
|
if ( m_useCommonReadoutSettings() )
|
||||||
|
{
|
||||||
|
return m_readoutSettings();
|
||||||
|
}
|
||||||
|
return std::nullopt;
|
||||||
|
}
|
||||||
@@ -23,9 +23,8 @@
|
|||||||
#include "cafPdmObject.h"
|
#include "cafPdmObject.h"
|
||||||
#include "cafPdmUiItem.h"
|
#include "cafPdmUiItem.h"
|
||||||
|
|
||||||
#include <QList>
|
|
||||||
|
|
||||||
class RimSummaryMultiPlot;
|
class RimSummaryMultiPlot;
|
||||||
|
class RimSummaryPlotReadOut;
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
///
|
///
|
||||||
@@ -52,14 +51,24 @@ public:
|
|||||||
|
|
||||||
void updateSummaryNameHasChanged();
|
void updateSummaryNameHasChanged();
|
||||||
|
|
||||||
|
std::optional<RimSummaryPlotReadOut*> commonReadOutSettings() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void initAfterRead() override;
|
void initAfterRead() override;
|
||||||
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "" ) override;
|
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "" ) override;
|
||||||
void onChildrenUpdated( caf::PdmChildArrayFieldHandle* childArray, std::vector<caf::PdmObjectHandle*>& updatedObjects ) override;
|
void onChildrenUpdated( caf::PdmChildArrayFieldHandle* childArray, std::vector<caf::PdmObjectHandle*>& updatedObjects ) override;
|
||||||
|
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||||
|
|
||||||
void onDuplicatePlot( const caf::SignalEmitter* emitter, RimSummaryMultiPlot* plotToDuplicate );
|
void onDuplicatePlot( const caf::SignalEmitter* emitter, RimSummaryMultiPlot* plotToDuplicate );
|
||||||
void onRefreshTree( const caf::SignalEmitter* emitter, RimSummaryMultiPlot* plotRequesting );
|
void onRefreshTree( const caf::SignalEmitter* emitter, RimSummaryMultiPlot* plotRequesting );
|
||||||
|
|
||||||
|
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
||||||
|
void childFieldChangedByUi( const caf::PdmFieldHandle* changedChildField ) override;
|
||||||
|
|
||||||
|
void updateReadOutSettingsInSubPlots();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmChildArrayField<RimSummaryMultiPlot*> m_summaryMultiPlots;
|
caf::PdmChildArrayField<RimSummaryMultiPlot*> m_summaryMultiPlots;
|
||||||
|
caf::PdmField<bool> m_useCommonReadoutSettings;
|
||||||
|
caf::PdmChildField<RimSummaryPlotReadOut*> m_readoutSettings;
|
||||||
};
|
};
|
||||||
@@ -18,23 +18,14 @@
|
|||||||
|
|
||||||
#include "RimSummaryPlotReadOut.h"
|
#include "RimSummaryPlotReadOut.h"
|
||||||
|
|
||||||
|
#include "RiaPreferencesSummary.h"
|
||||||
|
|
||||||
#include "RimAnnotationLineAppearance.h"
|
#include "RimAnnotationLineAppearance.h"
|
||||||
|
|
||||||
#include "cafPdmUiCheckBoxEditor.h"
|
#include "cafPdmUiCheckBoxEditor.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT( RimSummaryPlotReadOut, "RimSummaryPlotReadOut" );
|
CAF_PDM_SOURCE_INIT( RimSummaryPlotReadOut, "RimSummaryPlotReadOut" );
|
||||||
|
|
||||||
template <>
|
|
||||||
void caf::AppEnum<RimSummaryPlotReadOut::ReadOutType>::setUp()
|
|
||||||
{
|
|
||||||
addItem( RimSummaryPlotReadOut::ReadOutType::NONE, "NONE", "None" );
|
|
||||||
addItem( RimSummaryPlotReadOut::ReadOutType::SNAP_TO_POINT, "SNAP_TO_POINT", "Snap to Closest Curve Point" );
|
|
||||||
addItem( RimSummaryPlotReadOut::ReadOutType::TIME_TRACKING, "TIME_TRACKING", "Time Tracking" );
|
|
||||||
addItem( RimSummaryPlotReadOut::ReadOutType::TIME_VALUE_TRACKING, "TIME_VALUE_TRACKING", "Time and Value Tracking" );
|
|
||||||
|
|
||||||
setDefault( RimSummaryPlotReadOut::ReadOutType::SNAP_TO_POINT );
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -43,7 +34,7 @@ RimSummaryPlotReadOut::RimSummaryPlotReadOut()
|
|||||||
CAF_PDM_InitObject( "Summary Plot Read Out", "" );
|
CAF_PDM_InitObject( "Summary Plot Read Out", "" );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_readOutType, "ReadOutType", "Readout Mode" );
|
CAF_PDM_InitFieldNoDefault( &m_readOutType, "ReadOutType", "Readout Mode" );
|
||||||
m_readOutType = ReadOutType::TIME_VALUE_TRACKING;
|
m_readOutType = RiaPreferencesSummary::current()->defaultSummaryReadoutMode();
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_lineAppearance, "LineAppearance", "" );
|
CAF_PDM_InitFieldNoDefault( &m_lineAppearance, "LineAppearance", "" );
|
||||||
m_lineAppearance = new RimAnnotationLineAppearance;
|
m_lineAppearance = new RimAnnotationLineAppearance;
|
||||||
@@ -62,7 +53,7 @@ RimSummaryPlotReadOut::RimSummaryPlotReadOut()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool RimSummaryPlotReadOut::enableCurvePointTracking() const
|
bool RimSummaryPlotReadOut::enableCurvePointTracking() const
|
||||||
{
|
{
|
||||||
return m_readOutType() == ReadOutType::SNAP_TO_POINT;
|
return m_readOutType() == RiaDefines::ReadOutType::SNAP_TO_POINT;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -70,7 +61,7 @@ bool RimSummaryPlotReadOut::enableCurvePointTracking() const
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool RimSummaryPlotReadOut::enableHorizontalLine() const
|
bool RimSummaryPlotReadOut::enableHorizontalLine() const
|
||||||
{
|
{
|
||||||
return m_readOutType() == ReadOutType::TIME_VALUE_TRACKING;
|
return m_readOutType() == RiaDefines::ReadOutType::TIME_VALUE_TRACKING;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -78,7 +69,8 @@ bool RimSummaryPlotReadOut::enableHorizontalLine() const
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool RimSummaryPlotReadOut::enableVerticalLine() const
|
bool RimSummaryPlotReadOut::enableVerticalLine() const
|
||||||
{
|
{
|
||||||
return ( ( m_readOutType() == ReadOutType::TIME_TRACKING ) || ( m_readOutType() == ReadOutType::TIME_VALUE_TRACKING ) );
|
return ( ( m_readOutType() == RiaDefines::ReadOutType::TIME_TRACKING ) ||
|
||||||
|
( m_readOutType() == RiaDefines::ReadOutType::TIME_VALUE_TRACKING ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -34,15 +34,6 @@ class RimSummaryPlotReadOut : public caf::PdmObject
|
|||||||
{
|
{
|
||||||
CAF_PDM_HEADER_INIT;
|
CAF_PDM_HEADER_INIT;
|
||||||
|
|
||||||
public:
|
|
||||||
enum class ReadOutType
|
|
||||||
{
|
|
||||||
NONE,
|
|
||||||
SNAP_TO_POINT,
|
|
||||||
TIME_TRACKING,
|
|
||||||
TIME_VALUE_TRACKING
|
|
||||||
};
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RimSummaryPlotReadOut();
|
RimSummaryPlotReadOut();
|
||||||
|
|
||||||
@@ -57,7 +48,7 @@ private:
|
|||||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<caf::AppEnum<ReadOutType>> m_readOutType;
|
caf::PdmField<caf::AppEnum<RiaDefines::ReadOutType>> m_readOutType;
|
||||||
|
|
||||||
caf::PdmChildField<RimAnnotationLineAppearance*> m_lineAppearance;
|
caf::PdmChildField<RimAnnotationLineAppearance*> m_lineAppearance;
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user