示例#1
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimSummaryCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup("Summary Vector");
    curveDataGroup->add(&m_summaryCase);
    curveDataGroup->add(&m_selectedVariableDisplayField);

    caf::PdmUiGroup* curveVarSelectionGroup = curveDataGroup->addNewGroup("Vector Selection");
    m_summaryFilter->defineUiOrdering(uiConfigName, *curveVarSelectionGroup);

    curveVarSelectionGroup->add(&m_uiFilterResultSelection);

    caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Appearance");
    appearanceGroup->add(&m_curveColor);
    appearanceGroup->add(&m_curveThickness);
    appearanceGroup->add(&m_pointSymbol);
    appearanceGroup->add(&m_symbolSkipPixelDistance);
    appearanceGroup->add(&m_lineStyle);
    appearanceGroup->add(&m_curveName);
    appearanceGroup->add(&m_isUsingAutoName);

    if (m_isUsingAutoName)
    {
        caf::PdmUiGroup* autoNameGroup = appearanceGroup->addNewGroup("Auto Name Config");
        m_curveNameConfig->defineUiOrdering(uiConfigName, *autoNameGroup);
    }

    uiOrdering.add(&m_plotAxis);

    uiOrdering.setForgetRemainingFields(true); // For now. 
}
示例#2
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
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);
}
示例#3
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RiaPreferences::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) 
{
    uiOrdering.add(&navigationPolicy);

    caf::PdmUiGroup* scriptGroup = uiOrdering.addNewGroup("Script configuration");
    scriptGroup->add(&scriptDirectories);
    scriptGroup->add(&scriptEditorExecutable);

    caf::PdmUiGroup* octaveGroup = uiOrdering.addNewGroup("Octave");
    octaveGroup->add(&octaveExecutable);
    octaveGroup->add(&octaveShowHeaderInfoWhenExecutingScripts);

    caf::PdmUiGroup* defaultSettingsGroup = uiOrdering.addNewGroup("Default settings");
    defaultSettingsGroup->add(&defaultScaleFactorZ);
    defaultSettingsGroup->add(&defaultViewerBackgroundColor);
    defaultSettingsGroup->add(&defaultGridLines);
    defaultSettingsGroup->add(&defaultGridLineColors);
    defaultSettingsGroup->add(&defaultFaultGridLineColors);
    defaultSettingsGroup->add(&defaultWellLabelColor);

    caf::PdmUiGroup* autoComputeGroup = uiOrdering.addNewGroup("Behavior when loading new case");
    autoComputeGroup->add(&autocomputeDepthRelatedProperties);
    autoComputeGroup->add(&loadAndShowSoil);
    
    caf::PdmUiGroup* readerSettingsGroup = uiOrdering.addNewGroup("Reader settings");
    std::vector<caf::PdmFieldHandle*> readerSettingsFields;
    readerSettings->fields(readerSettingsFields);
    for (size_t i = 0; i < readerSettingsFields.size(); i++)
    {
        readerSettingsGroup->add(readerSettingsFields[i]);
    }
}
示例#4
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
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);
}
示例#5
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
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);
}
示例#6
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimWell::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    caf::PdmUiGroup* pipeGroup = uiOrdering.addNewGroup("Well pipe");
    pipeGroup->add(&showWellPipes);
    pipeGroup->add(&pipeRadiusScaleFactor);
    pipeGroup->add(&wellPipeColor);
    pipeGroup->add(&showWellLabel);

    caf::PdmUiGroup* filterGroup = uiOrdering.addNewGroup("Range filter");
    filterGroup->add(&showWellCells);
    filterGroup->add(&showWellCellFence);
}
示例#7
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimLegendConfig::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    caf::PdmUiOrdering * formatGr = uiOrdering.addNewGroup("Format");
    formatGr->add(&m_numLevels);
    formatGr->add(&m_precision);
    formatGr->add(&m_tickNumberFormat);
    formatGr->add(&m_colorRangeMode);

    caf::PdmUiOrdering * mappingGr = uiOrdering.addNewGroup("Mapping");
    mappingGr->add(&m_mappingMode);
    mappingGr->add(&m_rangeMode);
    mappingGr->add(&m_userDefinedMaxValue);
    mappingGr->add(&m_userDefinedMinValue);
}
示例#8
0
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
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);
}
示例#9
0
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
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 RimEclipseFaultColors::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result");
    group1->add(&(m_customFaultResultColors->m_resultTypeUiField));
    group1->add(&(m_customFaultResultColors->m_porosityModelUiField));
    group1->add(&(m_customFaultResultColors->m_resultVariableUiField));
}   
示例#11
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimGeoMechCase::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
   uiOrdering.add(&caseUserDescription);
   uiOrdering.add(&caseId);
   uiOrdering.add(&m_caseFileName);

   caf::PdmUiGroup* caseGroup = uiOrdering.addNewGroup("Case Options");
   caseGroup->add(&activeFormationNames);
   caseGroup->add(&m_cohesion);
   caseGroup->add(&m_frictionAngleDeg);

   caf::PdmUiGroup* elmPropGroup = uiOrdering.addNewGroup("Element Properties");
   elmPropGroup->add(&m_elementPropertyFileNameIndexUiSelection);
   elmPropGroup->add(&m_reloadElementPropertyFileCommand);
   elmPropGroup->add(&m_closeElementPropertyFileCommand);
}
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimEclipsePropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) 
{
    // Fields declared in RimCellFilter
    uiOrdering.add(&name);

    // Fields declared in RimResultDefinition
    caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result");
    group1->add(&(resultDefinition->m_resultTypeUiField));
    group1->add(&(resultDefinition->m_porosityModelUiField));
    group1->add(&(resultDefinition->m_resultVariableUiField));
    
    // Fields declared in RimCellFilter
    uiOrdering.add(&filterMode);
    uiOrdering.add(&m_categorySelection);

    // Fields declared in this class (RimCellPropertyFilter)
    uiOrdering.add(&m_lowerBound);
    uiOrdering.add(&m_upperBound);

    uiOrdering.add(&m_selectedCategoryValues);

    uiOrdering.setForgetRemainingFields(true);

    updateReadOnlyStateOfAllFields();
}
示例#13
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimWellLogPlot::uiOrderingForVisibleDepthRange(caf::PdmUiOrdering& uiOrdering)
{
    caf::PdmUiGroup* gridGroup = uiOrdering.addNewGroup("Visible Depth Range");
    gridGroup->add(&m_isAutoScaleDepthEnabled);
    gridGroup->add(&m_minVisibleDepth);
    gridGroup->add(&m_maxVisibleDepth);
}
示例#14
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimWellLogFileCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    RimPlotCurve::updateOptionSensitivity();

    caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup("Curve Data");
    curveDataGroup->add(&m_wellPath);
    curveDataGroup->add(&m_wellLogFile);
    curveDataGroup->add(&m_wellLogChannnelName);

    caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Appearance");
    RimPlotCurve::appearanceUiOrdering(*appearanceGroup);

    caf::PdmUiGroup* nameGroup = uiOrdering.addNewGroup("Curve Name");
    nameGroup->add(&m_showLegend);
    RimPlotCurve::curveNameUiOrdering(*nameGroup);

}
示例#15
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void Rim3dWellLogCurve::configurationUiOrdering(caf::PdmUiOrdering& uiOrdering)
{
    caf::PdmUiGroup* configurationGroup = uiOrdering.addNewGroup("Curve Appearance");
    configurationGroup->add(&m_drawPlane);
    configurationGroup->add(&m_color);
    configurationGroup->add(&m_maxCurveUIValue);
    configurationGroup->add(&m_minCurveUIValue);
}
示例#16
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimWellLogTrack::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    uiOrdering.add(&m_userName);

    caf::PdmUiGroup* gridGroup = uiOrdering.addNewGroup("Visible X Axis Range");
    gridGroup->add(&m_isAutoScaleXEnabled);
    gridGroup->add(&m_visibleXRangeMin);
    gridGroup->add(&m_visibleXRangeMax);
    gridGroup->add(&m_isLogarithmicScaleEnabled);
}
示例#17
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimWellLogPlot::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    uiOrdering.add(&m_userName);
    uiOrdering.add(&m_depthType);
    uiOrdering.add(&m_depthUnit);

    caf::PdmUiGroup* gridGroup = uiOrdering.addNewGroup("Visible Depth Range");
    gridGroup->add(&m_isAutoScaleDepthEnabled);
    gridGroup->add(&m_minVisibleDepth);
    gridGroup->add(&m_maxVisibleDepth);
}
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimWellCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    caf::PdmUiGroup* filterGroup = uiOrdering.addNewGroup("Range filter");
    filterGroup->add(&wellCellsToRangeFilterMode);
    filterGroup->add(&showWellCellFences);
    filterGroup->add(&wellCellFenceType);

    caf::PdmUiGroup* wellHeadGroup = uiOrdering.addNewGroup("Well head");
    wellHeadGroup->add(&showWellHead);
    wellHeadGroup->add(&wellHeadScaleFactor);
    wellHeadGroup->add(&showWellLabel);

    caf::PdmUiGroup* wellPipe = uiOrdering.addNewGroup("Well pipe");
    wellPipe->add(&wellPipeVisibility);
    wellPipe->add(&pipeRadiusScaleFactor);

    caf::PdmUiGroup* advancedGroup = uiOrdering.addNewGroup("Advanced");
    advancedGroup->add(&wellCellTransparencyLevel);
    advancedGroup->add(&isAutoDetectingBranches);
}
示例#19
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RiaPreferences::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) 
{
    uiOrdering.add(&navigationPolicy);

    caf::PdmUiGroup* scriptGroup = uiOrdering.addNewGroup("Script configuration");
    scriptGroup->add(&scriptDirectories);
    scriptGroup->add(&scriptEditorExecutable);
    scriptGroup->add(&octaveExecutable);

    caf::PdmUiGroup* defaultSettingsGroup = uiOrdering.addNewGroup("Default settings");
    defaultSettingsGroup->add(&defaultScaleFactorZ);
    defaultSettingsGroup->add(&defaultViewerBackgroundColor);
    defaultSettingsGroup->add(&defaultGridLines);
    defaultSettingsGroup->add(&defaultGridLineColors);
    defaultSettingsGroup->add(&defaultFaultGridLineColors);


    caf::PdmUiGroup* autoComputeGroup = uiOrdering.addNewGroup("Compute when loading new case");
    autoComputeGroup->add(&autocomputeSOIL);
    autoComputeGroup->add(&autocomputeDepthRelatedProperties);
}
示例#20
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
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 RimTernaryLegendConfig::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    caf::PdmUiOrdering* formatGr = uiOrdering.addNewGroup("Format");
    formatGr->add(&precision);
    formatGr->add(&rangeMode);

    if (rangeMode == USER_DEFINED)
    {
        caf::PdmUiOrdering* ternaryGroupContainer = uiOrdering.addNewGroup("Ternary ");
        {
            caf::PdmUiOrdering* ternaryGroup = ternaryGroupContainer->addNewGroup("SOIL");
            ternaryGroup->add(&userDefinedMinValueSoil);
            ternaryGroup->add(&userDefinedMaxValueSoil);
        }

        {
            caf::PdmUiOrdering* ternaryGroup = ternaryGroupContainer->addNewGroup("SGAS");
            ternaryGroup->add(&userDefinedMinValueSgas);
            ternaryGroup->add(&userDefinedMaxValueSgas);
        }

        {
            caf::PdmUiOrdering* ternaryGroup = ternaryGroupContainer->addNewGroup("SWAT");
            ternaryGroup->add(&userDefinedMinValueSwat);
            ternaryGroup->add(&userDefinedMaxValueSwat);
        }

        ternaryGroupContainer->add(&applyLocalMinMax);
        ternaryGroupContainer->add(&applyGlobalMinMax);
        ternaryGroupContainer->add(&applyFullRangeMinMax);
    }
    else
    {
        caf::PdmUiOrdering* group = uiOrdering.addNewGroup("Summary");
        group->add(&ternaryRangeSummary);
    }

    uiOrdering.setForgetRemainingFields(true);
}
示例#22
0
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellPathCompletions::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    caf::PdmUiGroup* compExportGroup = uiOrdering.addNewGroup("Completion Export Parameters");
    compExportGroup->add(&m_wellNameForExport);
    compExportGroup->add(&m_wellGroupName);
    compExportGroup->add(&m_referenceDepth);
    compExportGroup->add(&m_preferredFluidPhase);
    compExportGroup->add(&m_drainageRadiusForPI);
    compExportGroup->add(&m_gasInflowEquation);
    compExportGroup->add(&m_automaticWellShutIn);
    compExportGroup->add(&m_allowWellCrossFlow);
    compExportGroup->add(&m_wellBoreFluidPVTTable);
    compExportGroup->add(&m_hydrostaticDensity);
    compExportGroup->add(&m_fluidInPlaceRegion);
}
示例#23
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RiaPreferences::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) 
{
    if (uiConfigName == m_tabNames[0])
    {
        caf::PdmUiGroup* defaultSettingsGroup = uiOrdering.addNewGroup("Default settings");
        defaultSettingsGroup->add(&defaultViewerBackgroundColor);
        defaultSettingsGroup->add(&defaultGridLines);
        defaultSettingsGroup->add(&defaultGridLineColors);
        defaultSettingsGroup->add(&defaultFaultGridLineColors);
        defaultSettingsGroup->add(&defaultWellLabelColor);
        defaultSettingsGroup->add(&fontSizeInScene);

        caf::PdmUiGroup* viewsGroup = uiOrdering.addNewGroup("3D views");
        viewsGroup->add(&navigationPolicy);
        viewsGroup->add(&useShaders);
        viewsGroup->add(&showHud);

        caf::PdmUiGroup* newCaseBehaviourGroup = uiOrdering.addNewGroup("Behavior when loading new case");
        newCaseBehaviourGroup->add(&defaultScaleFactorZ);
        newCaseBehaviourGroup->add(&autocomputeDepthRelatedProperties);
        newCaseBehaviourGroup->add(&loadAndShowSoil);
        newCaseBehaviourGroup->add(&showLasCurveWithoutTvdWarning);
    
        std::vector<caf::PdmFieldHandle*> readerSettingsFields;
        readerSettings->fields(readerSettingsFields);
        for (size_t i = 0; i < readerSettingsFields.size(); i++)
        {
            newCaseBehaviourGroup->add(readerSettingsFields[i]);
        }

        caf::PdmUiGroup* ssihubGroup = uiOrdering.addNewGroup("SSIHUB");
        ssihubGroup->add(&ssihubAddress);

        uiOrdering.add(&appendClassNameToUiText);
    }
    else if (uiConfigName == m_tabNames[1])
    {
        caf::PdmUiGroup* octaveGroup = uiOrdering.addNewGroup("Octave");
        octaveGroup->add(&octaveExecutable);
        octaveGroup->add(&octaveShowHeaderInfoWhenExecutingScripts);

        caf::PdmUiGroup* scriptGroup = uiOrdering.addNewGroup("Script files");
        scriptGroup->add(&scriptDirectories);
        scriptGroup->add(&scriptEditorExecutable);
    }
    else if (uiConfigName == m_tabNames[2])
    {
        uiOrdering.add(&autoCreatePlotsOnImport);
        uiOrdering.add(&defaultCurveFilter);
    }

    uiOrdering.setForgetRemainingFields(true);
}
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimCellPropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) 
{
    // Fields declared in RimCellFilter
    uiOrdering.add(&name);

    // Fields declared in RimResultDefinition
    caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result");
    group1->add(&(resultDefinition->m_resultTypeUiField));
    group1->add(&(resultDefinition->m_porosityModelUiField));
    group1->add(&(resultDefinition->m_resultVariableUiField));
    
    // Fields declared in RimCellFilter
    uiOrdering.add(&isActive);
    uiOrdering.add(&filterMode);

    // Fields declared in this class (RimCellPropertyFilter)
    uiOrdering.add(&lowerBound);
    uiOrdering.add(&upperBound);
    uiOrdering.add(&filterMode);
}
示例#25
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimSimWellInViewCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    updateStateForVisibilityCheckboxes();

    caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Visibility");
    appearanceGroup->add(&showWellsIntersectingVisibleCells);
    appearanceGroup->add(&m_showWellLabel);
    appearanceGroup->add(&m_showWellHead);
    appearanceGroup->add(&m_showWellPipe);
    appearanceGroup->add(&m_showWellSpheres);
    appearanceGroup->add(&m_showWellCommunicationLines);
    
    caf::PdmUiGroup* filterGroup = uiOrdering.addNewGroup("Well Cells and Fence");
    filterGroup->add(&m_showWellCells);
    filterGroup->add(&m_showWellCellFence);
    filterGroup->add(&wellCellFenceType);

    caf::PdmUiGroup* sizeScalingGroup = uiOrdering.addNewGroup("Size Scaling");
    sizeScalingGroup->add(&wellHeadScaleFactor);
    sizeScalingGroup->add(&pipeScaleFactor);
    sizeScalingGroup->add(&spheresScaleFactor);

    caf::PdmUiGroup* colorGroup = uiOrdering.addNewGroup("Colors");
    colorGroup->setCollapsedByDefault(true);
    colorGroup->add(&showConnectionStatusColors);
    colorGroup->add(&wellLabelColor);
    colorGroup->add(&m_applyIndividualColorsToWells);
    colorGroup->add(&m_applySingleColorToWells);
    colorGroup->add(&m_wellColorForApply);

    caf::PdmUiGroup* wellPipeGroup = uiOrdering.addNewGroup("Well Pipe Geometry" );
    wellPipeGroup->add(&wellPipeCoordType);
    wellPipeGroup->add(&isAutoDetectingBranches);

    caf::PdmUiGroup* advancedGroup = uiOrdering.addNewGroup("Advanced");
    advancedGroup->setCollapsedByDefault(true);
    advancedGroup->add(&wellCellTransparencyLevel);
    advancedGroup->add(&wellHeadPosition);

    RimEclipseResultCase* ownerCase = nullptr; 
    firstAncestorOrThisOfType(ownerCase);
    if (ownerCase)
    {
        m_showWellCommunicationLines.uiCapability()->setUiHidden(!ownerCase->flowDiagSolverInterface());
    }

    m_showWellCellFence.uiCapability()->setUiReadOnly(!showWellCells());
    wellCellFenceType.uiCapability()->setUiReadOnly(!showWellCells());
}
示例#26
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
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 RimEnsembleCurveSetCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    auto group = uiOrdering.addNewGroup("Data Source");

    m_ySourceStepping()->uiOrdering(uiConfigName, *group);
}
示例#28
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
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);
}
示例#29
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimFishboneWellPathCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
    caf::PdmUiGroup* wellPropertiesGroup = uiOrdering.addNewGroup("Well Properties");
    m_pipeProperties->uiOrdering(uiConfigName, *wellPropertiesGroup);
}