//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- 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 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); }