#1921 Curve Creator. Add curve name config

This commit is contained in:
Bjørn Erik Jensen 2017-09-22 09:54:40 +02:00
parent f2d32a5833
commit 1590a2a26e
6 changed files with 66 additions and 21 deletions

View File

@ -50,6 +50,7 @@
#include "RimSummaryCaseMainCollection.h" #include "RimSummaryCaseMainCollection.h"
#include "RimOilField.h" #include "RimOilField.h"
#include "RimSummaryCaseCollection.h" #include "RimSummaryCaseCollection.h"
#include "RimSummaryCurveAutoName.h"
CAF_PDM_SOURCE_INIT(RicSummaryCurveCreator, "RicSummaryCurveCreator"); CAF_PDM_SOURCE_INIT(RicSummaryCurveCreator, "RicSummaryCurveCreator");
@ -217,6 +218,12 @@ RicSummaryCurveCreator::RicSummaryCurveCreator() : m_identifierFieldsMap(
m_appearanceApplyButton = false; m_appearanceApplyButton = false;
m_appearanceApplyButton.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName()); m_appearanceApplyButton.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
m_appearanceApplyButton.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::LEFT); m_appearanceApplyButton.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::LEFT);
CAF_PDM_InitField(&m_showLegend, "ShowLegend", true, "Contribute To Legend", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_curveNameConfig, "SummaryCurveNameConfig", "SummaryCurveNameConfig", "", "", "");
m_curveNameConfig = new RimSummaryCurveAutoName();
m_curveNameConfig.uiCapability()->setUiHidden(true);
m_curveNameConfig.uiCapability()->setUiTreeChildrenHidden(true);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -308,6 +315,13 @@ void RicSummaryCurveCreator::fieldChangedByUi(const caf::PdmFieldHandle* changed
m_previewPlot->loadDataAndUpdate(); m_previewPlot->loadDataAndUpdate();
m_appearanceApplyButton = false; m_appearanceApplyButton = false;
} }
else if (changedField == &m_showLegend)
{
for (auto curve : m_previewPlot->summaryCurves())
{
curve->showLegend(m_showLegend());
}
}
else else
{ {
// Lookup item type input field // Lookup item type input field
@ -597,6 +611,12 @@ void RicSummaryCurveCreator::defineUiOrdering(QString uiConfigName, caf::PdmUiOr
m_regionAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment); m_regionAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment);
} }
// Name config
caf::PdmUiGroup* autoNameGroup = uiOrdering.addNewGroupWithKeyword("Curve Name Configuration", RicSummaryCurveCreatorUiKeywords::nameConfig());
autoNameGroup->setCollapsedByDefault(true);
autoNameGroup->add(&m_showLegend);
m_curveNameConfig->uiOrdering(uiConfigName, *autoNameGroup);
// Fields to be displayed directly in UI // Fields to be displayed directly in UI
uiOrdering.add(&m_targetPlot); uiOrdering.add(&m_targetPlot);
uiOrdering.add(&m_okButtonField); uiOrdering.add(&m_okButtonField);
@ -914,6 +934,7 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(const std::
RimSummaryCurve* curve = new RimSummaryCurve(); RimSummaryCurve* curve = new RimSummaryCurve();
curve->setSummaryCase(currentCase); curve->setSummaryCase(currentCase);
curve->setSummaryAddress(curveDef.second); curve->setSummaryAddress(curveDef.second);
curve->applyCurveAutoNameSettings(*m_curveNameConfig());
m_previewPlot->addCurve(curve); m_previewPlot->addCurve(curve);
curveLookCalc.setupCurveLook(curve); curveLookCalc.setupCurveLook(curve);
} }
@ -1259,3 +1280,15 @@ void RicSummaryCurveCreator::createNewPlot()
} }
} }
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicSummaryCurveCreator::updateCurveNames()
{
for (RimSummaryCurve* curve : m_previewPlot->summaryCurves())
{
curve->applyCurveAutoNameSettings(*m_curveNameConfig());
curve->updateCurveName();
}
}

View File

@ -34,7 +34,7 @@
#include "RimSummaryCurveAppearanceCalculator.h" #include "RimSummaryCurveAppearanceCalculator.h"
class RimSummaryCase; class RimSummaryCase;
class RimSummaryCurveAutoName;
//================================================================================================== //==================================================================================================
/// ///
@ -79,6 +79,7 @@ public:
bool isCloseButtonPressed() const; bool isCloseButtonPressed() const;
void clearCloseButton(); void clearCloseButton();
void updateCurveNames();
private: private:
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField,
@ -147,6 +148,9 @@ private:
caf::PdmField< AppearanceTypeAppEnum > m_groupAppearanceType; caf::PdmField< AppearanceTypeAppEnum > m_groupAppearanceType;
caf::PdmField< AppearanceTypeAppEnum > m_regionAppearanceType; caf::PdmField< AppearanceTypeAppEnum > m_regionAppearanceType;
caf::PdmField<bool> m_showLegend;
caf::PdmChildField<RimSummaryCurveAutoName*> m_curveNameConfig;
caf::PdmField<bool> m_okButtonField; caf::PdmField<bool> m_okButtonField;
caf::PdmField<bool> m_applyButtonField; caf::PdmField<bool> m_applyButtonField;
caf::PdmField<bool> m_closeButtonField; caf::PdmField<bool> m_closeButtonField;

View File

@ -76,14 +76,10 @@ void RicSummaryCurveCreatorSplitterUi::recursivelyConfigureAndUpdateTopLevelUiIt
if (topLevelUiItems[i]->isUiGroup()) if (topLevelUiItems[i]->isUiGroup())
{ {
caf::PdmUiGroup* group = static_cast<caf::PdmUiGroup*>(topLevelUiItems[i]); caf::PdmUiGroup* group = static_cast<caf::PdmUiGroup*>(topLevelUiItems[i]);
auto groupBox = createGroupBoxWithContent(group, uiConfigName);
QMinimizePanel* groupBox = findOrCreateGroupBox(this->widget(), group, uiConfigName);
m_firstRowLayout->addWidget(groupBox); m_firstRowLayout->addWidget(groupBox);
const std::vector<caf::PdmUiItem*>& groupChildren = group->uiItems();
recursivelyConfigureAndUpdateUiItemsInGridLayoutColumn(groupChildren, groupBox->contentFrame(), uiConfigName);
// Add group boxes until summaries are detected // Add group boxes until summaries are detected
if (group->keyword() == RicSummaryCurveCreatorUiKeywords::summaries()) if (group->keyword() == RicSummaryCurveCreatorUiKeywords::summaries())
@ -94,17 +90,13 @@ void RicSummaryCurveCreatorSplitterUi::recursivelyConfigureAndUpdateTopLevelUiIt
m_lowerLeftLayout->insertWidget(0, getOrCreateCurveTreeWidget(), 1); m_lowerLeftLayout->insertWidget(0, getOrCreateCurveTreeWidget(), 1);
{ caf::PdmUiGroup* appearanceGroup = findGroupByKeyword(topLevelUiItems, RicSummaryCurveCreatorUiKeywords::nameConfig(), uiConfigName);
caf::PdmUiGroup* group = findGroupByKeyword(topLevelUiItems, RicSummaryCurveCreatorUiKeywords::appearance(), uiConfigName); auto appearanceGroupBox = createGroupBoxWithContent(appearanceGroup, uiConfigName);
m_lowerLeftLayout->insertWidget(1, appearanceGroupBox);
QMinimizePanel* groupBox = findOrCreateGroupBox(this->widget(), group, uiConfigName);
m_lowerLeftLayout->insertWidget(1, groupBox);
const std::vector<caf::PdmUiItem*>& groupChildren = group->uiItems();
recursivelyConfigureAndUpdateUiItemsInGridLayoutColumn(groupChildren, groupBox->contentFrame(), uiConfigName);
}
caf::PdmUiGroup* nameConfigGroup = findGroupByKeyword(topLevelUiItems, RicSummaryCurveCreatorUiKeywords::nameConfig(), uiConfigName);
auto nameConfigGroupBox = createGroupBoxWithContent(nameConfigGroup, uiConfigName);
m_lowerLeftLayout->insertWidget(2, nameConfigGroupBox);
m_secondRowLayout->insertWidget(1, getOrCreatePlotWidget()); m_secondRowLayout->insertWidget(1, getOrCreatePlotWidget());
@ -283,3 +275,16 @@ void RicSummaryCurveCreatorSplitterUi::configureAndUpdateFields(int widgetStartI
} }
} }
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QMinimizePanel* RicSummaryCurveCreatorSplitterUi::createGroupBoxWithContent(caf::PdmUiGroup* group,
const QString& uiConfigName)
{
QMinimizePanel* groupBox = findOrCreateGroupBox(this->widget(), group, uiConfigName);
const std::vector<caf::PdmUiItem*>& groupChildren = group->uiItems();
recursivelyConfigureAndUpdateUiItemsInGridLayoutColumn(groupChildren, groupBox->contentFrame(), uiConfigName);
return groupBox;
}

View File

@ -66,6 +66,8 @@ private:
const std::vector<caf::PdmUiItem *>& topLevelUiItems, const std::vector<caf::PdmUiItem *>& topLevelUiItems,
const QString& uiConfigName); const QString& uiConfigName);
QMinimizePanel* createGroupBoxWithContent(caf::PdmUiGroup* group,
const QString& uiConfigName);
signals: signals:
void signalCloseButtonPressed(); void signalCloseButtonPressed();

View File

@ -40,4 +40,5 @@ public:
static QString lgrWells() { return "LgrWellsKeyword"; }; static QString lgrWells() { return "LgrWellsKeyword"; };
static QString wellSegments() { return "WellSegmentsKeyword"; }; static QString wellSegments() { return "WellSegmentsKeyword"; };
static QString appearance() { return "AppearanceKeyword"; }; static QString appearance() { return "AppearanceKeyword"; };
static QString nameConfig() { return "NameConfigKeyword"; };
}; };

View File

@ -22,9 +22,9 @@
#include "RimSummaryCurve.h" #include "RimSummaryCurve.h"
#include "RimSummaryCase.h" #include "RimSummaryCase.h"
#include "RimSummaryCurveFilter.h"
#include "cafPdmUiPushButtonEditor.h" #include "cafPdmUiPushButtonEditor.h"
#include "SummaryPlotCommands/RicSummaryCurveCreator.h"
@ -245,11 +245,11 @@ void RimSummaryCurveAutoName::fieldChangedByUi(const caf::PdmFieldHandle* change
summaryCurve->updateConnectedEditors(); summaryCurve->updateConnectedEditors();
} }
RimSummaryCurveFilter* summaryCurveFilter = dynamic_cast<RimSummaryCurveFilter*>(this->parentField()->ownerObject()); RicSummaryCurveCreator* curveCreator = dynamic_cast<RicSummaryCurveCreator*>(this->parentField()->ownerObject());
if (summaryCurveFilter) if (curveCreator)
{ {
summaryCurveFilter->updateCurveNames(); curveCreator->updateCurveNames();
summaryCurveFilter->updateConnectedEditors(); curveCreator->updateConnectedEditors();
} }
} }