mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2262 Summary Curve Creator : Add support for auto plot title
This commit is contained in:
parent
fbee6e23a9
commit
53d1c7ef66
@ -73,7 +73,10 @@ RicSummaryCurveCreator::RicSummaryCurveCreator()
|
||||
CAF_PDM_InitFieldNoDefault(&m_regionAppearanceType, "RegionAppearanceType", "Region", "", "", "");
|
||||
|
||||
m_previewPlot.reset(new RimSummaryPlot());
|
||||
m_previewPlot->setShowDescription(false);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_useAutoPlotTitleProxy, "UseAutoPlotTitle", "Auto Plot Title", "", "", "");
|
||||
m_useAutoPlotTitleProxy.registerGetMethod(this, &RicSummaryCurveCreator::proxyPlotAutoTitle);
|
||||
m_useAutoPlotTitleProxy.registerSetMethod(this, &RicSummaryCurveCreator::proxyEnablePlotAutoTitle);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_applyButtonField, "ApplySelection", "", "", "", "");
|
||||
m_applyButtonField = false;
|
||||
@ -141,6 +144,7 @@ void RicSummaryCurveCreator::updateFromSummaryPlot(RimSummaryPlot* targetPlot)
|
||||
else
|
||||
{
|
||||
setDefaultCurveSelection();
|
||||
m_previewPlot->enableAutoPlotTitle(true);
|
||||
}
|
||||
|
||||
syncPreviewCurvesFromUiSelection();
|
||||
@ -210,6 +214,11 @@ void RicSummaryCurveCreator::fieldChangedByUi(const caf::PdmFieldHandle* changed
|
||||
m_previewPlot->loadDataAndUpdate();
|
||||
m_appearanceApplyButton = false;
|
||||
}
|
||||
else if (changedField == &m_useAutoPlotTitleProxy)
|
||||
{
|
||||
m_previewPlot->updatePlotTitle();
|
||||
m_previewPlot->summaryCurveCollection()->updateConnectedEditors();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -247,6 +256,7 @@ void RicSummaryCurveCreator::defineUiOrdering(QString uiConfigName, caf::PdmUiOr
|
||||
caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroupWithKeyword("Curve Appearance Assignment", RiuSummaryCurveDefinitionKeywords::appearance());
|
||||
caf::PdmUiGroup* appearanceSubGroup = appearanceGroup->addNewGroup("Appearance Type Assignment");
|
||||
appearanceGroup->setCollapsedByDefault(true);
|
||||
|
||||
appearanceSubGroup->add(&m_useAutoAppearanceAssignment);
|
||||
appearanceSubGroup->add(&m_caseAppearanceType);
|
||||
appearanceSubGroup->add(&m_variableAppearanceType);
|
||||
@ -267,6 +277,9 @@ void RicSummaryCurveCreator::defineUiOrdering(QString uiConfigName, caf::PdmUiOr
|
||||
// Name config
|
||||
caf::PdmUiGroup* autoNameGroup = uiOrdering.addNewGroupWithKeyword("Curve Name Configuration", RiuSummaryCurveDefinitionKeywords::nameConfig());
|
||||
autoNameGroup->setCollapsedByDefault(true);
|
||||
|
||||
autoNameGroup->add(&m_useAutoPlotTitleProxy);
|
||||
|
||||
m_curveNameConfig->uiOrdering(uiConfigName, *autoNameGroup);
|
||||
|
||||
// Fields to be displayed directly in UI
|
||||
@ -494,6 +507,9 @@ void RicSummaryCurveCreator::populateCurveCreator(const RimSummaryPlot& sourceSu
|
||||
curve->setCurveVisiblity(false);
|
||||
}
|
||||
|
||||
m_previewPlot->enableAutoPlotTitle(sourceSummaryPlot.autoPlotTitle());
|
||||
m_previewPlot->updatePlotTitle();
|
||||
|
||||
m_summaryCurveSelectionEditor->summaryAddressSelection()->setSelectedCurveDefinitions(curveDefs);
|
||||
|
||||
updateAppearanceEditor();
|
||||
@ -518,6 +534,8 @@ void RicSummaryCurveCreator::updateTargetPlot()
|
||||
copyCurveAndAddToPlot(editedCurve, m_targetPlot);
|
||||
}
|
||||
|
||||
m_targetPlot->enableAutoPlotTitle(m_useAutoPlotTitleProxy());
|
||||
|
||||
m_targetPlot->loadDataAndUpdate();
|
||||
m_targetPlot->updateConnectedEditors();
|
||||
}
|
||||
@ -728,3 +746,22 @@ void RicSummaryCurveCreator::selectionEditorFieldChanged()
|
||||
{
|
||||
syncPreviewCurvesFromUiSelection();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicSummaryCurveCreator::proxyEnablePlotAutoTitle(const bool& enable)
|
||||
{
|
||||
m_previewPlot->enableAutoPlotTitle(enable);
|
||||
m_previewPlot->enableShowPlotTitle(enable);
|
||||
m_previewPlot->updateCurveNames();
|
||||
m_previewPlot->loadDataAndUpdate();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicSummaryCurveCreator::proxyPlotAutoTitle() const
|
||||
{
|
||||
return m_previewPlot->autoPlotTitle();
|
||||
}
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmPointer.h"
|
||||
#include "cafPdmProxyValueField.h"
|
||||
#include "cafPdmPtrArrayField.h"
|
||||
#include "cafPdmPtrField.h"
|
||||
|
||||
@ -97,11 +98,16 @@ private:
|
||||
static RimSummaryCase* calculatedSummaryCase();
|
||||
void selectionEditorFieldChanged();
|
||||
|
||||
void proxyEnablePlotAutoTitle(const bool& enable);
|
||||
bool proxyPlotAutoTitle() const;
|
||||
|
||||
private:
|
||||
caf::PdmPtrField<RimSummaryPlot*> m_targetPlot;
|
||||
|
||||
std::unique_ptr<RimSummaryPlot> m_previewPlot;
|
||||
|
||||
caf::PdmProxyValueField<bool> m_useAutoPlotTitleProxy;
|
||||
|
||||
caf::PdmField<bool> m_useAutoAppearanceAssignment;
|
||||
caf::PdmField<bool> m_appearanceApplyButton;
|
||||
caf::PdmField< AppearanceTypeAppEnum > m_caseAppearanceType;
|
||||
|
@ -72,8 +72,8 @@ RimSummaryPlot::RimSummaryPlot()
|
||||
CAF_PDM_InitField(&m_legendFontSize, "LegendFontSize", 11, "Legend Font Size", "", "", "");
|
||||
m_showLegend.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
|
||||
CAF_PDM_InitField(&m_isUsingAutoName, "IsUsingAutoName", false, "Auto Name", "", "", "");
|
||||
m_isUsingAutoName.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
CAF_PDM_InitField(&m_useAutoPlotTitle, "IsUsingAutoName", false, "Auto Name", "", "", "");
|
||||
m_useAutoPlotTitle.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_curveFilters_OBSOLETE, "SummaryCurveFilters", "", "", "", "");
|
||||
m_curveFilters_OBSOLETE.uiCapability()->setUiTreeHidden(true);
|
||||
@ -496,11 +496,11 @@ RiuSummaryQwtPlot* RimSummaryPlot::qwtPlot() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryPlot::updatePlotTitle()
|
||||
{
|
||||
if (m_isUsingAutoName)
|
||||
if (m_useAutoPlotTitle)
|
||||
{
|
||||
m_userDefinedPlotTitle = generatePlotTitle(m_nameHelper.get());
|
||||
|
||||
updateAutoNameOfCurves();
|
||||
updateCurveNames();
|
||||
|
||||
this->updateConnectedEditors();
|
||||
}
|
||||
@ -513,7 +513,7 @@ void RimSummaryPlot::updatePlotTitle()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const RimSummaryPlotNameHelper* RimSummaryPlot::activePlotTitleHelper() const
|
||||
{
|
||||
if (m_isUsingAutoName())
|
||||
if (m_useAutoPlotTitle())
|
||||
{
|
||||
return m_nameHelper.get();
|
||||
}
|
||||
@ -1041,12 +1041,12 @@ void RimSummaryPlot::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c
|
||||
changedField == &m_showPlotTitle ||
|
||||
changedField == &m_showLegend ||
|
||||
changedField == &m_legendFontSize ||
|
||||
changedField == &m_isUsingAutoName)
|
||||
changedField == &m_useAutoPlotTitle)
|
||||
{
|
||||
updatePlotTitle();
|
||||
}
|
||||
|
||||
if (changedField == &m_isUsingAutoName && !m_isUsingAutoName)
|
||||
if (changedField == &m_useAutoPlotTitle && !m_useAutoPlotTitle)
|
||||
{
|
||||
// When auto name of plot is turned off, update the auto name for all curves
|
||||
|
||||
@ -1216,17 +1216,25 @@ QString RimSummaryPlot::description() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryPlot::setShowDescription(bool showDescription)
|
||||
void RimSummaryPlot::enableShowPlotTitle(bool enable)
|
||||
{
|
||||
m_showPlotTitle = showDescription;
|
||||
m_showPlotTitle = enable;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryPlot::enableAutoName(bool enable)
|
||||
void RimSummaryPlot::enableAutoPlotTitle(bool enable)
|
||||
{
|
||||
m_isUsingAutoName = enable;
|
||||
m_useAutoPlotTitle = enable;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimSummaryPlot::autoPlotTitle() const
|
||||
{
|
||||
return m_useAutoPlotTitle;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -1242,7 +1250,7 @@ void RimSummaryPlot::setAsCrossPlot()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryPlot::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
uiOrdering.add(&m_isUsingAutoName);
|
||||
uiOrdering.add(&m_useAutoPlotTitle);
|
||||
uiOrdering.add(&m_userDefinedPlotTitle);
|
||||
uiOrdering.add(&m_showPlotTitle);
|
||||
uiOrdering.add(&m_showLegend);
|
||||
@ -1252,7 +1260,7 @@ void RimSummaryPlot::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering&
|
||||
uiOrdering.add(&m_legendFontSize);
|
||||
}
|
||||
|
||||
m_userDefinedPlotTitle.uiCapability()->setUiReadOnly(m_isUsingAutoName);
|
||||
m_userDefinedPlotTitle.uiCapability()->setUiReadOnly(m_useAutoPlotTitle);
|
||||
|
||||
uiOrdering.skipRemainingFields(true);
|
||||
}
|
||||
@ -1393,7 +1401,7 @@ QString RimSummaryPlot::generatePlotTitle(RimSummaryPlotNameHelper* nameHelper)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryPlot::updateAutoNameOfCurves()
|
||||
void RimSummaryPlot::updateCurveNames()
|
||||
{
|
||||
if (m_summaryCurveCollection->isCurvesVisible())
|
||||
{
|
||||
@ -1479,7 +1487,7 @@ void RimSummaryPlot::defineEditorAttribute(const caf::PdmFieldHandle* field, QSt
|
||||
{
|
||||
if (field == &m_showLegend ||
|
||||
field == &m_showPlotTitle ||
|
||||
field == &m_isUsingAutoName)
|
||||
field == &m_useAutoPlotTitle)
|
||||
{
|
||||
caf::PdmUiCheckBoxEditorAttribute* myAttr = dynamic_cast<caf::PdmUiCheckBoxEditorAttribute*>(attribute);
|
||||
if (myAttr)
|
||||
|
@ -61,8 +61,10 @@ public:
|
||||
|
||||
void setDescription(const QString& description);
|
||||
QString description() const;
|
||||
void setShowDescription(bool showDescription);
|
||||
void enableAutoName(bool enable);
|
||||
|
||||
void enableShowPlotTitle(bool enable);
|
||||
void enableAutoPlotTitle(bool enable);
|
||||
bool autoPlotTitle() const;
|
||||
|
||||
void addCurveAndUpdate(RimSummaryCurve* curve);
|
||||
void addCurveNoUpdate(RimSummaryCurve* curve);
|
||||
@ -70,7 +72,6 @@ public:
|
||||
void deleteCurve(RimSummaryCurve* curve);
|
||||
void setCurveCollection(RimSummaryCurveCollection* curveCollection);
|
||||
void deleteCurvesAssosiatedWithCase(RimSummaryCase* summaryCase);
|
||||
//void deleteAllTopLevelCurves();
|
||||
|
||||
void addGridTimeHistoryCurve(RimGridTimeHistoryCurve* curve);
|
||||
|
||||
@ -111,6 +112,7 @@ public:
|
||||
void updatePlotTitle();
|
||||
|
||||
const RimSummaryPlotNameHelper* activePlotTitleHelper() const;
|
||||
void updateCurveNames();
|
||||
QString generatedPlotTitleFromVisibleCurves() const;
|
||||
|
||||
// RimViewWindow overrides
|
||||
@ -122,7 +124,6 @@ public:
|
||||
private:
|
||||
void updateMdiWindowTitle() override;
|
||||
QString generatePlotTitle(RimSummaryPlotNameHelper* nameHelper) const;
|
||||
void updateAutoNameOfCurves();
|
||||
|
||||
protected:
|
||||
// Overridden PDM methods
|
||||
@ -157,7 +158,7 @@ private:
|
||||
caf::PdmField<bool> m_showLegend;
|
||||
caf::PdmField<int> m_legendFontSize;
|
||||
|
||||
caf::PdmField<bool> m_isUsingAutoName;
|
||||
caf::PdmField<bool> m_useAutoPlotTitle;
|
||||
caf::PdmField<QString> m_userDefinedPlotTitle;
|
||||
|
||||
caf::PdmChildArrayField<RimGridTimeHistoryCurve*> m_gridTimeHistoryCurves;
|
||||
|
@ -45,10 +45,10 @@ RimSummaryPlotCollection::~RimSummaryPlotCollection()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryPlot* RimSummaryPlotCollection::createSummaryPlotAutoName()
|
||||
RimSummaryPlot* RimSummaryPlotCollection::createSummaryPlotWithAutoTitle()
|
||||
{
|
||||
RimSummaryPlot* plot = new RimSummaryPlot();
|
||||
plot->enableAutoName(true);
|
||||
plot->enableAutoPlotTitle(true);
|
||||
summaryPlots.push_back(plot);
|
||||
|
||||
return plot;
|
||||
|
@ -36,7 +36,7 @@ public:
|
||||
|
||||
caf::PdmChildArrayField<RimSummaryPlot*> summaryPlots;
|
||||
|
||||
RimSummaryPlot* createSummaryPlotAutoName();
|
||||
RimSummaryPlot* createSummaryPlotWithAutoTitle();
|
||||
RimSummaryPlot* createNamedSummaryPlot(const QString& name);
|
||||
|
||||
void updateSummaryNameHasChanged();
|
||||
|
Loading…
Reference in New Issue
Block a user