(#539) Make range filters readonly if an override range filter collection is active

This commit is contained in:
Magne Sjaastad 2015-10-21 14:22:51 +02:00
parent dbd6ce09c5
commit ff1a1576a0
2 changed files with 25 additions and 1 deletions

View File

@ -220,6 +220,29 @@ void RimCellRangeFilter::defineEditorAttribute(const caf::PdmFieldHandle* field,
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimCellRangeFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
RimView* rimView = NULL;
firstAnchestorOrThisOfType(rimView);
CVF_ASSERT(rimView);
bool isFilterOverride = false;
if (rimView->overrideRangeFilterCollection())
{
isFilterOverride = true;
}
std::vector<caf::PdmFieldHandle*> objFields;
this->fields(objFields);
for (size_t i = 0; i < objFields.size(); i ++)
{
objFields[i]->uiCapability()->setUiReadOnly(isFilterOverride);
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -59,10 +59,11 @@ public:
void computeAndSetValidValues();
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
protected:
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute);
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) ;
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly );