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:
@@ -95,7 +95,7 @@ void RimCellFilter::updateIconState()
|
|||||||
painter.drawPixmap(0,0, sign);
|
painter.drawPixmap(0,0, sign);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isActive)
|
if (!isActive || isActive.uiCapability()->isUiReadOnly())
|
||||||
{
|
{
|
||||||
QIcon temp(icPixmap);
|
QIcon temp(icPixmap);
|
||||||
icPixmap = temp.pixmap(16, 16, QIcon::Disabled);
|
icPixmap = temp.pixmap(16, 16, QIcon::Disabled);
|
||||||
@@ -103,6 +103,8 @@ void RimCellFilter::updateIconState()
|
|||||||
|
|
||||||
QIcon newIcon(icPixmap);
|
QIcon newIcon(icPixmap);
|
||||||
this->setUiIcon(newIcon);
|
this->setUiIcon(newIcon);
|
||||||
|
|
||||||
|
this->uiCapability()->updateConnectedEditors();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
#include "RimEclipseCase.h"
|
#include "RimEclipseCase.h"
|
||||||
#include "RimCellRangeFilterCollection.h"
|
#include "RimCellRangeFilterCollection.h"
|
||||||
#include "RimEclipseView.h"
|
#include "RimEclipseView.h"
|
||||||
|
#include "RimViewController.h"
|
||||||
|
|
||||||
#include "cafPdmUiSliderEditor.h"
|
#include "cafPdmUiSliderEditor.h"
|
||||||
#include "cvfAssert.h"
|
#include "cvfAssert.h"
|
||||||
@@ -229,20 +230,40 @@ void RimCellRangeFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrderi
|
|||||||
firstAnchestorOrThisOfType(rimView);
|
firstAnchestorOrThisOfType(rimView);
|
||||||
CVF_ASSERT(rimView);
|
CVF_ASSERT(rimView);
|
||||||
|
|
||||||
bool isFilterOverride = false;
|
bool isRangeFilterControlled = false;
|
||||||
if (rimView->overrideRangeFilterCollection())
|
if (rimView->viewController() && rimView->viewController()->isRangeFiltersControlled())
|
||||||
{
|
{
|
||||||
isFilterOverride = true;
|
isRangeFilterControlled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<caf::PdmFieldHandle*> objFields;
|
std::vector<caf::PdmFieldHandle*> objFields;
|
||||||
this->fields(objFields);
|
this->fields(objFields);
|
||||||
for (size_t i = 0; i < objFields.size(); i ++)
|
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 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 defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute);
|
||||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) ;
|
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 );
|
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++)
|
for (size_t i = 0; i < rangeFilters.size(); i++)
|
||||||
{
|
{
|
||||||
RimCellRangeFilter* rangeFilter = rangeFilters[i];
|
RimCellFilter* cellFilter = rangeFilters[i];
|
||||||
rangeFilter->updateIconState();
|
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 updateDisplayModeNotifyManagedViews(RimCellRangeFilter* changedRangeFilter);
|
||||||
void updateIconState();
|
void updateIconState();
|
||||||
|
|
||||||
// Overridden methods
|
protected:
|
||||||
virtual void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue );
|
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();
|
virtual caf::PdmFieldHandle* objectToggleField();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
Reference in New Issue
Block a user