mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#483) Improved disabled state (gray icon) for range filters/filtercollection
This commit is contained in:
parent
572601c3db
commit
b10fedb997
@ -95,7 +95,7 @@ void RimCellFilter::updateIconState()
|
||||
painter.drawPixmap(0,0, sign);
|
||||
}
|
||||
|
||||
if (!isActive)
|
||||
if (!isActive || isActive.uiCapability()->isUiReadOnly())
|
||||
{
|
||||
QIcon temp(icPixmap);
|
||||
icPixmap = temp.pixmap(16, 16, QIcon::Disabled);
|
||||
@ -103,6 +103,8 @@ void RimCellFilter::updateIconState()
|
||||
|
||||
QIcon newIcon(icPixmap);
|
||||
this->setUiIcon(newIcon);
|
||||
|
||||
this->uiCapability()->updateConnectedEditors();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RimCellRangeFilterCollection.h"
|
||||
#include "RimEclipseView.h"
|
||||
#include "RimViewController.h"
|
||||
|
||||
#include "cafPdmUiSliderEditor.h"
|
||||
#include "cvfAssert.h"
|
||||
@ -229,20 +230,40 @@ void RimCellRangeFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrderi
|
||||
firstAnchestorOrThisOfType(rimView);
|
||||
CVF_ASSERT(rimView);
|
||||
|
||||
bool isFilterOverride = false;
|
||||
if (rimView->overrideRangeFilterCollection())
|
||||
bool isRangeFilterControlled = false;
|
||||
if (rimView->viewController() && rimView->viewController()->isRangeFiltersControlled())
|
||||
{
|
||||
isFilterOverride = true;
|
||||
isRangeFilterControlled = true;
|
||||
}
|
||||
|
||||
std::vector<caf::PdmFieldHandle*> objFields;
|
||||
this->fields(objFields);
|
||||
for (size_t i = 0; i < objFields.size(); i ++)
|
||||
{
|
||||
objFields[i]->uiCapability()->setUiReadOnly(isFilterOverride);
|
||||
objFields[i]->uiCapability()->setUiReadOnly(isRangeFilterControlled);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimCellRangeFilter::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName)
|
||||
{
|
||||
RimCellFilter::defineUiTreeOrdering(uiTreeOrdering, uiConfigName);
|
||||
|
||||
RimView* rimView = NULL;
|
||||
firstAnchestorOrThisOfType(rimView);
|
||||
CVF_ASSERT(rimView);
|
||||
|
||||
bool isRangeFilterControlled = false;
|
||||
if (rimView->viewController() && rimView->viewController()->isRangeFiltersControlled())
|
||||
{
|
||||
isRangeFilterControlled = true;
|
||||
}
|
||||
|
||||
isActive.uiCapability()->setUiReadOnly(isRangeFilterControlled);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -64,6 +64,7 @@ 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 void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName);
|
||||
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly );
|
||||
|
||||
|
@ -335,8 +335,26 @@ void RimCellRangeFilterCollection::updateIconState()
|
||||
|
||||
for (size_t i = 0; i < rangeFilters.size(); i++)
|
||||
{
|
||||
RimCellRangeFilter* rangeFilter = rangeFilters[i];
|
||||
rangeFilter->updateIconState();
|
||||
RimCellFilter* cellFilter = rangeFilters[i];
|
||||
cellFilter->updateIconState();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimCellRangeFilterCollection::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName)
|
||||
{
|
||||
PdmObject::defineUiTreeOrdering(uiTreeOrdering, uiConfigName);
|
||||
|
||||
RimViewController* viewController = baseView()->viewController();
|
||||
if (viewController && viewController->isRangeFiltersControlled())
|
||||
{
|
||||
isActive.uiCapability()->setUiReadOnly(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
isActive.uiCapability()->setUiReadOnly(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -56,8 +56,9 @@ public:
|
||||
void updateDisplayModeNotifyManagedViews(RimCellRangeFilter* changedRangeFilter);
|
||||
void updateIconState();
|
||||
|
||||
// Overridden methods
|
||||
protected:
|
||||
virtual void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue );
|
||||
virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName);
|
||||
virtual caf::PdmFieldHandle* objectToggleField();
|
||||
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user