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:
@@ -74,7 +74,6 @@ RimMultiSnapshotDefinition::RimMultiSnapshotDefinition()
|
||||
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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user