//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimGeoMechPropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { uiOrdering.add(&name); caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result"); resultDefinition->uiOrdering(uiConfigName, *group1); caf::PdmUiGroup& group2 = *(uiOrdering.addNewGroup("Filter Settings")); group2.add(&filterMode); if ( resultDefinition->hasCategoryResult() ) { group2.add(&m_selectedCategoryValues); } else { group2.add(&lowerBound); group2.add(&upperBound); } updateReadOnlyStateOfAllFields(); uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void Rim3dWellLogExtractionCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup("Curve Data"); curveDataGroup->add(&m_case); RimGeoMechCase* geomCase = dynamic_cast<RimGeoMechCase*>(m_case.value()); RimEclipseCase* eclipseCase = dynamic_cast<RimEclipseCase*>(m_case.value()); if (eclipseCase) { m_eclipseResultDefinition->uiOrdering(uiConfigName, *curveDataGroup); } else if (geomCase) { m_geomResultDefinition->uiOrdering(uiConfigName, *curveDataGroup); } if ((eclipseCase && m_eclipseResultDefinition->hasDynamicResult()) || geomCase) { curveDataGroup->add(&m_timeStep); } Rim3dWellLogCurve::configurationUiOrdering(uiOrdering); m_nameConfig()->createUiGroup(uiConfigName, uiOrdering); uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void Rim3dOverlayInfoConfig::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { caf::PdmUiGroup* visGroup = uiOrdering.addNewGroup("Visibility"); visGroup->add(&m_showAnimProgress); visGroup->add(&m_showCaseInfo); visGroup->add(&m_showResultInfo); RimGeoMechView * geoMechView = dynamic_cast<RimGeoMechView*>(m_viewDef.p()); if (!geoMechView) { visGroup->add(&m_showVolumeWeightedMean); } visGroup->add(&m_showHistogram); caf::PdmUiGroup* statGroup = uiOrdering.addNewGroup("Statistics Options"); RimEclipseView * eclipseView = dynamic_cast<RimEclipseView*>(m_viewDef.p()); if (!eclipseView || !eclipseView->cellResult()->isFlowDiagOrInjectionFlooding()) { statGroup->add(&m_statisticsTimeRange); } statGroup->add(&m_statisticsCellRange); uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimGridInfo::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { uiOrdering.add(&m_gridName); uiOrdering.add(&m_eclipseGridIndex); uiOrdering.skipRemainingFields(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimPerforationInterval::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { { RimWellPath* wellPath; firstAncestorOrThisOfType(wellPath); if (wellPath) { if (wellPath->unitSystem() == RiaEclipseUnitTools::UNITS_METRIC) { m_startMD.uiCapability()->setUiName("Start MD [m]"); m_endMD.uiCapability()->setUiName("End MD [m]"); m_diameter.uiCapability()->setUiName("Diameter [m]"); } else if (wellPath->unitSystem() == RiaEclipseUnitTools::UNITS_FIELD) { m_startMD.uiCapability()->setUiName("Start MD [ft]"); m_endMD.uiCapability()->setUiName("End MD [ft]"); m_diameter.uiCapability()->setUiName("Diameter [ft]"); } } } m_date.uiCapability()->setUiReadOnly(m_startOfHistory()); uiOrdering.add(&m_startMD); uiOrdering.add(&m_endMD); uiOrdering.add(&m_diameter); uiOrdering.add(&m_skinFactor); uiOrdering.add(&m_startOfHistory); uiOrdering.add(&m_date); uiOrdering.skipRemainingFields(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimWellLogPlot::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { uiOrdering.add(&m_userName); uiOrderingForPlot(uiOrdering); uiOrderingForVisibleDepthRange(uiOrdering); uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimFractureTemplate::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { prepareFieldsForUiDisplay(); { auto group = uiOrdering.addNewGroup("Sensitivity Scale Factors"); group->setCollapsedByDefault(false); group->add(&m_heightScaleFactor); group->add(&m_widthScaleFactor); group->add(&m_dFactorScaleFactor); group->add(&m_conductivityScaleFactor); group->add(&m_scaleApplyButton); } auto nonDarcyFlowGroup = uiOrdering.addNewGroup("Non-Darcy Flow"); nonDarcyFlowGroup->add(&m_nonDarcyFlowType); if (m_nonDarcyFlowType == RimFractureTemplate::NON_DARCY_USER_DEFINED) { nonDarcyFlowGroup->add(&m_userDefinedDFactor); } if (m_nonDarcyFlowType == RimFractureTemplate::NON_DARCY_COMPUTED) { nonDarcyFlowGroup->add(&m_inertialCoefficient); { auto group = nonDarcyFlowGroup->addNewGroup("Effective Permeability"); group->add(&m_permeabilityType); group->add(&m_relativePermeability); group->add(&m_userDefinedEffectivePermeability); } { auto group = nonDarcyFlowGroup->addNewGroup("Width"); group->add(&m_fractureWidthType); group->add(&m_fractureWidth); } nonDarcyFlowGroup->add(&m_relativeGasDensity); nonDarcyFlowGroup->add(&m_gasViscosity); nonDarcyFlowGroup->add(&m_dFactorDisplayField); { auto group = nonDarcyFlowGroup->addNewGroup("D Factor Details"); group->setCollapsedByDefault(true); group->add(&m_dFactorSummaryText); } } uiOrdering.add(&m_fractureTemplateUnit); uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimAnnotationLineAppearance::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { if (!m_lineFieldsHidden()) { uiOrdering.add(&m_color); uiOrdering.add(&m_style); uiOrdering.add(&m_thickness); } uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimPolylineAppearance::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { RimAnnotationLineAppearance::defineUiOrdering(uiConfigName, uiOrdering); if (!m_sphereFieldsHidden) { uiOrdering.add(&m_sphereColor); uiOrdering.add(&m_sphereRadiusFactor); } uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimWellPathFracture::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { RimFracture::defineUiOrdering(uiConfigName, uiOrdering); if (m_fractureTemplate()) { uiOrdering.add(nameField(), caf::PdmUiOrdering::LayoutOptions(true, 3, 1)); uiOrdering.add(&m_fractureTemplate, {true, 2, 1}); uiOrdering.add(&m_editFractureTemplate, {false, 1, 0}); } else { uiOrdering.add(nameField()); { RimProject* project = nullptr; this->firstAncestorOrThisOfTypeAsserted(project); if (project->allFractureTemplates().empty()) { uiOrdering.add(&m_createEllipseFractureTemplate); uiOrdering.add(&m_createStimPlanFractureTemplate, false); } else { uiOrdering.add(&m_fractureTemplate); } } } caf::PdmUiGroup* locationGroup = uiOrdering.addNewGroup("Location / Orientation"); locationGroup->add(&m_measuredDepth); locationGroup->add(&m_azimuth); locationGroup->add(&m_uiWellPathAzimuth); locationGroup->add(&m_uiWellFractureAzimuthDiff); locationGroup->add(&m_wellFractureAzimuthAngleWarning); locationGroup->add(&m_dip); locationGroup->add(&m_tilt); caf::PdmUiGroup* propertyGroup = uiOrdering.addNewGroup("Properties"); propertyGroup->add(&m_fractureUnit); propertyGroup->add(&m_stimPlanTimeIndexToPlot); propertyGroup->add(&m_perforationLength); propertyGroup->add(&m_perforationEfficiency); propertyGroup->add(&m_wellDiameter); caf::PdmUiGroup* fractureCenterGroup = uiOrdering.addNewGroup("Fracture Center Info"); fractureCenterGroup->add(&m_uiAnchorPosition); uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RicSummaryCurveCreator::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { // Appearance settings caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroupWithKeyword("Curve Appearance Assignment", RiuSummaryCurveDefinitionKeywords::appearance()); caf::PdmUiGroup* appearanceSubGroup = appearanceGroup->addNewGroup("Appearance Type Assignment"); appearanceSubGroup->setCollapsedByDefault(true); appearanceSubGroup->add(&m_useAutoAppearanceAssignment); appearanceSubGroup->add(&m_caseAppearanceType); appearanceSubGroup->add(&m_variableAppearanceType); appearanceSubGroup->add(&m_wellAppearanceType); appearanceSubGroup->add(&m_groupAppearanceType); appearanceSubGroup->add(&m_regionAppearanceType); appearanceGroup->add(&m_appearanceApplyButton); // Appearance option sensitivity { m_caseAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment); m_variableAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment); m_wellAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment); m_groupAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment); m_regionAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment); } // Name config caf::PdmUiGroup* autoNameGroup = uiOrdering.addNewGroupWithKeyword("Plot and Curve Name Configuration", RiuSummaryCurveDefinitionKeywords::nameConfig()); autoNameGroup->setCollapsedByDefault(true); autoNameGroup->add(&m_useAutoPlotTitleProxy); m_curveNameConfig->uiOrdering(uiConfigName, *autoNameGroup); // Fields to be displayed directly in UI uiOrdering.add(&m_targetPlot); uiOrdering.add(&m_okButtonField); uiOrdering.add(&m_applyButtonField); uiOrdering.add(&m_closeButtonField); uiOrdering.skipRemainingFields(true); syncPreviewCurvesFromUiSelection(); m_summaryCurveSelectionEditor->updateUi(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimWellLogFile::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { uiOrdering.add(&m_fileName); uiOrdering.add(&m_date); m_date.uiCapability()->setUiReadOnly(m_lasFileHasValidDate); auto timespec = m_date().timeSpec(); if (!isDateValid(m_date())) { uiOrdering.add(&m_invalidDateMessage); } if (hasFlowData()) { uiOrdering.add(&m_wellFlowCondition); } uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimWellPathGeometryDef::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { uiOrdering.add(&m_wellStartType); if (m_wellStartType == START_FROM_OTHER_WELL) { uiOrdering.add(&m_parentWell); m_kickoffDepthOrMD.uiCapability()->setUiName("Measured Depth"); uiOrdering.add(&m_kickoffDepthOrMD); } if (m_wellStartType == START_AT_SURFACE) { m_kickoffDepthOrMD.uiCapability()->setUiName("Kick-Off Depth"); uiOrdering.add(&m_kickoffDepthOrMD); } uiOrdering.add(&m_referencePointUtmXyd); uiOrdering.add(&m_mdrkbAtFirstTarget); uiOrdering.add(&m_wellTargets); uiOrdering.add(&m_pickPointsEnabled); uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimSimWellInView::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Visibility"); appearanceGroup->add(&showWellLabel); appearanceGroup->add(&showWellHead); appearanceGroup->add(&showWellPipe); appearanceGroup->add(&showWellSpheres); caf::PdmUiGroup* filterGroup = uiOrdering.addNewGroup("Well Cells and Fence"); filterGroup->add(&showWellCells); filterGroup->add(&showWellCellFence); showWellCellFence.uiCapability()->setUiReadOnly(!showWellCells()); caf::PdmUiGroup* sizeScalingGroup = uiOrdering.addNewGroup("Size Scaling"); sizeScalingGroup->add(&wellHeadScaleFactor); sizeScalingGroup->add(&pipeScaleFactor); caf::PdmUiGroup* colorGroup = uiOrdering.addNewGroup("Colors"); colorGroup->add(&wellPipeColor); uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimWellLogExtractionCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { RimPlotCurve::updateOptionSensitivity(); caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup("Curve Data"); curveDataGroup->add(&m_case); RimGeoMechCase* geomCase = dynamic_cast<RimGeoMechCase*>(m_case.value()); RimEclipseCase* eclipseCase = dynamic_cast<RimEclipseCase*>(m_case.value()); curveDataGroup->add(&m_trajectoryType); if (m_trajectoryType() == WELL_PATH) { curveDataGroup->add(&m_wellPath); } else { curveDataGroup->add(&m_simWellName); RiaSimWellBranchTools::appendSimWellBranchFieldsIfRequiredFromSimWellName(curveDataGroup, m_simWellName, m_branchDetection, m_branchIndex); } if (eclipseCase) { m_eclipseResultDefinition->uiOrdering(uiConfigName, *curveDataGroup); } else if (geomCase) { m_geomResultDefinition->uiOrdering(uiConfigName, *curveDataGroup); } if ( (eclipseCase && m_eclipseResultDefinition->hasDynamicResult()) || geomCase) { curveDataGroup->add(&m_timeStep); } caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Appearance"); RimPlotCurve::appearanceUiOrdering(*appearanceGroup); caf::PdmUiGroup* nameGroup = uiOrdering.addNewGroup("Curve Name"); nameGroup->setCollapsedByDefault(true); nameGroup->add(&m_showLegend); RimPlotCurve::curveNameUiOrdering(*nameGroup); if (m_isUsingAutoName) { nameGroup->add(&m_addWellNameToCurveName); nameGroup->add(&m_addCaseNameToCurveName); nameGroup->add(&m_addPropertyToCurveName); nameGroup->add(&m_addDateToCurveName); nameGroup->add(&m_addTimestepToCurveName); } uiOrdering.skipRemainingFields(true); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimSummaryFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { uiOrdering.add(&m_filterType); caf::PdmUiGroup* curveVarFilterGroup = nullptr; if(m_filterType() == SUM_FILTER_VAR_STRING) { uiOrdering.add(&m_completeVarStringFilter); } else { caf::PdmUiOrdering* curveVarFilterGroup = &uiOrdering;//uiOrdering.addNewGroup("Search Options"); curveVarFilterGroup->add(&m_filterQuantityName); switch(m_filterType()) { case SUM_FILTER_ANY: { curveVarFilterGroup->add(&m_wellNameFilter); curveVarFilterGroup->add(&m_wellGroupNameFilter); curveVarFilterGroup->add(&m_regionNumberFilter); curveVarFilterGroup->add(&m_regionNumber2Filter); curveVarFilterGroup->add(&m_wellSegmentNumberFilter); curveVarFilterGroup->add(&m_lgrNameFilter); curveVarFilterGroup->add(&m_cellIJKFilter); } break; case SUM_FILTER_REGION: { curveVarFilterGroup->add(&m_regionNumberFilter); } break; case SUM_FILTER_REGION_2_REGION: { curveVarFilterGroup->add(&m_regionNumberFilter); curveVarFilterGroup->add(&m_regionNumber2Filter); } break; case SUM_FILTER_WELL_GROUP: { curveVarFilterGroup->add(&m_wellGroupNameFilter); } break; case SUM_FILTER_WELL: { curveVarFilterGroup->add(&m_wellNameFilter); } break; case SUM_FILTER_WELL_COMPLETION: { curveVarFilterGroup->add(&m_wellNameFilter); curveVarFilterGroup->add(&m_cellIJKFilter); } break; case SUM_FILTER_WELL_LGR: { curveVarFilterGroup->add(&m_wellNameFilter); curveVarFilterGroup->add(&m_lgrNameFilter); } break; case SUM_FILTER_WELL_COMPLETION_LGR: { curveVarFilterGroup->add(&m_wellNameFilter); curveVarFilterGroup->add(&m_lgrNameFilter); curveVarFilterGroup->add(&m_cellIJKFilter); } break; case SUM_FILTER_WELL_SEGMENT: { curveVarFilterGroup->add(&m_wellNameFilter); curveVarFilterGroup->add(&m_wellSegmentNumberFilter); } break; case SUM_FILTER_BLOCK: { curveVarFilterGroup->add(&m_cellIJKFilter); } break; case SUM_FILTER_BLOCK_LGR: { curveVarFilterGroup->add(&m_lgrNameFilter); curveVarFilterGroup->add(&m_cellIJKFilter); } break; } } uiOrdering.skipRemainingFields(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimCellRangeFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { bool readOnlyState = isRangeFilterControlled(); std::vector<caf::PdmFieldHandle*> objFields; this->fields(objFields); for (auto& objField : objFields) { objField->uiCapability()->setUiReadOnly(readOnlyState); } const cvf::StructGridInterface* grid = selectedGrid(); RimCase* rimCase = nullptr; this->firstAncestorOrThisOfTypeAsserted(rimCase); const cvf::StructGridInterface* mainGrid = RigReservoirGridTools::mainGrid(rimCase); Rim3dView* rimView = nullptr; this->firstAncestorOrThisOfTypeAsserted(rimView); auto actCellInfo = RigReservoirGridTools::activeCellInfo(rimView); if (grid == mainGrid && actCellInfo) { cvf::Vec3st min, max; actCellInfo->IJKBoundingBox(min, max); // Adjust to Eclipse indexing min.x() = min.x() + 1; min.y() = min.y() + 1; min.z() = min.z() + 1; max.x() = max.x() + 1; max.y() = max.y() + 1; max.z() = max.z() + 1; startIndexI.uiCapability()->setUiName(QString("I Start (%1)").arg(min.x())); startIndexJ.uiCapability()->setUiName(QString("J Start (%1)").arg(min.y())); startIndexK.uiCapability()->setUiName(QString("K Start (%1)").arg(min.z())); cellCountI.uiCapability()->setUiName(QString(" Width (%1)").arg(max.x() - min.x() + 1)); cellCountJ.uiCapability()->setUiName(QString(" Width (%1)").arg(max.y() - min.y() + 1)); cellCountK.uiCapability()->setUiName(QString(" Width (%1)").arg(max.z() - min.z() + 1)); } else { startIndexI.uiCapability()->setUiName(QString("I Start")); startIndexJ.uiCapability()->setUiName(QString("J Start")); startIndexK.uiCapability()->setUiName(QString("K Start")); cellCountI.uiCapability()->setUiName(QString(" Width")); cellCountJ.uiCapability()->setUiName(QString(" Width")); cellCountK.uiCapability()->setUiName(QString(" Width")); } uiOrdering.add(&name); uiOrdering.add(&filterMode); uiOrdering.add(&m_gridIndex); uiOrdering.add(&propagateToSubGrids); uiOrdering.add(&startIndexI); uiOrdering.add(&cellCountI); uiOrdering.add(&startIndexJ); uiOrdering.add(&cellCountJ); uiOrdering.add(&startIndexK); uiOrdering.add(&cellCountK); if(RiaApplication::enableDevelopmentFeatures()) { auto group = uiOrdering.addNewGroup("Single Cell Filtering (TEST)"); group->setCollapsedByDefault(true); group->add(&m_useIndividualCellIndices); group->add(&m_individualCellIndices); m_individualCellIndices.uiCapability()->setUiReadOnly(!m_useIndividualCellIndices); } uiOrdering.skipRemainingFields(true); }