mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1889 Curve Creator : Add field editors at bottom of dialog
This commit is contained in:
parent
c00fb2d1f9
commit
5eeefc2511
@ -21,22 +21,24 @@
|
|||||||
#include "RiaApplication.h"
|
#include "RiaApplication.h"
|
||||||
|
|
||||||
#include "RicSummaryCurveCreatorUiKeywords.h"
|
#include "RicSummaryCurveCreatorUiKeywords.h"
|
||||||
|
|
||||||
#include "RifReaderEclipseSummary.h"
|
#include "RifReaderEclipseSummary.h"
|
||||||
|
|
||||||
#include "RigSummaryCaseData.h"
|
#include "RigSummaryCaseData.h"
|
||||||
|
|
||||||
|
#include "RimMainPlotCollection.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimSummaryCase.h"
|
#include "RimSummaryCase.h"
|
||||||
#include "RimSummaryCase.h"
|
#include "RimSummaryCase.h"
|
||||||
#include "RimSummaryPlot.h"
|
#include "RimSummaryPlot.h"
|
||||||
|
#include "RimSummaryPlotCollection.h"
|
||||||
|
|
||||||
#include "cafPdmUiListEditor.h"
|
#include "cafPdmUiListEditor.h"
|
||||||
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
#include "cafPdmUiTreeSelectionEditor.h"
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <stack>
|
#include <stack>
|
||||||
|
#include "RicSelectSummaryPlotUI.h"
|
||||||
|
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT(RicSummaryCurveCreator, "RicSummaryCurveCreator");
|
CAF_PDM_SOURCE_INIT(RicSummaryCurveCreator, "RicSummaryCurveCreator");
|
||||||
@ -158,7 +160,7 @@ RicSummaryCurveCreator::RicSummaryCurveCreator() : m_identifierFieldsMap(
|
|||||||
CAF_PDM_InitFieldNoDefault(m_identifierFieldsMap[RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR][2]->pdmField(), "BlockLgrVectors", "Block Vectors", "", "", "");
|
CAF_PDM_InitFieldNoDefault(m_identifierFieldsMap[RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR][2]->pdmField(), "BlockLgrVectors", "Block Vectors", "", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_previewPlot, "PreviewPlot", "PreviewPlot", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_previewPlot, "PreviewPlot", "PreviewPlot", "", "", "");
|
||||||
CAF_PDM_InitFieldNoDefault(&m_targetPlot, "TargetPlot", "TargetPlot", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_targetPlot, "TargetPlot", "Target Plot", "", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_useAutoAppearanceAssignment, "UseAutoAppearanceAssignment", true, "Auto", "", "", "");
|
CAF_PDM_InitField(&m_useAutoAppearanceAssignment, "UseAutoAppearanceAssignment", true, "Auto", "", "", "");
|
||||||
CAF_PDM_InitFieldNoDefault(&m_caseAppearanceType, "CaseAppearanceType", "Case", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_caseAppearanceType, "CaseAppearanceType", "Case", "", "", "");
|
||||||
@ -191,6 +193,18 @@ RicSummaryCurveCreator::RicSummaryCurveCreator() : m_identifierFieldsMap(
|
|||||||
|
|
||||||
m_previewPlot.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
m_previewPlot.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||||
//m_previewPlot.uiCapability()->setUiEditorTypeName(caf::PdmUiTreeSelectionEditor::uiEditorTypeName());
|
//m_previewPlot.uiCapability()->setUiEditorTypeName(caf::PdmUiTreeSelectionEditor::uiEditorTypeName());
|
||||||
|
|
||||||
|
CAF_PDM_InitFieldNoDefault(&m_applyButtonField, "ApplySelection", "", "", "", "");
|
||||||
|
m_applyButtonField = false;
|
||||||
|
m_applyButtonField.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
||||||
|
m_applyButtonField.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||||
|
|
||||||
|
CAF_PDM_InitFieldNoDefault(&m_closeButtonField, "Close", "", "", "", "");
|
||||||
|
m_closeButtonField = false;
|
||||||
|
m_closeButtonField.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
||||||
|
m_closeButtonField.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||||
|
|
||||||
|
CAF_PDM_InitField(&m_createNewPlot, "CreateNewPlot", false, "Create New Plot", "", "", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -225,18 +239,31 @@ void RicSummaryCurveCreator::setTargetPlot(RimSummaryPlot* targetPlot)
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RicSummaryCurveCreator::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
void RicSummaryCurveCreator::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||||
{
|
{
|
||||||
// Lookup item type input field
|
if (changedField == &m_applyButtonField)
|
||||||
auto identifierAndField = findIdentifierAndField(changedField);
|
|
||||||
if (changedField == &m_selectedCases ||
|
|
||||||
changedField == &m_useAutoAppearanceAssignment ||
|
|
||||||
changedField == &m_caseAppearanceType ||
|
|
||||||
changedField == &m_variableAppearanceType ||
|
|
||||||
changedField == &m_wellAppearanceType ||
|
|
||||||
changedField == &m_groupAppearanceType ||
|
|
||||||
changedField == &m_regionAppearanceType ||
|
|
||||||
identifierAndField != nullptr)
|
|
||||||
{
|
{
|
||||||
loadDataAndUpdatePlot();
|
m_applyButtonField = false;
|
||||||
|
|
||||||
|
updateTargetPlot();
|
||||||
|
}
|
||||||
|
else if (changedField == &m_closeButtonField)
|
||||||
|
{
|
||||||
|
m_closeButtonField = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Lookup item type input field
|
||||||
|
auto identifierAndField = findIdentifierAndField(changedField);
|
||||||
|
if (changedField == &m_selectedCases ||
|
||||||
|
changedField == &m_useAutoAppearanceAssignment ||
|
||||||
|
changedField == &m_caseAppearanceType ||
|
||||||
|
changedField == &m_variableAppearanceType ||
|
||||||
|
changedField == &m_wellAppearanceType ||
|
||||||
|
changedField == &m_groupAppearanceType ||
|
||||||
|
changedField == &m_regionAppearanceType ||
|
||||||
|
identifierAndField != nullptr)
|
||||||
|
{
|
||||||
|
loadDataAndUpdatePlot();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -259,6 +286,16 @@ QList<caf::PdmOptionItemInfo> RicSummaryCurveCreator::calculateValueOptions(cons
|
|||||||
options.push_back(caf::PdmOptionItemInfo(rimCase->caseName(), rimCase));
|
options.push_back(caf::PdmOptionItemInfo(rimCase->caseName(), rimCase));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (fieldNeedingOptions == &m_targetPlot)
|
||||||
|
{
|
||||||
|
RimProject* proj = RiaApplication::instance()->project();
|
||||||
|
|
||||||
|
RimSummaryPlotCollection* summaryPlotColl = proj->mainPlotCollection()->summaryPlotCollection();
|
||||||
|
if (summaryPlotColl)
|
||||||
|
{
|
||||||
|
summaryPlotColl->summaryPlotItemInfos(&options);
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Lookup item type input field
|
// Lookup item type input field
|
||||||
@ -437,17 +474,13 @@ void RicSummaryCurveCreator::defineUiOrdering(QString uiConfigName, caf::PdmUiOr
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Dynamic item input editors
|
// Fields to be displayed directly in UI
|
||||||
/*
|
uiOrdering.add(&m_createNewPlot);
|
||||||
auto pdmFields = m_selectedIdentifiers[m_selectedSummaryCategory()];
|
uiOrdering.add(&m_targetPlot);
|
||||||
if (pdmFields.size() > 0)
|
uiOrdering.add(&m_applyButtonField);
|
||||||
{
|
uiOrdering.add(&m_closeButtonField);
|
||||||
auto groupLabel = QString("%1 input").arg(m_selectedSummaryCategory().uiText());
|
|
||||||
caf::PdmUiGroup* itemInputGroup = uiOrdering.addNewGroup(groupLabel);
|
m_targetPlot.uiCapability()->setUiReadOnly(m_createNewPlot);
|
||||||
for (const auto& pdmField : pdmFields)
|
|
||||||
itemInputGroup->add(pdmField->pdmField());
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
uiOrdering.skipRemainingFields(true);
|
uiOrdering.skipRemainingFields(true);
|
||||||
}
|
}
|
||||||
@ -844,6 +877,29 @@ std::set<std::string> RicSummaryCurveCreator::getAllSummaryWellNames()
|
|||||||
return summaryWellNames;
|
return summaryWellNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RicSummaryCurveCreator::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute)
|
||||||
|
{
|
||||||
|
if (&m_applyButtonField == field)
|
||||||
|
{
|
||||||
|
caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*> (attribute);
|
||||||
|
if (attrib)
|
||||||
|
{
|
||||||
|
attrib->m_buttonText = "Apply";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (&m_closeButtonField == field)
|
||||||
|
{
|
||||||
|
caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*> (attribute);
|
||||||
|
if (attrib)
|
||||||
|
{
|
||||||
|
attrib->m_buttonText = "Close";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
/// Populate curve creator from the given curve collection
|
/// Populate curve creator from the given curve collection
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -887,7 +943,6 @@ void RicSummaryCurveCreator::populateCurveCreator(const RimSummaryPlot& sourceSu
|
|||||||
m_previewPlot->updateConnectedEditors();
|
m_previewPlot->updateConnectedEditors();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
/// Copy curves from
|
/// Copy curves from
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -83,6 +83,8 @@ private:
|
|||||||
const QVariant& newValue);
|
const QVariant& newValue);
|
||||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly);
|
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly);
|
||||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||||
|
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName,
|
||||||
|
caf::PdmUiEditorAttribute* attribute) override;
|
||||||
|
|
||||||
|
|
||||||
std::set<RifEclipseSummaryAddress> findPossibleSummaryAddresses(const SummaryIdentifierAndField *identifierAndField);
|
std::set<RifEclipseSummaryAddress> findPossibleSummaryAddresses(const SummaryIdentifierAndField *identifierAndField);
|
||||||
@ -121,4 +123,8 @@ private:
|
|||||||
caf::PdmField< AppearanceTypeAppEnum > m_wellAppearanceType;
|
caf::PdmField< AppearanceTypeAppEnum > m_wellAppearanceType;
|
||||||
caf::PdmField< AppearanceTypeAppEnum > m_groupAppearanceType;
|
caf::PdmField< AppearanceTypeAppEnum > m_groupAppearanceType;
|
||||||
caf::PdmField< AppearanceTypeAppEnum > m_regionAppearanceType;
|
caf::PdmField< AppearanceTypeAppEnum > m_regionAppearanceType;
|
||||||
|
|
||||||
|
caf::PdmField<bool> m_createNewPlot;
|
||||||
|
caf::PdmField<bool> m_applyButtonField;
|
||||||
|
caf::PdmField<bool> m_closeButtonField;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user