mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Snapshot : Set fields read only based on state of other fields
This commit is contained in:
parent
d8114decec
commit
07865268b1
@ -57,24 +57,23 @@ RimMultiSnapshotDefinition::RimMultiSnapshotDefinition()
|
||||
//CAF_PDM_InitObject("MultiSnapshotDefinition", ":/Well.png", "", "");
|
||||
CAF_PDM_InitObject("MultiSnapshotDefinition", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&isActive, "IsActive", true, "Active", "", "", "");
|
||||
CAF_PDM_InitField(&isActive, "IsActive", true, "Active", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&view, "View", "View", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&view, "View", "View", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&eclipseResultType, "EclipseResultType", "Result Type", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&selectedEclipseResults, "SelectedEclipseResults", "Result Name", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&timeStepStart, "TimeStepStart", 0, "Timestep Start", "", "", "");
|
||||
CAF_PDM_InitField(&timeStepEnd, "TimeStepEnd", 0, "Timestep End", "", "", "");
|
||||
CAF_PDM_InitField(&timeStepStart, "TimeStepStart", 0, "Timestep Start", "", "", "");
|
||||
CAF_PDM_InitField(&timeStepEnd, "TimeStepEnd", 0, "Timestep End", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&sliceDirection, "SnapShotDirection", caf::AppEnum<SnapShotDirectionEnum>(NO_RANGEFILTER), "Range Filter direction", "", "", "");
|
||||
CAF_PDM_InitField(&startSliceIndex, "RangeFilterStart", 1, "RangeFilter Start", "", "", "");
|
||||
CAF_PDM_InitField(&endSliceIndex, "RangeFilterEnd", 1, "RangeFilter End", "", "", "");
|
||||
CAF_PDM_InitField(&sliceDirection, "SnapShotDirection", caf::AppEnum<SnapShotDirectionEnum>(NO_RANGEFILTER), "Range Filter direction", "", "", "");
|
||||
CAF_PDM_InitField(&startSliceIndex, "RangeFilterStart", 1, "RangeFilter Start", "", "", "");
|
||||
CAF_PDM_InitField(&endSliceIndex, "RangeFilterEnd", 1, "RangeFilter End", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&additionalCases, "AdditionalCases", "Case List", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&additionalCases, "AdditionalCases", "Case List", "", "", "");
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -241,3 +240,57 @@ QList<caf::PdmOptionItemInfo> RimMultiSnapshotDefinition::toOptionList(const QSt
|
||||
}
|
||||
return optionList;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimMultiSnapshotDefinition::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
if (!isActive())
|
||||
{
|
||||
view.uiCapability()->setUiReadOnly(true);
|
||||
eclipseResultType.uiCapability()->setUiReadOnly(true);
|
||||
selectedEclipseResults.uiCapability()->setUiReadOnly(true);
|
||||
timeStepStart.uiCapability()->setUiReadOnly(true);
|
||||
timeStepEnd.uiCapability()->setUiReadOnly(true);
|
||||
sliceDirection.uiCapability()->setUiReadOnly(true);
|
||||
startSliceIndex.uiCapability()->setUiReadOnly(true);
|
||||
endSliceIndex.uiCapability()->setUiReadOnly(true);
|
||||
additionalCases.uiCapability()->setUiReadOnly(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
view.uiCapability()->setUiReadOnly(false);
|
||||
|
||||
if (!view())
|
||||
{
|
||||
eclipseResultType.uiCapability()->setUiReadOnly(true);
|
||||
selectedEclipseResults.uiCapability()->setUiReadOnly(true);
|
||||
timeStepStart.uiCapability()->setUiReadOnly(true);
|
||||
timeStepEnd.uiCapability()->setUiReadOnly(true);
|
||||
sliceDirection.uiCapability()->setUiReadOnly(true);
|
||||
startSliceIndex.uiCapability()->setUiReadOnly(true);
|
||||
endSliceIndex.uiCapability()->setUiReadOnly(true);
|
||||
additionalCases.uiCapability()->setUiReadOnly(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
eclipseResultType.uiCapability()->setUiReadOnly(false);
|
||||
selectedEclipseResults.uiCapability()->setUiReadOnly(false);
|
||||
timeStepStart.uiCapability()->setUiReadOnly(false);
|
||||
timeStepEnd.uiCapability()->setUiReadOnly(false);
|
||||
sliceDirection.uiCapability()->setUiReadOnly(false);
|
||||
|
||||
additionalCases.uiCapability()->setUiReadOnly(false);
|
||||
|
||||
bool rangeReadOnly = false;
|
||||
if (sliceDirection() == NO_RANGEFILTER)
|
||||
{
|
||||
rangeReadOnly = true;
|
||||
}
|
||||
|
||||
startSliceIndex.uiCapability()->setUiReadOnly(rangeReadOnly);
|
||||
endSliceIndex.uiCapability()->setUiReadOnly(rangeReadOnly);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -40,13 +40,13 @@ public:
|
||||
RimMultiSnapshotDefinition();
|
||||
virtual ~RimMultiSnapshotDefinition();
|
||||
|
||||
caf::PdmField<bool> isActive;
|
||||
|
||||
caf::PdmPtrField<RimView*> view;
|
||||
|
||||
caf::PdmField< caf::AppEnum< RimDefines::ResultCatType > > eclipseResultType;
|
||||
caf::PdmField< std::vector<QString> > selectedEclipseResults;
|
||||
|
||||
caf::PdmField<bool> isActive;
|
||||
|
||||
caf::PdmField<int> timeStepStart;
|
||||
caf::PdmField<int> timeStepEnd;
|
||||
|
||||
@ -64,6 +64,9 @@ public:
|
||||
|
||||
caf::PdmPtrArrayField<RimCase*> additionalCases;
|
||||
|
||||
protected:
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||
|
||||
private:
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) override;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user