From b49396b88c4b9d72f380b91f39397afee2a4f344 Mon Sep 17 00:00:00 2001 From: Rebecca Cox Date: Tue, 13 Feb 2018 10:49:26 +0100 Subject: [PATCH] #588 GeoMech Color result: Make active result visible in property editor when selecting a object ofType/containing Result definition --- .../ProjectDataModel/RimGeoMechResultDefinition.cpp | 13 +++++++++++-- .../ProjectDataModel/RimGeoMechResultDefinition.h | 3 ++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp b/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp index 77decdf994..df30ec308f 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp +++ b/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.cpp @@ -94,8 +94,7 @@ RimGeoMechResultDefinition::RimGeoMechResultDefinition(void) m_resultVariableUiField.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName()); m_resultVariableUiField.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::TOP); - - + m_isChangedByField = false; } //-------------------------------------------------------------------------------------------------- @@ -122,6 +121,14 @@ void RimGeoMechResultDefinition::defineUiOrdering(QString uiConfigName, caf::Pdm timeLapseGr->add(&m_timeLapseBaseTimestepUiField); } + if (!m_isChangedByField) + { + m_resultPositionTypeUiField = m_resultPositionType; + m_resultVariableUiField = composeFieldCompString(m_resultFieldName(), m_resultComponentName()); + } + + m_isChangedByField = false; + uiOrdering.skipRemainingFields(true); } @@ -187,6 +194,8 @@ void RimGeoMechResultDefinition::setGeoMechCase(RimGeoMechCase* geomCase) //-------------------------------------------------------------------------------------------------- void RimGeoMechResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) { + m_isChangedByField = true; + if( &m_resultPositionTypeUiField == changedField || &m_isTimeLapseResultUiField == changedField || &m_timeLapseBaseTimestepUiField == changedField) diff --git a/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.h b/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.h index 428406fe06..bb4dfeeb7a 100644 --- a/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.h +++ b/ApplicationCode/ProjectDataModel/RimGeoMechResultDefinition.h @@ -113,6 +113,7 @@ private: caf::PdmField m_isTimeLapseResultUiField; caf::PdmField m_timeLapseBaseTimestepUiField; - caf::PdmPointer m_geomCase; + + bool m_isChangedByField; };