mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#4946 Ensemble Colors : Show color control in curve filter property editor
This commit is contained in:
@@ -142,59 +142,71 @@ void RimEnsembleCurveFilterCollection::fieldChangedByUi( const caf::PdmFieldHand
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsembleCurveFilterCollection::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
|
||||
{
|
||||
uiOrdering.add( &m_newFilterButton );
|
||||
|
||||
for ( auto& filter : m_filters )
|
||||
RimEnsembleCurveSet* curveSet = nullptr;
|
||||
this->firstAncestorOrThisOfType( curveSet );
|
||||
if ( curveSet )
|
||||
{
|
||||
QString groupTitle;
|
||||
auto selEnsembleParam = filter->selectedEnsembleParameter();
|
||||
if ( selEnsembleParam.isNumeric() )
|
||||
// Show the color control group
|
||||
curveSet->appendColorGroup( uiOrdering );
|
||||
}
|
||||
|
||||
{
|
||||
caf::PdmUiGroup* group = uiOrdering.addNewGroup( "Filters" );
|
||||
|
||||
group->add( &m_newFilterButton );
|
||||
|
||||
for ( auto& filter : m_filters )
|
||||
{
|
||||
groupTitle = filter->ensembleParameterName();
|
||||
QString groupTitle;
|
||||
auto selEnsembleParam = filter->selectedEnsembleParameter();
|
||||
if ( selEnsembleParam.isNumeric() )
|
||||
{
|
||||
groupTitle = filter->ensembleParameterName();
|
||||
|
||||
if ( !filter->isActive() )
|
||||
{
|
||||
groupTitle += " - [Disabled]";
|
||||
}
|
||||
else
|
||||
{
|
||||
groupTitle += QString( " [%2 .. %3]" )
|
||||
.arg( QString::number( filter->minValue() ) )
|
||||
.arg( QString::number( filter->maxValue() ) );
|
||||
}
|
||||
}
|
||||
else if ( selEnsembleParam.isText() )
|
||||
{
|
||||
groupTitle = filter->ensembleParameterName();
|
||||
|
||||
if ( !filter->isActive() )
|
||||
{
|
||||
groupTitle += " - [Disabled]";
|
||||
}
|
||||
else
|
||||
{
|
||||
groupTitle += " { ";
|
||||
|
||||
bool first = true;
|
||||
for ( auto cat : filter->categories() )
|
||||
if ( !filter->isActive() )
|
||||
{
|
||||
if ( !first ) groupTitle += ", ";
|
||||
groupTitle += cat;
|
||||
first = false;
|
||||
groupTitle += " - [Disabled]";
|
||||
}
|
||||
groupTitle += " }";
|
||||
|
||||
if ( groupTitle.size() > 45 )
|
||||
else
|
||||
{
|
||||
groupTitle = groupTitle.left( 40 ) + "... }";
|
||||
groupTitle += QString( " [%2 .. %3]" )
|
||||
.arg( QString::number( filter->minValue() ) )
|
||||
.arg( QString::number( filter->maxValue() ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( selEnsembleParam.isText() )
|
||||
{
|
||||
groupTitle = filter->ensembleParameterName();
|
||||
|
||||
caf::PdmUiGroup* filterGroup = uiOrdering.addNewGroupWithKeyword( groupTitle,
|
||||
if ( !filter->isActive() )
|
||||
{
|
||||
groupTitle += " - [Disabled]";
|
||||
}
|
||||
else
|
||||
{
|
||||
groupTitle += " { ";
|
||||
|
||||
bool first = true;
|
||||
for ( const auto& cat : filter->categories() )
|
||||
{
|
||||
if ( !first ) groupTitle += ", ";
|
||||
groupTitle += cat;
|
||||
first = false;
|
||||
}
|
||||
groupTitle += " }";
|
||||
|
||||
if ( groupTitle.size() > 45 )
|
||||
{
|
||||
groupTitle = groupTitle.left( 40 ) + "... }";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
caf::PdmUiGroup* filterGroup = group->addNewGroupWithKeyword( groupTitle,
|
||||
QString( "EnsembleFilter_" ) +
|
||||
filter->filterId() );
|
||||
filter->defineUiOrdering( uiConfigName, *filterGroup );
|
||||
filter->defineUiOrdering( uiConfigName, *filterGroup );
|
||||
}
|
||||
}
|
||||
|
||||
uiOrdering.skipRemainingFields( true );
|
||||
|
||||
@@ -639,19 +639,7 @@ void RimEnsembleCurveSet::defineUiOrdering( QString uiConfigName, caf::PdmUiOrde
|
||||
curveDataGroup->add( &m_plotAxis );
|
||||
}
|
||||
|
||||
caf::PdmUiGroup* colorsGroup = uiOrdering.addNewGroup( "Colors" );
|
||||
m_colorMode.uiCapability()->setUiReadOnly( !m_yValuesSummaryCaseCollection() );
|
||||
colorsGroup->add( &m_colorMode );
|
||||
|
||||
if ( m_colorMode == SINGLE_COLOR )
|
||||
{
|
||||
colorsGroup->add( &m_color );
|
||||
}
|
||||
else if ( m_colorMode == BY_ENSEMBLE_PARAM )
|
||||
{
|
||||
m_ensembleParameter.uiCapability()->setUiReadOnly( !m_yValuesSummaryCaseCollection() );
|
||||
colorsGroup->add( &m_ensembleParameter );
|
||||
}
|
||||
appendColorGroup( uiOrdering );
|
||||
|
||||
{
|
||||
caf::PdmUiGroup* nameGroup = uiOrdering.addNewGroup( "Curve Name" );
|
||||
@@ -674,6 +662,26 @@ void RimEnsembleCurveSet::defineUiOrdering( QString uiConfigName, caf::PdmUiOrde
|
||||
uiOrdering.skipRemainingFields( true );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsembleCurveSet::appendColorGroup( caf::PdmUiOrdering& uiOrdering )
|
||||
{
|
||||
caf::PdmUiGroup* colorsGroup = uiOrdering.addNewGroup( "Colors" );
|
||||
m_colorMode.uiCapability()->setUiReadOnly( !m_yValuesSummaryCaseCollection() );
|
||||
colorsGroup->add( &m_colorMode );
|
||||
|
||||
if ( m_colorMode == SINGLE_COLOR )
|
||||
{
|
||||
colorsGroup->add( &m_color );
|
||||
}
|
||||
else if ( m_colorMode == BY_ENSEMBLE_PARAM )
|
||||
{
|
||||
m_ensembleParameter.uiCapability()->setUiReadOnly( !m_yValuesSummaryCaseCollection() );
|
||||
colorsGroup->add( &m_ensembleParameter );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -125,6 +125,8 @@ public:
|
||||
bool hasP90Data() const;
|
||||
bool hasMeanData() const;
|
||||
|
||||
void appendColorGroup( caf::PdmUiOrdering& uiOrdering );
|
||||
|
||||
private:
|
||||
void updateEnsembleCurves( const std::vector<RimSummaryCase*>& sumCases );
|
||||
void updateStatisticsCurves( const std::vector<RimSummaryCase*>& sumCases );
|
||||
@@ -138,6 +140,7 @@ private:
|
||||
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions,
|
||||
bool* useOptionsOnly ) override;
|
||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||
|
||||
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "" ) override;
|
||||
|
||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField,
|
||||
@@ -145,7 +148,7 @@ private:
|
||||
const QVariant& newValue ) override;
|
||||
|
||||
void appendOptionItemsForSummaryAddresses( QList<caf::PdmOptionItemInfo>* options,
|
||||
RimSummaryCaseCollection* summaryCaseGroup);
|
||||
RimSummaryCaseCollection* summaryCaseGroup );
|
||||
|
||||
void updateCurveColors();
|
||||
void updateQwtPlotAxis();
|
||||
@@ -154,7 +157,6 @@ private:
|
||||
QString createAutoName() const;
|
||||
|
||||
void updateLegendMappingMode();
|
||||
void sortParameterVectorByBinnedVariation( std::vector<NameParameterPair>& parameterVector ) const;
|
||||
|
||||
private:
|
||||
caf::PdmField<bool> m_showCurves;
|
||||
@@ -190,5 +192,5 @@ private:
|
||||
bool m_isCurveSetFiltered;
|
||||
|
||||
// Obsolete fields
|
||||
caf::PdmChildField<RimSummaryFilter_OBSOLETE*> m_yValuesSummaryFilter_OBSOLETE;
|
||||
caf::PdmChildField<RimSummaryFilter_OBSOLETE*> m_yValuesSummaryFilter_OBSOLETE;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user