mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#6462 Add reordering to color legend items
This commit is contained in:
parent
b0448043f3
commit
cbce19bb65
@ -23,6 +23,8 @@
|
|||||||
#include "Rim3dView.h"
|
#include "Rim3dView.h"
|
||||||
#include "RimColorLegendItem.h"
|
#include "RimColorLegendItem.h"
|
||||||
|
|
||||||
|
#include "cafPdmFieldReorderCapability.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT( RimColorLegend, "ColorLegend" );
|
CAF_PDM_SOURCE_INIT( RimColorLegend, "ColorLegend" );
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -77,6 +79,15 @@ void RimColorLegend::setReadOnly( bool doReadOnly )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimColorLegend::addReorderCapability()
|
||||||
|
{
|
||||||
|
auto reorderability = caf::PdmFieldReorderCapability::addToField( &m_colorLegendItems );
|
||||||
|
reorderability->orderChanged.connect( this, &RimColorLegend::orderChanged );
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -118,6 +129,14 @@ void RimColorLegend::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrderin
|
|||||||
this->setUiIcon( paletteIconProvider() );
|
this->setUiIcon( paletteIconProvider() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimColorLegend::orderChanged( const caf::SignalEmitter* emitter )
|
||||||
|
{
|
||||||
|
onColorLegendItemHasChanged();
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -48,6 +48,7 @@ public:
|
|||||||
QString colorLegendName();
|
QString colorLegendName();
|
||||||
|
|
||||||
void setReadOnly( bool doReadOnly );
|
void setReadOnly( bool doReadOnly );
|
||||||
|
void addReorderCapability();
|
||||||
|
|
||||||
void appendColorLegendItem( RimColorLegendItem* colorLegendItem );
|
void appendColorLegendItem( RimColorLegendItem* colorLegendItem );
|
||||||
std::vector<RimColorLegendItem*> colorLegendItems() const;
|
std::vector<RimColorLegendItem*> colorLegendItems() const;
|
||||||
@ -63,6 +64,9 @@ public:
|
|||||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
||||||
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName ) override;
|
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName ) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void orderChanged( const caf::SignalEmitter* emitter );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<QString> m_colorLegendName;
|
caf::PdmField<QString> m_colorLegendName;
|
||||||
caf::PdmChildArrayField<RimColorLegendItem*> m_colorLegendItems;
|
caf::PdmChildArrayField<RimColorLegendItem*> m_colorLegendItems;
|
||||||
|
@ -59,6 +59,7 @@ RimColorLegendCollection::~RimColorLegendCollection()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimColorLegendCollection::appendCustomColorLegend( RimColorLegend* colorLegend )
|
void RimColorLegendCollection::appendCustomColorLegend( RimColorLegend* colorLegend )
|
||||||
{
|
{
|
||||||
|
colorLegend->addReorderCapability();
|
||||||
m_customColorLegends.push_back( colorLegend );
|
m_customColorLegends.push_back( colorLegend );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -157,15 +158,6 @@ std::vector<RimColorLegend*> RimColorLegendCollection::allColorLegends() const
|
|||||||
return allLegends;
|
return allLegends;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RimColorLegendCollection::fieldChangedByUi( const caf::PdmFieldHandle* changedField,
|
|
||||||
const QVariant& oldValue,
|
|
||||||
const QVariant& newValue )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -258,3 +250,14 @@ RimColorLegend* RimColorLegendCollection::createRockTypeColorLegend() const
|
|||||||
|
|
||||||
return colorLegend;
|
return colorLegend;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimColorLegendCollection::initAfterRead()
|
||||||
|
{
|
||||||
|
for ( auto legend : m_customColorLegends )
|
||||||
|
{
|
||||||
|
legend->addReorderCapability();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -43,19 +43,17 @@ public:
|
|||||||
~RimColorLegendCollection() override;
|
~RimColorLegendCollection() override;
|
||||||
|
|
||||||
void createStandardColorLegends();
|
void createStandardColorLegends();
|
||||||
|
|
||||||
void appendCustomColorLegend( RimColorLegend* customColorLegend );
|
void appendCustomColorLegend( RimColorLegend* customColorLegend );
|
||||||
|
|
||||||
bool isStandardColorLegend( RimColorLegend* colorLegend );
|
bool isStandardColorLegend( RimColorLegend* colorLegend );
|
||||||
|
|
||||||
void deleteCustomColorLegends();
|
void deleteCustomColorLegends();
|
||||||
|
|
||||||
std::vector<RimColorLegend*> allColorLegends() const;
|
std::vector<RimColorLegend*> allColorLegends() const;
|
||||||
|
|
||||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
|
||||||
|
|
||||||
RimColorLegend* findByName( const QString& name ) const;
|
RimColorLegend* findByName( const QString& name ) const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void initAfterRead() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RimColorLegendItem* createColorLegendItem( const QString& name, int r, int g, int b ) const;
|
RimColorLegendItem* createColorLegendItem( const QString& name, int r, int g, int b ) const;
|
||||||
RimColorLegend* createRockTypeColorLegend() const;
|
RimColorLegend* createRockTypeColorLegend() const;
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
#include "RimColorLegendItem.h"
|
#include "RimColorLegendItem.h"
|
||||||
#include "RimColorLegend.h"
|
#include "RimColorLegend.h"
|
||||||
|
|
||||||
|
#include "cafPdmUiSliderEditor.h"
|
||||||
|
|
||||||
#include "cvfColor3.h"
|
#include "cvfColor3.h"
|
||||||
|
|
||||||
#include <QColor>
|
#include <QColor>
|
||||||
@ -36,7 +38,9 @@ RimColorLegendItem::RimColorLegendItem()
|
|||||||
CAF_PDM_InitFieldNoDefault( &m_color, "Color", "Color", "", "", "" );
|
CAF_PDM_InitFieldNoDefault( &m_color, "Color", "Color", "", "", "" );
|
||||||
m_color = cvf::Color3f( cvf::Color3::ColorIdent::BLACK );
|
m_color = cvf::Color3f( cvf::Color3::ColorIdent::BLACK );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_categoryValue, "CategoryValue", 0, "Category Value", "", "", "" );
|
CAF_PDM_InitField( &m_categoryValue, "CategoryValue", 0, "Category Number", "", "", "" );
|
||||||
|
m_categoryValue.uiCapability()->setUiEditorTypeName( caf::PdmUiSliderEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_categoryName, "CategoryName", QString( "" ), "Category Name", "", "", "" );
|
CAF_PDM_InitField( &m_categoryName, "CategoryName", QString( "" ), "Category Name", "", "", "" );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_nameProxy, "NameProxy", "Name Proxy", "", "", "" );
|
CAF_PDM_InitFieldNoDefault( &m_nameProxy, "NameProxy", "Name Proxy", "", "", "" );
|
||||||
@ -130,6 +134,21 @@ caf::PdmFieldHandle* RimColorLegendItem::userDescriptionField()
|
|||||||
return &m_nameProxy;
|
return &m_nameProxy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimColorLegendItem::defineEditorAttribute( const caf::PdmFieldHandle* field,
|
||||||
|
QString uiConfigName,
|
||||||
|
caf::PdmUiEditorAttribute* attribute )
|
||||||
|
{
|
||||||
|
caf::PdmUiSliderEditorAttribute* myAttr = dynamic_cast<caf::PdmUiSliderEditorAttribute*>( attribute );
|
||||||
|
if ( myAttr )
|
||||||
|
{
|
||||||
|
myAttr->m_minimum = 0;
|
||||||
|
myAttr->m_maximum = 100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
/// "stringify" category value and name; category value with leading zeros presupposing max 2 digits
|
/// "stringify" category value and name; category value with leading zeros presupposing max 2 digits
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -51,9 +51,12 @@ public:
|
|||||||
|
|
||||||
QString itemName() const;
|
QString itemName() const;
|
||||||
|
|
||||||
public:
|
private:
|
||||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
||||||
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/ ) override;
|
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/ ) override;
|
||||||
|
void defineEditorAttribute( const caf::PdmFieldHandle* field,
|
||||||
|
QString uiConfigName,
|
||||||
|
caf::PdmUiEditorAttribute* attribute ) override;
|
||||||
|
|
||||||
caf::PdmFieldHandle* userDescriptionField() override;
|
caf::PdmFieldHandle* userDescriptionField() override;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user