//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimGeoMechResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) { if(&m_resultPositionTypeUiField == changedField) { std::map<std::string, std::vector<std::string> > fieldCompNames = getResultMetaDataForUIFieldSetting(); QStringList uiVarNames; QStringList varNames; getUiAndResultVariableStringList(&uiVarNames, &varNames, fieldCompNames); if (m_resultPositionTypeUiField() == m_resultPositionType() && varNames.contains(composeUiVarString(m_resultFieldName(), m_resultComponentName()))) { m_resultVariableUiField = composeUiVarString(m_resultFieldName(), m_resultComponentName()); } else { m_resultVariableUiField = ""; } } if (&m_resultVariableUiField == changedField) { QStringList fieldComponentNames = m_resultVariableUiField().split(QRegExp("\\s+")); if (fieldComponentNames.size() > 0) { m_resultPositionType = m_resultPositionTypeUiField; m_resultFieldName = fieldComponentNames[0]; if (fieldComponentNames.size() > 1) { m_resultComponentName = fieldComponentNames[1]; } else { m_resultComponentName = ""; } if (m_reservoirView->geoMechCase()->geoMechData()->femPartResults()->assertResultsLoaded(this->resultAddress())) { m_reservoirView->hasUserRequestedAnimation = true; } if (m_propertyFilter) { m_propertyFilter->setToDefaultValues(); ((RimView*)reservoirView())->scheduleGeometryRegen(PROPERTY_FILTERED); } reservoirView()->scheduleCreateDisplayModelAndRedraw(); } } if (m_propertyFilter) { m_propertyFilter->updateConnectedEditors(); } }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimGeoMechPropertyFilterCollection::loadAndInitializePropertyFilters() { for (size_t i = 0; i < propertyFilters.size(); i++) { RimGeoMechPropertyFilter* propertyFilter = propertyFilters[i]; propertyFilter->resultDefinition->setGeoMechCase(reservoirView()->geoMechCase()); propertyFilter->resultDefinition->loadResult(); propertyFilter->computeResultValueRange(); propertyFilter->updateFieldVisibility(); } }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimGeoMechPropertyFilterCollection::initAfterRead() { for (size_t i = 0; i < propertyFilters.size(); i++) { RimGeoMechPropertyFilter* propertyFilter = propertyFilters[i]; propertyFilter->setParentContainer(this); propertyFilter->resultDefinition->setGeoMechCase(reservoirView()->geoMechCase()); propertyFilter->updateIconState(); } updateIconState(); }