#7663 Ensemble Statistics Plot: Add user input for number of histogram bins.

This commit is contained in:
Kristian Bendiksen
2021-05-12 10:48:29 +02:00
parent 7c7f319e41
commit 647f7834f0
5 changed files with 41 additions and 10 deletions

View File

@@ -30,8 +30,11 @@
#include "RigHistogramData.h"
#include "cafPdmFieldScriptingCapability.h"
#include "cafPdmObject.h"
#include "cafPdmObjectScriptingCapability.h"
#include "cafPdmUiComboBoxEditor.h"
#include "cafPdmUiLineEditor.h"
#include "cvfAssert.h"
#include <QtCharts/QBarSeries>
@@ -51,10 +54,12 @@ CAF_PDM_ABSTRACT_SOURCE_INIT( RimStatisticsPlot, "StatisticsPlot" );
//--------------------------------------------------------------------------------------------------
RimStatisticsPlot::RimStatisticsPlot()
{
// CAF_PDM_InitObject( "Grid Statistics Plot", "", "", "A Plot of Grid Statistics" );
CAF_PDM_InitField( &m_plotWindowTitle, "PlotDescription", QString( "" ), "Name", "", "", "" );
m_plotWindowTitle.xmlCapability()->setIOWritable( false );
CAF_PDM_InitField( &m_numHistogramBins, "NumHistogramBins", 50, "Number of Bins", "", "", "" );
m_numHistogramBins.uiCapability()->setUiEditorTypeName( caf::PdmUiLineEditor::uiEditorTypeName() );
m_plotLegendsHorizontal.uiCapability()->setUiHidden( true );
setDeletable( true );
@@ -176,10 +181,26 @@ void RimStatisticsPlot::cleanupBeforeClose()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimStatisticsPlot::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
void RimStatisticsPlot::defineEditorAttribute( const caf::PdmFieldHandle* field,
QString uiConfigName,
caf::PdmUiEditorAttribute* attribute )
{
caf::PdmUiGroup* plotLayoutGroup = uiOrdering.addNewGroup( "Plot Layout" );
RimPlotWindow::uiOrderingForPlotLayout( uiConfigName, *plotLayoutGroup );
caf::PdmUiLineEditorAttribute* lineEditorAttr = dynamic_cast<caf::PdmUiLineEditorAttribute*>( attribute );
if ( field == &m_numHistogramBins && lineEditorAttr != nullptr )
{
// Limit histogram bins to something resonable
QIntValidator* validator = new QIntValidator( 20, 1000, nullptr );
lineEditorAttr->validator = validator;
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimStatisticsPlot::uiOrderingForHistogram( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{
caf::PdmUiGroup* histogramGroup = uiOrdering.addNewGroup( "Histogram" );
histogramGroup->add( &m_numHistogramBins );
}
//--------------------------------------------------------------------------------------------------