mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
9978 Improve UI for long drop-down lists, use tree selection more
* Improve tree selection editor - always call defineEditorAttributes - use heightHint in editor attributes - use tree selection editor as default editor for std::vector * Use tree selection editor instead of list selection editor List selection editor must be used when editing std::vector<cvf::vec3d> and similar. Replace other use of list selection editor with tree selection editor. * Set checked state based on text string for integer only models For models with only integer values, use text string to define the items to be selected. The full list will always be visible, and the checked state will be updated when editing the filter text. Example: "1, 5-7" will set items 1, 5, 6, 7 checked and all other items unchecked * Minor fixes - Set placeholder text after content is added (to ensure correct data type) - Fix check of integers. `canConvert<int>()`returns true for both QString and int. Thus convert to string and then check for int conversion. * Activate filtering when unchecking all items in list with only integers - Reactivate filtering when uncheck of all items for a list with only integer values (to keep consistency between filter and list) - Update function name for clarity --------- Co-authored-by: Jørgen Herje <jorgen.herje@ceetronsolutions.com>
This commit is contained in:
parent
2247dced58
commit
40080a99de
@ -19,9 +19,11 @@
|
|||||||
#include "RiaMemoryCleanup.h"
|
#include "RiaMemoryCleanup.h"
|
||||||
|
|
||||||
#include "RigCaseCellResultsData.h"
|
#include "RigCaseCellResultsData.h"
|
||||||
|
#include "RigEclipseResultInfo.h"
|
||||||
#include "RigFemPartResultsCollection.h"
|
#include "RigFemPartResultsCollection.h"
|
||||||
#include "RigFemResultAddress.h"
|
#include "RigFemResultAddress.h"
|
||||||
#include "RigGeoMechCaseData.h"
|
#include "RigGeoMechCaseData.h"
|
||||||
|
|
||||||
#include "Rim3dView.h"
|
#include "Rim3dView.h"
|
||||||
#include "RimEclipseCase.h"
|
#include "RimEclipseCase.h"
|
||||||
#include "RimEclipseResultDefinition.h"
|
#include "RimEclipseResultDefinition.h"
|
||||||
@ -29,8 +31,6 @@
|
|||||||
#include "RimGeoMechResultDefinition.h"
|
#include "RimGeoMechResultDefinition.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
|
|
||||||
#include "RigEclipseResultInfo.h"
|
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiPushButtonEditor.h"
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
#include "cafPdmUiTreeSelectionEditor.h"
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
@ -46,17 +46,15 @@ CAF_PDM_SOURCE_INIT( RiaMemoryCleanup, "RiaMemoryCleanup" );
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RiaMemoryCleanup::RiaMemoryCleanup()
|
RiaMemoryCleanup::RiaMemoryCleanup()
|
||||||
{
|
{
|
||||||
// clang-format off
|
CAF_PDM_InitFieldNoDefault( &m_case, "DataCase", "Case" );
|
||||||
CAF_PDM_InitFieldNoDefault(&m_case, "DataCase", "Case");
|
|
||||||
m_case = nullptr;
|
m_case = nullptr;
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_resultsToDelete, "ResultsToDelete", "Results In Memory");
|
CAF_PDM_InitFieldNoDefault( &m_resultsToDelete, "ResultsToDelete", "Results In Memory" );
|
||||||
m_resultsToDelete.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::TOP);
|
m_resultsToDelete.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
||||||
m_resultsToDelete.uiCapability()->setUiEditorTypeName(caf::PdmUiTreeSelectionEditor::uiEditorTypeName());
|
m_resultsToDelete.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_performDelete, "ClearSelectedData", "");
|
CAF_PDM_InitFieldNoDefault( &m_performDelete, "ClearSelectedData", "" );
|
||||||
caf::PdmUiPushButtonEditor::configureEditorForField(&m_performDelete);
|
caf::PdmUiPushButtonEditor::configureEditorForField( &m_performDelete );
|
||||||
// clang-format on
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -432,7 +432,7 @@ void RiaPreferencesSummary::defineEditorAttribute( const caf::PdmFieldHandle* fi
|
|||||||
auto attrib = dynamic_cast<caf::PdmUiListEditorAttribute*>( attribute );
|
auto attrib = dynamic_cast<caf::PdmUiListEditorAttribute*>( attribute );
|
||||||
if ( attrib )
|
if ( attrib )
|
||||||
{
|
{
|
||||||
attrib->m_heightHint = 30;
|
attrib->heightHint = 30;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,8 +33,8 @@
|
|||||||
#include "cafPdmUiFilePathEditor.h"
|
#include "cafPdmUiFilePathEditor.h"
|
||||||
#include "cafPdmUiGroup.h"
|
#include "cafPdmUiGroup.h"
|
||||||
#include "cafPdmUiLineEditor.h"
|
#include "cafPdmUiLineEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiOrdering.h"
|
#include "cafPdmUiOrdering.h"
|
||||||
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
@ -251,10 +251,10 @@ void RicExportEclipseSectorModelUi::defineEditorAttribute( const caf::PdmFieldHa
|
|||||||
}
|
}
|
||||||
else if ( field == &selectedKeywords )
|
else if ( field == &selectedKeywords )
|
||||||
{
|
{
|
||||||
auto* myAttr = dynamic_cast<caf::PdmUiListEditorAttribute*>( attribute );
|
auto myAttr = dynamic_cast<caf::PdmUiTreeSelectionEditorAttribute*>( attribute );
|
||||||
if ( myAttr )
|
if ( myAttr )
|
||||||
{
|
{
|
||||||
myAttr->m_heightHint = 280;
|
myAttr->heightHint = 280;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( field == &refinementCountI || field == &refinementCountJ || field == &refinementCountK )
|
else if ( field == &refinementCountI || field == &refinementCountJ || field == &refinementCountK )
|
||||||
|
@ -22,8 +22,8 @@
|
|||||||
|
|
||||||
#include "cafPdmObject.h"
|
#include "cafPdmObject.h"
|
||||||
#include "cafPdmUiCheckBoxEditor.h"
|
#include "cafPdmUiCheckBoxEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiOrdering.h"
|
#include "cafPdmUiOrdering.h"
|
||||||
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT( RicCreateEnsembleSurfaceUi, "RicCreateEnsembleSurfaceUi" );
|
CAF_PDM_SOURCE_INIT( RicCreateEnsembleSurfaceUi, "RicCreateEnsembleSurfaceUi" );
|
||||||
|
|
||||||
@ -75,10 +75,10 @@ void RicCreateEnsembleSurfaceUi::defineEditorAttribute( const caf::PdmFieldHandl
|
|||||||
{
|
{
|
||||||
if ( field == &m_layers )
|
if ( field == &m_layers )
|
||||||
{
|
{
|
||||||
caf::PdmUiListEditorAttribute* myAttr = dynamic_cast<caf::PdmUiListEditorAttribute*>( attribute );
|
auto myAttr = dynamic_cast<caf::PdmUiTreeSelectionEditorAttribute*>( attribute );
|
||||||
if ( myAttr )
|
if ( myAttr )
|
||||||
{
|
{
|
||||||
myAttr->m_heightHint = 280;
|
myAttr->heightHint = 280;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,6 @@
|
|||||||
#include "cafPdmObject.h"
|
#include "cafPdmObject.h"
|
||||||
#include "cafPdmUiCheckBoxEditor.h"
|
#include "cafPdmUiCheckBoxEditor.h"
|
||||||
#include "cafPdmUiFilePathEditor.h"
|
#include "cafPdmUiFilePathEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiOrdering.h"
|
#include "cafPdmUiOrdering.h"
|
||||||
#include "cafPdmUiTreeSelectionEditor.h"
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
@ -66,7 +65,6 @@ RicCreateEnsembleWellLogUi::RicCreateEnsembleWellLogUi()
|
|||||||
CAF_PDM_InitFieldNoDefault( &m_wellPath, "WellPath", "Well Path" );
|
CAF_PDM_InitFieldNoDefault( &m_wellPath, "WellPath", "Well Path" );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_wellFilePath, "WellFilePath", "Well File Path" );
|
CAF_PDM_InitFieldNoDefault( &m_wellFilePath, "WellFilePath", "Well File Path" );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedKeywords, "SelectedProperties", "Selected Properties" );
|
CAF_PDM_InitFieldNoDefault( &m_selectedKeywords, "SelectedProperties", "Selected Properties" );
|
||||||
m_selectedKeywords.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
|
||||||
|
|
||||||
m_tabNames << "Well"
|
m_tabNames << "Well"
|
||||||
<< "Properties";
|
<< "Properties";
|
||||||
|
@ -53,7 +53,6 @@
|
|||||||
#include "cafPdmUiCheckBoxEditor.h"
|
#include "cafPdmUiCheckBoxEditor.h"
|
||||||
#include "cafPdmUiComboBoxEditor.h"
|
#include "cafPdmUiComboBoxEditor.h"
|
||||||
#include "cafPdmUiGroup.h"
|
#include "cafPdmUiGroup.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiTreeSelectionEditor.h"
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
@ -19,19 +19,20 @@
|
|||||||
|
|
||||||
#include "RiaResultNames.h"
|
#include "RiaResultNames.h"
|
||||||
|
|
||||||
|
#include "RifSummaryReaderInterface.h"
|
||||||
|
|
||||||
#include "RimAnalysisPlot.h"
|
#include "RimAnalysisPlot.h"
|
||||||
#include "RimSummaryAddress.h"
|
#include "RimSummaryAddress.h"
|
||||||
|
#include "RimSummaryCase.h"
|
||||||
#include "RimSummaryCaseCollection.h"
|
#include "RimSummaryCaseCollection.h"
|
||||||
|
|
||||||
#include "RifSummaryReaderInterface.h"
|
|
||||||
#include "RimSummaryCase.h"
|
|
||||||
|
|
||||||
#include "QFontMetrics"
|
|
||||||
#include "cafPdmUiActionPushButtonEditor.h"
|
#include "cafPdmUiActionPushButtonEditor.h"
|
||||||
#include "cafPdmUiDoubleSliderEditor.h"
|
#include "cafPdmUiDoubleSliderEditor.h"
|
||||||
#include "cafPdmUiLineEditor.h"
|
#include "cafPdmUiLineEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiPushButtonEditor.h"
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
|
#include <QFontMetrics>
|
||||||
|
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
@ -116,7 +117,7 @@ RimPlotDataFilterItem::RimPlotDataFilterItem()
|
|||||||
CAF_PDM_InitFieldNoDefault( &m_ensembleParameterValueCategories, "EnsembleParameterValueCategories", "one of" );
|
CAF_PDM_InitFieldNoDefault( &m_ensembleParameterValueCategories, "EnsembleParameterValueCategories", "one of" );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_consideredTimestepsType, "ConsideredTimestepsType", "at the" );
|
CAF_PDM_InitFieldNoDefault( &m_consideredTimestepsType, "ConsideredTimestepsType", "at the" );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_explicitlySelectedTimeSteps, "ExplicitlySelectedTimeSteps", "TimeSteps" );
|
CAF_PDM_InitFieldNoDefault( &m_explicitlySelectedTimeSteps, "ExplicitlySelectedTimeSteps", "TimeSteps" );
|
||||||
m_explicitlySelectedTimeSteps.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_explicitlySelectedTimeSteps.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
m_explicitlySelectedTimeSteps.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
m_explicitlySelectedTimeSteps.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
||||||
|
|
||||||
setDeletable( true );
|
setDeletable( true );
|
||||||
|
@ -118,6 +118,7 @@ RimFishbones::RimFishbones()
|
|||||||
"Orientation" );
|
"Orientation" );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_installationRotationAngles, "InstallationRotationAngles", "Installation Rotation Angles [deg]" );
|
CAF_PDM_InitFieldNoDefault( &m_installationRotationAngles, "InstallationRotationAngles", "Installation Rotation Angles [deg]" );
|
||||||
|
m_installationRotationAngles.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
||||||
m_installationRotationAngles.uiCapability()->setUiHidden( true );
|
m_installationRotationAngles.uiCapability()->setUiHidden( true );
|
||||||
CAF_PDM_InitField( &m_fixedInstallationRotationAngle, "FixedInstallationRotationAngle", 0.0, " Fixed Angle [deg]" );
|
CAF_PDM_InitField( &m_fixedInstallationRotationAngle, "FixedInstallationRotationAngle", 0.0, " Fixed Angle [deg]" );
|
||||||
|
|
||||||
|
@ -23,11 +23,6 @@
|
|||||||
#include "RiaQDateTimeTools.h"
|
#include "RiaQDateTimeTools.h"
|
||||||
#include "RiaStatisticsTools.h"
|
#include "RiaStatisticsTools.h"
|
||||||
#include "RiaSummaryCurveDefinition.h"
|
#include "RiaSummaryCurveDefinition.h"
|
||||||
#include "RiuPlotMainWindowTools.h"
|
|
||||||
#include "RiuQwtLinearScaleEngine.h"
|
|
||||||
#include "RiuQwtPlotItem.h"
|
|
||||||
#include "RiuQwtPlotTools.h"
|
|
||||||
#include "RiuQwtPlotWidget.h"
|
|
||||||
|
|
||||||
#include "RifSummaryReaderInterface.h"
|
#include "RifSummaryReaderInterface.h"
|
||||||
|
|
||||||
@ -44,6 +39,12 @@
|
|||||||
#include "RimSummaryCaseCollection.h"
|
#include "RimSummaryCaseCollection.h"
|
||||||
#include "RimSummaryPlotAxisFormatter.h"
|
#include "RimSummaryPlotAxisFormatter.h"
|
||||||
|
|
||||||
|
#include "RiuPlotMainWindowTools.h"
|
||||||
|
#include "RiuQwtLinearScaleEngine.h"
|
||||||
|
#include "RiuQwtPlotItem.h"
|
||||||
|
#include "RiuQwtPlotTools.h"
|
||||||
|
#include "RiuQwtPlotWidget.h"
|
||||||
|
|
||||||
#include "cafPdmUiComboBoxEditor.h"
|
#include "cafPdmUiComboBoxEditor.h"
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
#include "cafPdmUiTreeSelectionEditor.h"
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
@ -163,7 +164,6 @@ RimCorrelationMatrixPlot::RimCorrelationMatrixPlot()
|
|||||||
CAF_PDM_InitFieldNoDefault( &m_legendConfig, "LegendConfig", "" );
|
CAF_PDM_InitFieldNoDefault( &m_legendConfig, "LegendConfig", "" );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedParametersList, "SelectedParameters", "Select Parameters" );
|
CAF_PDM_InitFieldNoDefault( &m_selectedParametersList, "SelectedParameters", "Select Parameters" );
|
||||||
m_selectedParametersList.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
m_selectedParametersList.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
||||||
m_selectedParametersList.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
|
||||||
|
|
||||||
m_legendConfig = new RimRegularLegendConfig();
|
m_legendConfig = new RimRegularLegendConfig();
|
||||||
m_legendConfig->setAutomaticRanges( -1.0, 1.0, -1.0, 1.0 );
|
m_legendConfig->setAutomaticRanges( -1.0, 1.0, -1.0, 1.0 );
|
||||||
|
@ -42,7 +42,6 @@
|
|||||||
#include "RiuMainWindow.h"
|
#include "RiuMainWindow.h"
|
||||||
|
|
||||||
#include "cafPdmUiCheckBoxEditor.h"
|
#include "cafPdmUiCheckBoxEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiPushButtonEditor.h"
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
#include "cafUtils.h"
|
#include "cafUtils.h"
|
||||||
|
|
||||||
@ -97,7 +96,6 @@ RimFlowCharacteristicsPlot::RimFlowCharacteristicsPlot()
|
|||||||
CAF_PDM_InitFieldNoDefault( &m_cellFilterView, "CellFilterView", "View" );
|
CAF_PDM_InitFieldNoDefault( &m_cellFilterView, "CellFilterView", "View" );
|
||||||
CAF_PDM_InitField( &m_tracerFilter, "TracerFilter", QString(), "Tracer Filter" );
|
CAF_PDM_InitField( &m_tracerFilter, "TracerFilter", QString(), "Tracer Filter" );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedTracerNames, "SelectedTracerNames", " " );
|
CAF_PDM_InitFieldNoDefault( &m_selectedTracerNames, "SelectedTracerNames", " " );
|
||||||
m_selectedTracerNames.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_showRegion, "ShowRegion", "" );
|
CAF_PDM_InitFieldNoDefault( &m_showRegion, "ShowRegion", "" );
|
||||||
caf::PdmUiPushButtonEditor::configureEditorForField( &m_showRegion );
|
caf::PdmUiPushButtonEditor::configureEditorForField( &m_showRegion );
|
||||||
|
|
||||||
|
@ -152,10 +152,8 @@ RimWellConnectivityTable::RimWellConnectivityTable()
|
|||||||
|
|
||||||
// Producer/Injector tracer configuration
|
// Producer/Injector tracer configuration
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedProducerTracersUiField, "SelectedProducerTracers", "Producer Tracers" );
|
CAF_PDM_InitFieldNoDefault( &m_selectedProducerTracersUiField, "SelectedProducerTracers", "Producer Tracers" );
|
||||||
m_selectedProducerTracersUiField.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
|
||||||
m_selectedProducerTracersUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
m_selectedProducerTracersUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedInjectorTracersUiField, "SelectedInjectorTracers", "Injector Tracers" );
|
CAF_PDM_InitFieldNoDefault( &m_selectedInjectorTracersUiField, "SelectedInjectorTracers", "Injector Tracers" );
|
||||||
m_selectedInjectorTracersUiField.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
|
||||||
m_selectedInjectorTracersUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
m_selectedInjectorTracersUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
||||||
CAF_PDM_InitField( &m_syncSelectedInjectorsFromProducerSelection, "SyncSelectedProdInj", false, "Synch Communicators ->" );
|
CAF_PDM_InitField( &m_syncSelectedInjectorsFromProducerSelection, "SyncSelectedProdInj", false, "Synch Communicators ->" );
|
||||||
m_syncSelectedInjectorsFromProducerSelection.uiCapability()->setUiEditorTypeName( caf::PdmUiToolButtonEditor::uiEditorTypeName() );
|
m_syncSelectedInjectorsFromProducerSelection.uiCapability()->setUiEditorTypeName( caf::PdmUiToolButtonEditor::uiEditorTypeName() );
|
||||||
|
@ -26,10 +26,10 @@
|
|||||||
|
|
||||||
#include "RiuQwtPlotWidget.h"
|
#include "RiuQwtPlotWidget.h"
|
||||||
|
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiObjectHandle.h"
|
#include "cafPdmUiObjectHandle.h"
|
||||||
#include "cafPdmUiOrdering.h"
|
#include "cafPdmUiOrdering.h"
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
#include <QFrame>
|
#include <QFrame>
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ RimWellRftEnsembleCurveSet::RimWellRftEnsembleCurveSet()
|
|||||||
CAF_PDM_InitField( &m_ensembleColorMode, "ColorMode", ColorModeEnum( ColorMode::SINGLE_COLOR ), "Coloring Mode" );
|
CAF_PDM_InitField( &m_ensembleColorMode, "ColorMode", ColorModeEnum( ColorMode::SINGLE_COLOR ), "Coloring Mode" );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_ensembleParameter, "EnsembleParameter", QString( "" ), "Ensemble Parameter" );
|
CAF_PDM_InitField( &m_ensembleParameter, "EnsembleParameter", QString( "" ), "Ensemble Parameter" );
|
||||||
m_ensembleParameter.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_ensembleParameter.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_ensembleLegendConfig, "LegendConfig", "" );
|
CAF_PDM_InitFieldNoDefault( &m_ensembleLegendConfig, "LegendConfig", "" );
|
||||||
m_ensembleLegendConfig = new RimRegularLegendConfig();
|
m_ensembleLegendConfig = new RimRegularLegendConfig();
|
||||||
|
@ -64,7 +64,6 @@
|
|||||||
#include "RiuQwtPlotCurveDefines.h"
|
#include "RiuQwtPlotCurveDefines.h"
|
||||||
#include "RiuQwtPlotWidget.h"
|
#include "RiuQwtPlotWidget.h"
|
||||||
|
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
#include "cafPdmUiTreeSelectionEditor.h"
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
|
@ -54,7 +54,6 @@
|
|||||||
#include "cafPdmFieldScriptingCapability.h"
|
#include "cafPdmFieldScriptingCapability.h"
|
||||||
#include "cafPdmObjectScriptingCapability.h"
|
#include "cafPdmObjectScriptingCapability.h"
|
||||||
#include "cafPdmUiDoubleValueEditor.h"
|
#include "cafPdmUiDoubleValueEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiPropertyViewDialog.h"
|
#include "cafPdmUiPropertyViewDialog.h"
|
||||||
#include "cafPdmUiPushButtonEditor.h"
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
@ -130,7 +129,6 @@ RimGeoMechCase::RimGeoMechCase()
|
|||||||
m_biotFixedCoefficient.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
m_biotFixedCoefficient.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_biotResultAddress, "BiotResultAddress", QString( "" ), "Value" );
|
CAF_PDM_InitField( &m_biotResultAddress, "BiotResultAddress", QString( "" ), "Value" );
|
||||||
m_biotResultAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
|
||||||
|
|
||||||
caf::AppEnum<InitialPermeabilityType> defaultInitialPermeabilityType = RimGeoMechCase::InitialPermeabilityType::INITIAL_PERMEABILITY_FIXED;
|
caf::AppEnum<InitialPermeabilityType> defaultInitialPermeabilityType = RimGeoMechCase::InitialPermeabilityType::INITIAL_PERMEABILITY_FIXED;
|
||||||
CAF_PDM_InitField( &m_initialPermeabilityType, "InitialPermeabilityType", defaultInitialPermeabilityType, "Initial Permeability" );
|
CAF_PDM_InitField( &m_initialPermeabilityType, "InitialPermeabilityType", defaultInitialPermeabilityType, "Initial Permeability" );
|
||||||
@ -138,7 +136,6 @@ RimGeoMechCase::RimGeoMechCase()
|
|||||||
m_initialPermeabilityFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
m_initialPermeabilityFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_initialPermeabilityResultAddress, "InitialPermeabilityAddress", QString( "" ), "Value" );
|
CAF_PDM_InitField( &m_initialPermeabilityResultAddress, "InitialPermeabilityAddress", QString( "" ), "Value" );
|
||||||
m_initialPermeabilityResultAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_permeabilityExponent, "PermeabilityExponent", 1.0, "Permeability Exponent" );
|
CAF_PDM_InitField( &m_permeabilityExponent, "PermeabilityExponent", 1.0, "Permeability Exponent" );
|
||||||
m_permeabilityExponent.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
m_permeabilityExponent.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
#include "RimWellPath.h"
|
#include "RimWellPath.h"
|
||||||
|
|
||||||
#include "cafPdmUiDoubleValueEditor.h"
|
#include "cafPdmUiDoubleValueEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
#include <QDoubleValidator>
|
#include <QDoubleValidator>
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ RimGeoMechResultDefinition::RimGeoMechResultDefinition()
|
|||||||
CAF_PDM_InitField( &m_resultVariableUiField, "ResultVariableUI", QString( "" ), "Value" );
|
CAF_PDM_InitField( &m_resultVariableUiField, "ResultVariableUI", QString( "" ), "Value" );
|
||||||
m_resultVariableUiField.xmlCapability()->disableIO();
|
m_resultVariableUiField.xmlCapability()->disableIO();
|
||||||
|
|
||||||
m_resultVariableUiField.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_resultVariableUiField.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
m_resultVariableUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
m_resultVariableUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_normalizeByHydrostaticPressure, "NormalizeByHSP", false, "Normalize by Hydrostatic Pressure" );
|
CAF_PDM_InitField( &m_normalizeByHydrostaticPressure, "NormalizeByHSP", false, "Normalize by Hydrostatic Pressure" );
|
||||||
|
@ -955,7 +955,7 @@ void RimExtrudedCurveIntersection::setBaseColor( bool enable, caf::PdmUiListEdit
|
|||||||
{
|
{
|
||||||
if ( attribute )
|
if ( attribute )
|
||||||
{
|
{
|
||||||
attribute->m_qssState = enable ? "ExternalInput" : QString();
|
attribute->qssState = enable ? "ExternalInput" : QString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include "RimRegularLegendConfig.h"
|
#include "RimRegularLegendConfig.h"
|
||||||
#include "RimReservoirCellResultsStorage.h"
|
#include "RimReservoirCellResultsStorage.h"
|
||||||
|
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
#include "cafPdmUiTreeSelectionEditor.h"
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
@ -73,7 +72,6 @@ RimCellEdgeColors::RimCellEdgeColors()
|
|||||||
CAF_PDM_InitFieldNoDefault( &m_legendConfig, "LegendDefinition", "Color Legend", ":/Legend.png" );
|
CAF_PDM_InitFieldNoDefault( &m_legendConfig, "LegendDefinition", "Color Legend", ":/Legend.png" );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedKeywords, "SelectedProperties", "Selected Properties" );
|
CAF_PDM_InitFieldNoDefault( &m_selectedKeywords, "SelectedProperties", "Selected Properties" );
|
||||||
m_selectedKeywords.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_showTextValuesIfItemIsUnchecked,
|
CAF_PDM_InitField( &m_showTextValuesIfItemIsUnchecked,
|
||||||
"ShowTextValuesIfItemIsUnchecked",
|
"ShowTextValuesIfItemIsUnchecked",
|
||||||
@ -83,8 +81,6 @@ RimCellEdgeColors::RimCellEdgeColors()
|
|||||||
"Allow display of result values in Result Info window if the Cell Edge object is unchecked in "
|
"Allow display of result values in Result Info window if the Cell Edge object is unchecked in "
|
||||||
"Property Editor." );
|
"Property Editor." );
|
||||||
|
|
||||||
m_resultVariable.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
|
||||||
|
|
||||||
m_legendConfig = new RimRegularLegendConfig();
|
m_legendConfig = new RimRegularLegendConfig();
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_singleVarEdgeResultColors_OBSOLETE, "SingleVarEdgeResult", "Result Property", ":/CellResult.png" );
|
CAF_PDM_InitFieldNoDefault( &m_singleVarEdgeResultColors_OBSOLETE, "SingleVarEdgeResult", "Result Property", ":/CellResult.png" );
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
#include "RiuSummaryVectorSelectionDialog.h"
|
#include "RiuSummaryVectorSelectionDialog.h"
|
||||||
|
|
||||||
#include "cafPdmUiLineEditor.h"
|
#include "cafPdmUiLineEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiPushButtonEditor.h"
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
#include "cafPdmUiTreeSelectionEditor.h"
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
@ -62,7 +61,7 @@ RimCustomObjectiveFunctionWeight::RimCustomObjectiveFunctionWeight()
|
|||||||
m_weightValue.uiCapability()->setUiEditorTypeName( caf::PdmUiLineEditor::uiEditorTypeName() );
|
m_weightValue.uiCapability()->setUiEditorTypeName( caf::PdmUiLineEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_objectiveFunction, "ObjectiveFunction", "Objective Function" );
|
CAF_PDM_InitFieldNoDefault( &m_objectiveFunction, "ObjectiveFunction", "Objective Function" );
|
||||||
m_objectiveFunction.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_objectiveFunction.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
setDeletable( true );
|
setDeletable( true );
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "cafPdmFieldScriptingCapability.h"
|
#include "cafPdmFieldScriptingCapability.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiToolButtonEditor.h"
|
#include "cafPdmUiToolButtonEditor.h"
|
||||||
#include "cafPdmUiTreeSelectionEditor.h"
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
#include "cafUtils.h"
|
#include "cafUtils.h"
|
||||||
@ -147,8 +146,8 @@ RimEclipseResultDefinition::RimEclipseResultDefinition( caf::PdmUiItemInfo::Labe
|
|||||||
|
|
||||||
CAF_PDM_InitField( &m_resultVariableUiField, "MResultVariable", RiaResultNames::undefinedResultName(), "Result Property" );
|
CAF_PDM_InitField( &m_resultVariableUiField, "MResultVariable", RiaResultNames::undefinedResultName(), "Result Property" );
|
||||||
m_resultVariableUiField.xmlCapability()->disableIO();
|
m_resultVariableUiField.xmlCapability()->disableIO();
|
||||||
m_resultVariableUiField.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
|
||||||
m_resultVariableUiField.uiCapability()->setUiLabelPosition( m_labelPosition );
|
m_resultVariableUiField.uiCapability()->setUiLabelPosition( m_labelPosition );
|
||||||
|
m_resultVariableUiField.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_inputPropertyFileName, "InputPropertyFileName", "File Name" );
|
CAF_PDM_InitFieldNoDefault( &m_inputPropertyFileName, "InputPropertyFileName", "File Name" );
|
||||||
m_inputPropertyFileName.xmlCapability()->disableIO();
|
m_inputPropertyFileName.xmlCapability()->disableIO();
|
||||||
@ -166,17 +165,14 @@ RimEclipseResultDefinition::RimEclipseResultDefinition( caf::PdmUiItemInfo::Labe
|
|||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedInjectorTracersUiField, "MSelectedInjectorTracers", "Injector Tracers" );
|
CAF_PDM_InitFieldNoDefault( &m_selectedInjectorTracersUiField, "MSelectedInjectorTracers", "Injector Tracers" );
|
||||||
m_selectedInjectorTracersUiField.xmlCapability()->disableIO();
|
m_selectedInjectorTracersUiField.xmlCapability()->disableIO();
|
||||||
m_selectedInjectorTracersUiField.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
|
||||||
m_selectedInjectorTracersUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
m_selectedInjectorTracersUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedProducerTracersUiField, "MSelectedProducerTracers", "Producer Tracers" );
|
CAF_PDM_InitFieldNoDefault( &m_selectedProducerTracersUiField, "MSelectedProducerTracers", "Producer Tracers" );
|
||||||
m_selectedProducerTracersUiField.xmlCapability()->disableIO();
|
m_selectedProducerTracersUiField.xmlCapability()->disableIO();
|
||||||
m_selectedProducerTracersUiField.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
|
||||||
m_selectedProducerTracersUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
m_selectedProducerTracersUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedSouringTracersUiField, "MSelectedSouringTracers", "Tracers" );
|
CAF_PDM_InitFieldNoDefault( &m_selectedSouringTracersUiField, "MSelectedSouringTracers", "Tracers" );
|
||||||
m_selectedSouringTracersUiField.xmlCapability()->disableIO();
|
m_selectedSouringTracersUiField.xmlCapability()->disableIO();
|
||||||
m_selectedSouringTracersUiField.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
|
||||||
m_selectedSouringTracersUiField.uiCapability()->setUiLabelPosition( m_labelPosition );
|
m_selectedSouringTracersUiField.uiCapability()->setUiLabelPosition( m_labelPosition );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1592,15 +1588,7 @@ void RimEclipseResultDefinition::defineEditorAttribute( const caf::PdmFieldHandl
|
|||||||
{
|
{
|
||||||
if ( m_resultTypeUiField() == RiaDefines::ResultCatType::FLOW_DIAGNOSTICS )
|
if ( m_resultTypeUiField() == RiaDefines::ResultCatType::FLOW_DIAGNOSTICS )
|
||||||
{
|
{
|
||||||
if ( field == &m_resultVariableUiField )
|
if ( field == &m_syncInjectorToProducerSelection || field == &m_syncProducerToInjectorSelection )
|
||||||
{
|
|
||||||
caf::PdmUiListEditorAttribute* listEditAttr = dynamic_cast<caf::PdmUiListEditorAttribute*>( attribute );
|
|
||||||
if ( listEditAttr )
|
|
||||||
{
|
|
||||||
listEditAttr->m_heightHint = 50;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( field == &m_syncInjectorToProducerSelection || field == &m_syncProducerToInjectorSelection )
|
|
||||||
{
|
{
|
||||||
caf::PdmUiToolButtonEditorAttribute* toolButtonAttr = dynamic_cast<caf::PdmUiToolButtonEditorAttribute*>( attribute );
|
caf::PdmUiToolButtonEditorAttribute* toolButtonAttr = dynamic_cast<caf::PdmUiToolButtonEditorAttribute*>( attribute );
|
||||||
if ( toolButtonAttr )
|
if ( toolButtonAttr )
|
||||||
@ -1609,14 +1597,6 @@ void RimEclipseResultDefinition::defineEditorAttribute( const caf::PdmFieldHandl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( field == &m_resultVariableUiField )
|
|
||||||
{
|
|
||||||
caf::PdmUiListEditorAttribute* listEditAttr = dynamic_cast<caf::PdmUiListEditorAttribute*>( attribute );
|
|
||||||
if ( listEditAttr )
|
|
||||||
{
|
|
||||||
listEditAttr->m_allowHorizontalScrollBar = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -32,7 +32,6 @@
|
|||||||
#include "RiuViewer.h"
|
#include "RiuViewer.h"
|
||||||
|
|
||||||
#include "cafAppEnum.h"
|
#include "cafAppEnum.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT( RimElementVectorResult, "RimElementVectorResult" );
|
CAF_PDM_SOURCE_INIT( RimElementVectorResult, "RimElementVectorResult" );
|
||||||
|
@ -30,9 +30,9 @@
|
|||||||
#include "cafPdmFieldScriptingCapability.h"
|
#include "cafPdmFieldScriptingCapability.h"
|
||||||
#include "cafPdmObjectScriptingCapability.h"
|
#include "cafPdmObjectScriptingCapability.h"
|
||||||
#include "cafPdmUiDoubleValueEditor.h"
|
#include "cafPdmUiDoubleValueEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiPropertyViewDialog.h"
|
#include "cafPdmUiPropertyViewDialog.h"
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT( RimMudWeightWindowParameters, "RimMudWeightWindowParameters" );
|
CAF_PDM_SOURCE_INIT( RimMudWeightWindowParameters, "RimMudWeightWindowParameters" );
|
||||||
|
|
||||||
@ -114,35 +114,35 @@ RimMudWeightWindowParameters::RimMudWeightWindowParameters()
|
|||||||
m_wellDeviationFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
m_wellDeviationFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_wellDeviationAddress, "WellDeviationAddress", QString( "" ), "Value" );
|
CAF_PDM_InitField( &m_wellDeviationAddress, "WellDeviationAddress", QString( "" ), "Value" );
|
||||||
m_wellDeviationAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_wellDeviationAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_wellAzimuthType, "WellAzimuthSourceType", defaultSourceType, "Well Azimuth" );
|
CAF_PDM_InitField( &m_wellAzimuthType, "WellAzimuthSourceType", defaultSourceType, "Well Azimuth" );
|
||||||
CAF_PDM_InitField( &m_wellAzimuthFixed, "WellAzimuthFixed", 0.0, "Fixed Well Azimuth" );
|
CAF_PDM_InitField( &m_wellAzimuthFixed, "WellAzimuthFixed", 0.0, "Fixed Well Azimuth" );
|
||||||
m_wellAzimuthFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
m_wellAzimuthFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_wellAzimuthAddress, "WellAzimuthAddress", QString( "" ), "Value" );
|
CAF_PDM_InitField( &m_wellAzimuthAddress, "WellAzimuthAddress", QString( "" ), "Value" );
|
||||||
m_wellAzimuthAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_wellAzimuthAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_UCSType, "UCSSourceType", defaultSourceType, "UCS [Bar]" );
|
CAF_PDM_InitField( &m_UCSType, "UCSSourceType", defaultSourceType, "UCS [Bar]" );
|
||||||
CAF_PDM_InitField( &m_UCSFixed, "UCSFixed", 100.0, "Fixed UCS [Bar]" );
|
CAF_PDM_InitField( &m_UCSFixed, "UCSFixed", 100.0, "Fixed UCS [Bar]" );
|
||||||
m_UCSFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
m_UCSFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_UCSAddress, "UCSAddress", QString( "" ), "Value" );
|
CAF_PDM_InitField( &m_UCSAddress, "UCSAddress", QString( "" ), "Value" );
|
||||||
m_UCSAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_UCSAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_poissonsRatioType, "PoissonsRatioSourceType", defaultSourceType, "Poisson's Ratio" );
|
CAF_PDM_InitField( &m_poissonsRatioType, "PoissonsRatioSourceType", defaultSourceType, "Poisson's Ratio" );
|
||||||
CAF_PDM_InitField( &m_poissonsRatioFixed, "PoissonsRatioFixed", 0.35, "Fixed Possion's Ratio" );
|
CAF_PDM_InitField( &m_poissonsRatioFixed, "PoissonsRatioFixed", 0.35, "Fixed Possion's Ratio" );
|
||||||
m_poissonsRatioFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
m_poissonsRatioFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_poissonsRatioAddress, "PoissonsRatioAddress", QString( "" ), "Value" );
|
CAF_PDM_InitField( &m_poissonsRatioAddress, "PoissonsRatioAddress", QString( "" ), "Value" );
|
||||||
m_poissonsRatioAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_poissonsRatioAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_K0_FGType, "K0_FGSourceType", defaultSourceType, "K0 FG" );
|
CAF_PDM_InitField( &m_K0_FGType, "K0_FGSourceType", defaultSourceType, "K0 FG" );
|
||||||
CAF_PDM_InitField( &m_K0_FGFixed, "K0_FGFixed", 0.75, "Fixed K0_FG" );
|
CAF_PDM_InitField( &m_K0_FGFixed, "K0_FGFixed", 0.75, "Fixed K0_FG" );
|
||||||
m_K0_FGFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
m_K0_FGFixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_K0_FGAddress, "K0_FGAddress", QString( "" ), "Value" );
|
CAF_PDM_InitField( &m_K0_FGAddress, "K0_FGAddress", QString( "" ), "Value" );
|
||||||
m_K0_FGAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_K0_FGAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
caf::AppEnum<SourceType> defaultOBG0SourceType = RimMudWeightWindowParameters::SourceType::GRID;
|
caf::AppEnum<SourceType> defaultOBG0SourceType = RimMudWeightWindowParameters::SourceType::GRID;
|
||||||
CAF_PDM_InitField( &m_obg0Type, "obg0SourceType", defaultOBG0SourceType, "Initial Overburden Gradient" );
|
CAF_PDM_InitField( &m_obg0Type, "obg0SourceType", defaultOBG0SourceType, "Initial Overburden Gradient" );
|
||||||
@ -150,7 +150,7 @@ RimMudWeightWindowParameters::RimMudWeightWindowParameters()
|
|||||||
m_obg0Fixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
m_obg0Fixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_obg0Address, "obg0Address", QString( "" ), "Value" );
|
CAF_PDM_InitField( &m_obg0Address, "obg0Address", QString( "" ), "Value" );
|
||||||
m_obg0Address.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_obg0Address.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
m_parameterFields[RimMudWeightWindowParameters::ParameterType::WELL_DEVIATION] =
|
m_parameterFields[RimMudWeightWindowParameters::ParameterType::WELL_DEVIATION] =
|
||||||
std::make_tuple( &m_wellDeviationType, &m_wellDeviationFixed, &m_wellDeviationAddress );
|
std::make_tuple( &m_wellDeviationType, &m_wellDeviationFixed, &m_wellDeviationAddress );
|
||||||
@ -190,7 +190,7 @@ RimMudWeightWindowParameters::RimMudWeightWindowParameters()
|
|||||||
"" );
|
"" );
|
||||||
CAF_PDM_InitField( &m_userDefinedPPNonReservoir, "UserPPNonReservoir", 1.0, " Multiplier of hydrostatic PP" );
|
CAF_PDM_InitField( &m_userDefinedPPNonReservoir, "UserPPNonReservoir", 1.0, " Multiplier of hydrostatic PP" );
|
||||||
CAF_PDM_InitField( &m_porePressureNonReservoirAddress, "PPNonReservoirAddress", QString( "" ), "Value" );
|
CAF_PDM_InitField( &m_porePressureNonReservoirAddress, "PPNonReservoirAddress", QString( "" ), "Value" );
|
||||||
m_porePressureNonReservoirAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_porePressureNonReservoirAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_referenceLayer, "ReferenceLayer", -1, "Reference Layer" );
|
CAF_PDM_InitField( &m_referenceLayer, "ReferenceLayer", -1, "Reference Layer" );
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,6 @@ RimMultipleEclipseResults::RimMultipleEclipseResults()
|
|||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedKeywords, "SelectedProperties", "Properties" );
|
CAF_PDM_InitFieldNoDefault( &m_selectedKeywords, "SelectedProperties", "Properties" );
|
||||||
m_selectedKeywords.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
m_selectedKeywords.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
||||||
m_selectedKeywords.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -49,9 +49,9 @@
|
|||||||
#include "RivReservoirViewPartMgr.h"
|
#include "RivReservoirViewPartMgr.h"
|
||||||
|
|
||||||
#include "cafPdmUiCheckBoxTristateEditor.h"
|
#include "cafPdmUiCheckBoxTristateEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiPushButtonEditor.h"
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|
||||||
@ -217,7 +217,7 @@ RimSimWellInViewCollection::RimSimWellInViewCollection()
|
|||||||
CAF_PDM_InitFieldNoDefault( &m_wellDiskSummaryCase, "WellDiskSummaryCase", "Summary Case" );
|
CAF_PDM_InitFieldNoDefault( &m_wellDiskSummaryCase, "WellDiskSummaryCase", "Summary Case" );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_wellDiskQuantity, "WellDiskQuantity", QString( "WOPT" ), "Disk Quantity" );
|
CAF_PDM_InitField( &m_wellDiskQuantity, "WellDiskQuantity", QString( "WOPT" ), "Disk Quantity" );
|
||||||
m_wellDiskQuantity.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_wellDiskQuantity.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
m_wellDiskQuantity.uiCapability()->setAutoAddingOptionFromValue( false );
|
m_wellDiskQuantity.uiCapability()->setAutoAddingOptionFromValue( false );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_wellDiskPropertyType, "WellDiskPropertyType", "Property Type" );
|
CAF_PDM_InitFieldNoDefault( &m_wellDiskPropertyType, "WellDiskPropertyType", "Property Type" );
|
||||||
|
@ -28,8 +28,8 @@
|
|||||||
#include "RigGeoMechCaseData.h"
|
#include "RigGeoMechCaseData.h"
|
||||||
|
|
||||||
#include "cafAppEnum.h"
|
#include "cafAppEnum.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT( RimTensorResults, "RimTensorResults" );
|
CAF_PDM_SOURCE_INIT( RimTensorResults, "RimTensorResults" );
|
||||||
|
|
||||||
@ -92,7 +92,7 @@ RimTensorResults::RimTensorResults()
|
|||||||
"Switches between automatic and user defined range",
|
"Switches between automatic and user defined range",
|
||||||
"" );
|
"" );
|
||||||
|
|
||||||
m_resultFieldNameUiField.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_resultFieldNameUiField.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
m_resultFieldNameUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
m_resultFieldNameUiField.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -354,10 +354,10 @@ void RimTensorResults::defineEditorAttribute( const caf::PdmFieldHandle* field,
|
|||||||
{
|
{
|
||||||
if ( field == &m_resultFieldNameUiField )
|
if ( field == &m_resultFieldNameUiField )
|
||||||
{
|
{
|
||||||
caf::PdmUiListEditorAttribute* listEditAttr = dynamic_cast<caf::PdmUiListEditorAttribute*>( attribute );
|
auto attr = dynamic_cast<caf::PdmUiTreeSelectionEditorAttribute*>( attribute );
|
||||||
if ( listEditAttr )
|
if ( attr )
|
||||||
{
|
{
|
||||||
listEditAttr->m_heightHint = 50;
|
attr->heightHint = 50;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,6 @@
|
|||||||
|
|
||||||
#include "cafPdmUiCheckBoxEditor.h"
|
#include "cafPdmUiCheckBoxEditor.h"
|
||||||
#include "cafPdmUiLineEditor.h"
|
#include "cafPdmUiLineEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiPushButtonEditor.h"
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
|
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
@ -83,7 +82,6 @@ RimTimeStepFilter::RimTimeStepFilter()
|
|||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_filteredTimeStepsUi, "TimeStepIndicesUi", "Select From TimeSteps" );
|
CAF_PDM_InitFieldNoDefault( &m_filteredTimeStepsUi, "TimeStepIndicesUi", "Select From TimeSteps" );
|
||||||
m_filteredTimeStepsUi.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
m_filteredTimeStepsUi.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
||||||
m_filteredTimeStepsUi.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
|
||||||
m_filteredTimeStepsUi.xmlCapability()->disableIO();
|
m_filteredTimeStepsUi.xmlCapability()->disableIO();
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_readOnlyLastFrame, "OnlyLastFrame", false, "Load Only Last Frame Of Each Time Step" );
|
CAF_PDM_InitField( &m_readOnlyLastFrame, "OnlyLastFrame", false, "Load Only Last Frame Of Each Time Step" );
|
||||||
|
@ -46,6 +46,8 @@ RimAsciiDataCurve::RimAsciiDataCurve()
|
|||||||
CAF_PDM_InitFieldNoDefault( &m_plotAxis, "PlotAxis", "Axis" );
|
CAF_PDM_InitFieldNoDefault( &m_plotAxis, "PlotAxis", "Axis" );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_timeSteps, "TimeSteps", "Time Steps" );
|
CAF_PDM_InitFieldNoDefault( &m_timeSteps, "TimeSteps", "Time Steps" );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_values, "Values", "Values" );
|
CAF_PDM_InitFieldNoDefault( &m_values, "Values", "Values" );
|
||||||
|
m_values.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_title, "Title", "Title" );
|
CAF_PDM_InitFieldNoDefault( &m_title, "Title", "Title" );
|
||||||
|
|
||||||
setSymbolSkipDistance( 10.0f );
|
setSymbolSkipDistance( 10.0f );
|
||||||
|
@ -34,8 +34,8 @@
|
|||||||
|
|
||||||
#include "cafPdmUiDoubleSliderEditor.h"
|
#include "cafPdmUiDoubleSliderEditor.h"
|
||||||
#include "cafPdmUiLineEditor.h"
|
#include "cafPdmUiLineEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiPushButtonEditor.h"
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ RimEnsembleCurveFilter::RimEnsembleCurveFilter()
|
|||||||
CAF_PDM_InitFieldNoDefault( &m_filterMode, "FilterMode", "Filter Mode" );
|
CAF_PDM_InitFieldNoDefault( &m_filterMode, "FilterMode", "Filter Mode" );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_ensembleParameterName, "EnsembleParameter", "Ensemble Parameter" );
|
CAF_PDM_InitFieldNoDefault( &m_ensembleParameterName, "EnsembleParameter", "Ensemble Parameter" );
|
||||||
m_ensembleParameterName.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_ensembleParameterName.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_objectiveValuesSummaryAddressesUiField, "SelectedObjectiveSummaryVar", "Vector" );
|
CAF_PDM_InitFieldNoDefault( &m_objectiveValuesSummaryAddressesUiField, "SelectedObjectiveSummaryVar", "Vector" );
|
||||||
m_objectiveValuesSummaryAddressesUiField.xmlCapability()->disableIO();
|
m_objectiveValuesSummaryAddressesUiField.xmlCapability()->disableIO();
|
||||||
@ -99,7 +99,7 @@ RimEnsembleCurveFilter::RimEnsembleCurveFilter()
|
|||||||
m_objectiveFunction->changed.connect( this, &RimEnsembleCurveFilter::onObjectionFunctionChanged );
|
m_objectiveFunction->changed.connect( this, &RimEnsembleCurveFilter::onObjectionFunctionChanged );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_customObjectiveFunction, "CustomObjectiveFunction", "Custom Objective Function" );
|
CAF_PDM_InitFieldNoDefault( &m_customObjectiveFunction, "CustomObjectiveFunction", "Custom Objective Function" );
|
||||||
m_customObjectiveFunction.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_customObjectiveFunction.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_minValue, "MinValue", m_lowerLimit, "Min" );
|
CAF_PDM_InitField( &m_minValue, "MinValue", m_lowerLimit, "Min" );
|
||||||
m_minValue.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
|
m_minValue.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
|
||||||
|
@ -70,7 +70,6 @@
|
|||||||
#include "cafPdmUiDoubleSliderEditor.h"
|
#include "cafPdmUiDoubleSliderEditor.h"
|
||||||
#include "cafPdmUiItem.h"
|
#include "cafPdmUiItem.h"
|
||||||
#include "cafPdmUiLineEditor.h"
|
#include "cafPdmUiLineEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiPushButtonEditor.h"
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
#include "cafPdmUiSliderEditor.h"
|
#include "cafPdmUiSliderEditor.h"
|
||||||
#include "cafPdmUiTreeAttributes.h"
|
#include "cafPdmUiTreeAttributes.h"
|
||||||
@ -166,7 +165,7 @@ RimEnsembleCurveSet::RimEnsembleCurveSet()
|
|||||||
m_objectiveValuesSelectSummaryAddressPushButton = false;
|
m_objectiveValuesSelectSummaryAddressPushButton = false;
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_customObjectiveFunction, "CustomObjectiveFunction", "Objective Function" );
|
CAF_PDM_InitFieldNoDefault( &m_customObjectiveFunction, "CustomObjectiveFunction", "Objective Function" );
|
||||||
m_customObjectiveFunction.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
m_customObjectiveFunction.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_showObjectiveFunctionFormula, "ShowObjectiveFunctionFormula", true, "Show Text Box in Plot" );
|
CAF_PDM_InitField( &m_showObjectiveFunctionFormula, "ShowObjectiveFunctionFormula", true, "Show Text Box in Plot" );
|
||||||
|
|
||||||
|
@ -54,7 +54,6 @@
|
|||||||
|
|
||||||
#include "cafPdmUiComboBoxEditor.h"
|
#include "cafPdmUiComboBoxEditor.h"
|
||||||
#include "cafPdmUiLineEditor.h"
|
#include "cafPdmUiLineEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiPushButtonEditor.h"
|
#include "cafPdmUiPushButtonEditor.h"
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
|
|
||||||
|
@ -45,7 +45,6 @@
|
|||||||
#include "cafPdmUiComboBoxEditor.h"
|
#include "cafPdmUiComboBoxEditor.h"
|
||||||
#include "cafPdmUiItem.h"
|
#include "cafPdmUiItem.h"
|
||||||
#include "cafPdmUiLabelEditor.h"
|
#include "cafPdmUiLabelEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
|
||||||
#include "cafPdmUiToolBarEditor.h"
|
#include "cafPdmUiToolBarEditor.h"
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
@ -80,7 +80,6 @@ RimWellMeasurementInView::RimWellMeasurementInView()
|
|||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_qualityFilter, "QualityFilter", "Quality Filter" );
|
CAF_PDM_InitFieldNoDefault( &m_qualityFilter, "QualityFilter", "Quality Filter" );
|
||||||
m_qualityFilter.uiCapability()->setAutoAddingOptionFromValue( false );
|
m_qualityFilter.uiCapability()->setAutoAddingOptionFromValue( false );
|
||||||
m_qualityFilter.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
|
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_radiusScaleFactor, "RadiusScaleFactor", 2.5, "Radius Scale" );
|
CAF_PDM_InitField( &m_radiusScaleFactor, "RadiusScaleFactor", 2.5, "Radius Scale" );
|
||||||
m_radiusScaleFactor.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
m_radiusScaleFactor.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
|
||||||
|
@ -32,6 +32,7 @@ LineEditAndPushButtons::LineEditAndPushButtons()
|
|||||||
m_labelLongTextField.uiCapability()->setUiEditorTypeName( caf::PdmUiLabelEditor::uiEditorTypeName() );
|
m_labelLongTextField.uiCapability()->setUiEditorTypeName( caf::PdmUiLabelEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_textListField, "TextListField", "Text List Field", "", "", "" );
|
CAF_PDM_InitFieldNoDefault( &m_textListField, "TextListField", "Text List Field", "", "", "" );
|
||||||
|
m_textListField.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_pushButton_a, "PushButtonA", "Rotate", "", "", "" );
|
CAF_PDM_InitFieldNoDefault( &m_pushButton_a, "PushButtonA", "Rotate", "", "", "" );
|
||||||
m_pushButton_a.uiCapability()->setUiEditorTypeName( caf::PdmUiPushButtonEditor::uiEditorTypeName() );
|
m_pushButton_a.uiCapability()->setUiEditorTypeName( caf::PdmUiPushButtonEditor::uiEditorTypeName() );
|
||||||
@ -139,6 +140,14 @@ void LineEditAndPushButtons::defineEditorAttribute( const caf::PdmFieldHandle* f
|
|||||||
myAttr->m_useSingleWidgetInsteadOfLabelAndEditorWidget = true;
|
myAttr->m_useSingleWidgetInsteadOfLabelAndEditorWidget = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ( field == &m_textListField )
|
||||||
|
{
|
||||||
|
auto myAttr = dynamic_cast<caf::PdmUiListEditorAttribute*>( attribute );
|
||||||
|
if ( myAttr )
|
||||||
|
{
|
||||||
|
myAttr->heightHint = 150;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto myAttr = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute );
|
auto myAttr = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute );
|
||||||
@ -172,7 +181,15 @@ void LineEditAndPushButtons::rotateContent()
|
|||||||
auto original = m_textListField.value();
|
auto original = m_textListField.value();
|
||||||
|
|
||||||
std::list<QString> newContent;
|
std::list<QString> newContent;
|
||||||
newContent.insert( newContent.begin(), original.begin(), original.end() );
|
if ( original.empty() )
|
||||||
|
{
|
||||||
|
newContent.push_back( "Item A" );
|
||||||
|
newContent.push_back( "Item B" );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
newContent.insert( newContent.begin(), original.begin(), original.end() );
|
||||||
|
}
|
||||||
|
|
||||||
auto firstItem = newContent.front();
|
auto firstItem = newContent.front();
|
||||||
newContent.pop_front();
|
newContent.pop_front();
|
||||||
|
@ -45,7 +45,7 @@ void TapCvfSpecialization::defineEditorAttribute( const caf::PdmFieldHandle* fie
|
|||||||
caf::PdmUiListEditorAttribute* myAttr = dynamic_cast<caf::PdmUiListEditorAttribute*>( attribute );
|
caf::PdmUiListEditorAttribute* myAttr = dynamic_cast<caf::PdmUiListEditorAttribute*>( attribute );
|
||||||
if ( myAttr )
|
if ( myAttr )
|
||||||
{
|
{
|
||||||
myAttr->m_baseColor.setRgbF( m_colorField().r(), m_colorField().g(), m_colorField().b() );
|
myAttr->baseColor.setRgbF( m_colorField().r(), m_colorField().g(), m_colorField().b() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
#include "cafPdmUiLineEditor.h"
|
#include "cafPdmUiLineEditor.h"
|
||||||
#include "cafPdmUiListEditor.h"
|
#include "cafPdmUiListEditor.h"
|
||||||
#include "cafPdmUiTimeEditor.h"
|
#include "cafPdmUiTimeEditor.h"
|
||||||
|
#include "cafPdmUiTreeSelectionEditor.h"
|
||||||
|
|
||||||
#include <QGridLayout>
|
#include <QGridLayout>
|
||||||
|
|
||||||
@ -58,17 +59,19 @@ namespace caf
|
|||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiCheckBoxEditor, bool );
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiCheckBoxEditor, bool );
|
||||||
|
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiLineEditor, QString );
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiLineEditor, QString );
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiDateEditor, QDate );
|
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiDateEditor, QDateTime );
|
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiTimeEditor, QTime );
|
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiLineEditor, int );
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiLineEditor, int );
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiLineEditor, double );
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiLineEditor, double );
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiLineEditor, float );
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiLineEditor, float );
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiLineEditor, quint64 );
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiLineEditor, quint64 );
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiListEditor, std::vector<QString> );
|
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiListEditor, std::vector<int> );
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiDateEditor, QDate );
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiListEditor, std::vector<unsigned int> );
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiDateEditor, QDateTime );
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiListEditor, std::vector<float> );
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiTimeEditor, QTime );
|
||||||
|
|
||||||
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiTreeSelectionEditor, std::vector<QString> );
|
||||||
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiTreeSelectionEditor, std::vector<int> );
|
||||||
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiTreeSelectionEditor, std::vector<unsigned int> );
|
||||||
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiTreeSelectionEditor, std::vector<float> );
|
||||||
|
|
||||||
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiFilePathEditor, FilePath );
|
CAF_PDM_UI_REGISTER_DEFAULT_FIELD_EDITOR( PdmUiFilePathEditor, FilePath );
|
||||||
|
|
||||||
|
@ -176,13 +176,13 @@ void PdmUiListEditor::configureAndUpdateUi( const QString& uiConfigName )
|
|||||||
{
|
{
|
||||||
uiObject->editorAttribute( uiField()->fieldHandle(), uiConfigName, &attributes );
|
uiObject->editorAttribute( uiField()->fieldHandle(), uiConfigName, &attributes );
|
||||||
|
|
||||||
m_listView->setHeightHint( attributes.m_heightHint );
|
m_listView->setHeightHint( attributes.heightHint );
|
||||||
if ( !attributes.m_allowHorizontalScrollBar )
|
if ( !attributes.allowHorizontalScrollBar )
|
||||||
{
|
{
|
||||||
m_listView->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
|
m_listView->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
|
||||||
}
|
}
|
||||||
|
|
||||||
m_listView->setProperty( "state", attributes.m_qssState );
|
m_listView->setProperty( "state", attributes.qssState );
|
||||||
m_listView->style()->unpolish( m_listView );
|
m_listView->style()->unpolish( m_listView );
|
||||||
m_listView->style()->polish( m_listView );
|
m_listView->style()->polish( m_listView );
|
||||||
}
|
}
|
||||||
|
@ -54,19 +54,19 @@ class PdmUiListEditorAttribute : public PdmUiEditorAttribute
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PdmUiListEditorAttribute()
|
PdmUiListEditorAttribute()
|
||||||
: m_heightHint( 2000 )
|
: heightHint( 2000 )
|
||||||
, m_allowHorizontalScrollBar( true )
|
, allowHorizontalScrollBar( true )
|
||||||
{
|
{
|
||||||
QPalette myPalette;
|
QPalette myPalette;
|
||||||
|
|
||||||
m_baseColor = myPalette.color( QPalette::Active, QPalette::Base );
|
baseColor = myPalette.color( QPalette::Active, QPalette::Base );
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QColor m_baseColor;
|
QColor baseColor;
|
||||||
QString m_qssState;
|
QString qssState;
|
||||||
int m_heightHint;
|
int heightHint;
|
||||||
bool m_allowHorizontalScrollBar;
|
bool allowHorizontalScrollBar;
|
||||||
};
|
};
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
|
@ -56,6 +56,9 @@
|
|||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
namespace caf
|
||||||
|
{
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
/// Helper class used to control height of size hint
|
/// Helper class used to control height of size hint
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
@ -134,8 +137,6 @@ protected:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace caf
|
|
||||||
{
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -147,6 +148,7 @@ CAF_PDM_UI_FIELD_EDITOR_SOURCE_INIT( PdmUiTreeSelectionEditor );
|
|||||||
PdmUiTreeSelectionEditor::PdmUiTreeSelectionEditor()
|
PdmUiTreeSelectionEditor::PdmUiTreeSelectionEditor()
|
||||||
: m_model( nullptr )
|
: m_model( nullptr )
|
||||||
, m_proxyModel( nullptr )
|
, m_proxyModel( nullptr )
|
||||||
|
, m_useSingleSelectionMode( false )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -195,31 +197,17 @@ void PdmUiTreeSelectionEditor::configureAndUpdateUi( const QString& uiConfigName
|
|||||||
m_treeView->expandAll();
|
m_treeView->expandAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( PdmUiTreeSelectionQModel::isSingleValueField( fieldValue ) )
|
m_useSingleSelectionMode = PdmUiTreeSelectionQModel::isSingleValueField( fieldValue );
|
||||||
|
|
||||||
|
caf::PdmUiObjectHandle* uiObject = uiObj( uiField()->fieldHandle()->ownerObject() );
|
||||||
|
if ( uiObject )
|
||||||
{
|
{
|
||||||
m_toggleAllCheckBox->hide();
|
uiObject->editorAttribute( uiField()->fieldHandle(), uiConfigName, &m_attributes );
|
||||||
}
|
}
|
||||||
else if ( PdmUiTreeSelectionQModel::isMultipleValueField( fieldValue ) )
|
|
||||||
|
if ( PdmUiTreeSelectionQModel::isMultipleValueField( fieldValue ) )
|
||||||
{
|
{
|
||||||
caf::PdmUiObjectHandle* uiObject = uiObj( uiField()->fieldHandle()->ownerObject() );
|
m_useSingleSelectionMode = m_attributes.singleSelectionMode;
|
||||||
if ( uiObject )
|
|
||||||
{
|
|
||||||
uiObject->editorAttribute( uiField()->fieldHandle(), uiConfigName, &m_attributes );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( m_attributes.singleSelectionMode )
|
|
||||||
{
|
|
||||||
m_treeView->setSelectionMode( QAbstractItemView::SingleSelection );
|
|
||||||
m_treeView->setContextMenuPolicy( Qt::NoContextMenu );
|
|
||||||
|
|
||||||
m_model->enableSingleSelectionMode( m_attributes.singleSelectionMode );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_treeView->setSelectionMode( QAbstractItemView::ExtendedSelection );
|
|
||||||
}
|
|
||||||
|
|
||||||
connect( m_treeView, SIGNAL( clicked( QModelIndex ) ), this, SLOT( slotClicked( QModelIndex ) ), Qt::UniqueConnection );
|
|
||||||
|
|
||||||
if ( !m_attributes.showTextFilter )
|
if ( !m_attributes.showTextFilter )
|
||||||
{
|
{
|
||||||
@ -232,7 +220,7 @@ void PdmUiTreeSelectionEditor::configureAndUpdateUi( const QString& uiConfigName
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ( options.empty() == 0 )
|
if ( options.empty() )
|
||||||
{
|
{
|
||||||
m_toggleAllCheckBox->setChecked( false );
|
m_toggleAllCheckBox->setChecked( false );
|
||||||
}
|
}
|
||||||
@ -261,6 +249,25 @@ void PdmUiTreeSelectionEditor::configureAndUpdateUi( const QString& uiConfigName
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( m_useSingleSelectionMode )
|
||||||
|
{
|
||||||
|
m_treeView->setSelectionMode( QAbstractItemView::SingleSelection );
|
||||||
|
m_treeView->setContextMenuPolicy( Qt::NoContextMenu );
|
||||||
|
|
||||||
|
m_model->enableSingleSelectionMode( m_attributes.singleSelectionMode );
|
||||||
|
|
||||||
|
m_toggleAllCheckBox->hide();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_treeView->setSelectionMode( QAbstractItemView::ExtendedSelection );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( m_attributes.heightHint > 0 )
|
||||||
|
{
|
||||||
|
m_treeView->setHeightHint( m_attributes.heightHint );
|
||||||
|
}
|
||||||
|
|
||||||
// If the tree doesn't have grand children we treat this as a straight list
|
// If the tree doesn't have grand children we treat this as a straight list
|
||||||
m_treeView->setRootIsDecorated( m_model->hasGrandChildren() );
|
m_treeView->setRootIsDecorated( m_model->hasGrandChildren() );
|
||||||
|
|
||||||
@ -286,6 +293,16 @@ void PdmUiTreeSelectionEditor::configureAndUpdateUi( const QString& uiConfigName
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set placeholder text based on content
|
||||||
|
if ( hasOnlyIntegers( m_model ) )
|
||||||
|
{
|
||||||
|
m_textFilterLineEdit->setPlaceholderText( "Integer filter e.g. 1, 5-10" );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_textFilterLineEdit->setPlaceholderText( "Type to filter items" );
|
||||||
|
}
|
||||||
|
|
||||||
// It is required to use a timer here, as the layout of the widgets are handled by events
|
// It is required to use a timer here, as the layout of the widgets are handled by events
|
||||||
// Calling scrollTo() here has no effect, or scrolls to wrong location
|
// Calling scrollTo() here has no effect, or scrolls to wrong location
|
||||||
QTimer::singleShot( 150, this, SLOT( slotScrollToFirstCheckedItem() ) );
|
QTimer::singleShot( 150, this, SLOT( slotScrollToFirstCheckedItem() ) );
|
||||||
@ -314,8 +331,6 @@ QWidget* PdmUiTreeSelectionEditor::createEditorWidget( QWidget* parent )
|
|||||||
connect( m_toggleAllCheckBox, SIGNAL( clicked( bool ) ), this, SLOT( slotToggleAll() ) );
|
connect( m_toggleAllCheckBox, SIGNAL( clicked( bool ) ), this, SLOT( slotToggleAll() ) );
|
||||||
|
|
||||||
m_textFilterLineEdit = new QLineEdit();
|
m_textFilterLineEdit = new QLineEdit();
|
||||||
m_textFilterLineEdit->setPlaceholderText( "Click to add filter" );
|
|
||||||
|
|
||||||
headerLayout->addWidget( m_textFilterLineEdit );
|
headerLayout->addWidget( m_textFilterLineEdit );
|
||||||
|
|
||||||
connect( m_textFilterLineEdit, SIGNAL( textChanged( QString ) ), this, SLOT( slotTextFilterChanged() ) );
|
connect( m_textFilterLineEdit, SIGNAL( textChanged( QString ) ), this, SLOT( slotTextFilterChanged() ) );
|
||||||
@ -329,6 +344,7 @@ QWidget* PdmUiTreeSelectionEditor::createEditorWidget( QWidget* parent )
|
|||||||
|
|
||||||
m_treeView->setContextMenuPolicy( Qt::CustomContextMenu );
|
m_treeView->setContextMenuPolicy( Qt::CustomContextMenu );
|
||||||
connect( m_treeView, SIGNAL( customContextMenuRequested( QPoint ) ), SLOT( customMenuRequested( QPoint ) ) );
|
connect( m_treeView, SIGNAL( customContextMenuRequested( QPoint ) ), SLOT( customMenuRequested( QPoint ) ) );
|
||||||
|
connect( m_treeView, SIGNAL( clicked( QModelIndex ) ), this, SLOT( slotClicked( QModelIndex ) ), Qt::UniqueConnection );
|
||||||
|
|
||||||
layout->addWidget( treeViewHeightHint );
|
layout->addWidget( treeViewHeightHint );
|
||||||
|
|
||||||
@ -519,10 +535,15 @@ void PdmUiTreeSelectionEditor::slotToggleAll()
|
|||||||
if ( m_toggleAllCheckBox->isChecked() )
|
if ( m_toggleAllCheckBox->isChecked() )
|
||||||
{
|
{
|
||||||
checkAllItems();
|
checkAllItems();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
unCheckAllItems();
|
||||||
|
|
||||||
|
// Apply integer filtering if the model contains only integers
|
||||||
|
if ( hasOnlyIntegers( m_model ) )
|
||||||
{
|
{
|
||||||
unCheckAllItems();
|
setCheckedStateForIntegerItemsMatchingFilter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -547,11 +568,94 @@ void PdmUiTreeSelectionEditor::slotInvertCheckedStateOfAll()
|
|||||||
m_model->invertCheckedStateForItems( indices );
|
m_model->invertCheckedStateForItems( indices );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
/// Parse the filter text based on the following rules:
|
||||||
|
/// 1. A comma separated list of integers
|
||||||
|
/// 2. A range of integers separated by a dash
|
||||||
|
///
|
||||||
|
/// Example: 1, 3, 5-10
|
||||||
|
///
|
||||||
|
/// Mark matching items as checked
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void PdmUiTreeSelectionEditor::setCheckedStateForIntegerItemsMatchingFilter()
|
||||||
|
{
|
||||||
|
#if ( QT_VERSION < QT_VERSION_CHECK( 5, 14, 0 ) )
|
||||||
|
auto SkipEmptyParts = QString::SkipEmptyParts;
|
||||||
|
#else
|
||||||
|
auto SkipEmptyParts = Qt::SkipEmptyParts;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
std::set<int> filterValues;
|
||||||
|
|
||||||
|
QString searchString = m_textFilterLineEdit->text();
|
||||||
|
QStringList parts = searchString.split( ",", SkipEmptyParts );
|
||||||
|
for ( auto& part : parts )
|
||||||
|
{
|
||||||
|
QStringList minmax = part.split( "-", SkipEmptyParts );
|
||||||
|
|
||||||
|
switch ( minmax.size() )
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
auto firstValueText = minmax.front();
|
||||||
|
filterValues.insert( firstValueText.toInt() );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
auto firstValue = minmax.front().toInt();
|
||||||
|
auto secondValue = minmax.back().toInt();
|
||||||
|
|
||||||
|
for ( int val = firstValue; val <= secondValue; val++ )
|
||||||
|
{
|
||||||
|
filterValues.insert( val );
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QModelIndexList indices = allVisibleSourceModelIndices();
|
||||||
|
|
||||||
|
QModelIndexList indicesToSetChecked;
|
||||||
|
QModelIndexList indicesToSetUnChecked;
|
||||||
|
|
||||||
|
for ( const auto& mi : indices )
|
||||||
|
{
|
||||||
|
auto data = mi.data();
|
||||||
|
if ( data.canConvert<int>() )
|
||||||
|
{
|
||||||
|
auto value = data.toInt();
|
||||||
|
if ( filterValues.find( value ) != filterValues.end() )
|
||||||
|
{
|
||||||
|
indicesToSetChecked.push_back( mi );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
indicesToSetUnChecked.push_back( mi );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_model->setCheckedStateForItems( indicesToSetChecked, true );
|
||||||
|
m_model->setCheckedStateForItems( indicesToSetUnChecked, false );
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void PdmUiTreeSelectionEditor::slotTextFilterChanged()
|
void PdmUiTreeSelectionEditor::slotTextFilterChanged()
|
||||||
{
|
{
|
||||||
|
if ( hasOnlyIntegers( m_model ) )
|
||||||
|
{
|
||||||
|
setCheckedStateForIntegerItemsMatchingFilter();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
QString searchString = m_textFilterLineEdit->text();
|
QString searchString = m_textFilterLineEdit->text();
|
||||||
searchString += "*";
|
searchString += "*";
|
||||||
|
|
||||||
@ -645,7 +749,7 @@ void PdmUiTreeSelectionEditor::slotScrollToFirstCheckedItem()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void PdmUiTreeSelectionEditor::currentChanged( const QModelIndex& current )
|
void PdmUiTreeSelectionEditor::currentChanged( const QModelIndex& current )
|
||||||
{
|
{
|
||||||
if ( m_attributes.singleSelectionMode )
|
if ( m_useSingleSelectionMode )
|
||||||
{
|
{
|
||||||
m_proxyModel->setData( current, true, Qt::CheckStateRole );
|
m_proxyModel->setData( current, true, Qt::CheckStateRole );
|
||||||
}
|
}
|
||||||
@ -716,4 +820,37 @@ void PdmUiTreeSelectionEditor::recursiveAppendVisibleSourceModelIndices( const Q
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
bool PdmUiTreeSelectionEditor::hasOnlyIntegers( const QAbstractItemModel* model )
|
||||||
|
{
|
||||||
|
if ( !model ) return false;
|
||||||
|
|
||||||
|
// Lambda function to check if a string is an integer
|
||||||
|
auto isInteger = []( const QString& s ) -> bool
|
||||||
|
{
|
||||||
|
bool ok;
|
||||||
|
s.toInt( &ok );
|
||||||
|
return ok;
|
||||||
|
};
|
||||||
|
|
||||||
|
for ( int row = 0; row < model->rowCount(); ++row )
|
||||||
|
{
|
||||||
|
for ( int column = 0; column < model->columnCount(); ++column )
|
||||||
|
{
|
||||||
|
const QModelIndex index = model->index( row, column );
|
||||||
|
if ( index.isValid() )
|
||||||
|
{
|
||||||
|
QVariant data = index.data();
|
||||||
|
if ( !data.canConvert<QString>() || !isInteger( data.toString() ) )
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
} // end namespace caf
|
} // end namespace caf
|
||||||
|
@ -51,6 +51,8 @@ class QItemSelection;
|
|||||||
namespace caf
|
namespace caf
|
||||||
{
|
{
|
||||||
class PdmUiTreeSelectionQModel;
|
class PdmUiTreeSelectionQModel;
|
||||||
|
class FilterLeafNodesOnlyProxyModel;
|
||||||
|
class QTreeViewHeightHint;
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
///
|
///
|
||||||
@ -62,6 +64,7 @@ public:
|
|||||||
bool showToggleAllCheckbox;
|
bool showToggleAllCheckbox;
|
||||||
bool singleSelectionMode;
|
bool singleSelectionMode;
|
||||||
bool setCurrentIndexWhenItemIsChecked;
|
bool setCurrentIndexWhenItemIsChecked;
|
||||||
|
int heightHint;
|
||||||
|
|
||||||
/// currentIndexFieldHandle is used to communicate the value of current item in the tree view
|
/// currentIndexFieldHandle is used to communicate the value of current item in the tree view
|
||||||
/// This is useful when displaying a list of appEnums, and a dependent view is displaying content based on
|
/// This is useful when displaying a list of appEnums, and a dependent view is displaying content based on
|
||||||
@ -76,6 +79,7 @@ public:
|
|||||||
showToggleAllCheckbox = true;
|
showToggleAllCheckbox = true;
|
||||||
singleSelectionMode = false;
|
singleSelectionMode = false;
|
||||||
setCurrentIndexWhenItemIsChecked = false;
|
setCurrentIndexWhenItemIsChecked = false;
|
||||||
|
heightHint = -1;
|
||||||
|
|
||||||
currentIndexFieldHandle = nullptr;
|
currentIndexFieldHandle = nullptr;
|
||||||
}
|
}
|
||||||
@ -125,20 +129,25 @@ private:
|
|||||||
void setCheckedStateForSubItemsOfSelected( bool checked );
|
void setCheckedStateForSubItemsOfSelected( bool checked );
|
||||||
void checkAllItems();
|
void checkAllItems();
|
||||||
void unCheckAllItems();
|
void unCheckAllItems();
|
||||||
|
void setCheckedStateForIntegerItemsMatchingFilter();
|
||||||
|
|
||||||
QModelIndexList allVisibleSourceModelIndices() const;
|
QModelIndexList allVisibleSourceModelIndices() const;
|
||||||
void recursiveAppendVisibleSourceModelIndices( const QModelIndex& parent, QModelIndexList* sourceModelIndices ) const;
|
void recursiveAppendVisibleSourceModelIndices( const QModelIndex& parent, QModelIndexList* sourceModelIndices ) const;
|
||||||
|
|
||||||
|
static bool hasOnlyIntegers( const QAbstractItemModel* model );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPointer<QTreeView> m_treeView;
|
QPointer<QTreeViewHeightHint> m_treeView;
|
||||||
QPointer<QShortenedLabel> m_label;
|
QPointer<QShortenedLabel> m_label;
|
||||||
QPointer<QCheckBox> m_toggleAllCheckBox;
|
QPointer<QCheckBox> m_toggleAllCheckBox;
|
||||||
QPointer<QLineEdit> m_textFilterLineEdit;
|
QPointer<QLineEdit> m_textFilterLineEdit;
|
||||||
|
|
||||||
PdmUiTreeSelectionQModel* m_model;
|
PdmUiTreeSelectionQModel* m_model;
|
||||||
QSortFilterProxyModel* m_proxyModel;
|
QSortFilterProxyModel* m_proxyModel;
|
||||||
|
|
||||||
PdmUiTreeSelectionEditorAttribute m_attributes;
|
PdmUiTreeSelectionEditorAttribute m_attributes;
|
||||||
|
|
||||||
|
bool m_useSingleSelectionMode;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // end namespace caf
|
} // end namespace caf
|
||||||
|
@ -99,7 +99,7 @@ void caf::PdmUiTreeSelectionQModel::setCheckedStateForItems( const QModelIndexLi
|
|||||||
QVariant fieldValue = m_uiFieldHandle->uiField()->uiValue();
|
QVariant fieldValue = m_uiFieldHandle->uiField()->uiValue();
|
||||||
QList<QVariant> fieldValueSelection = fieldValue.toList();
|
QList<QVariant> fieldValueSelection = fieldValue.toList();
|
||||||
|
|
||||||
for ( auto v : fieldValueSelection )
|
for ( const auto& v : fieldValueSelection )
|
||||||
{
|
{
|
||||||
selectedIndices.insert( v.toUInt() );
|
selectedIndices.insert( v.toUInt() );
|
||||||
}
|
}
|
||||||
@ -107,7 +107,7 @@ void caf::PdmUiTreeSelectionQModel::setCheckedStateForItems( const QModelIndexLi
|
|||||||
|
|
||||||
if ( checked )
|
if ( checked )
|
||||||
{
|
{
|
||||||
for ( auto mi : sourceModelIndices )
|
for ( const auto& mi : sourceModelIndices )
|
||||||
{
|
{
|
||||||
const caf::PdmOptionItemInfo* optionItemInfo = optionItem( mi );
|
const caf::PdmOptionItemInfo* optionItemInfo = optionItem( mi );
|
||||||
if ( !optionItemInfo->isReadOnly() )
|
if ( !optionItemInfo->isReadOnly() )
|
||||||
@ -118,7 +118,7 @@ void caf::PdmUiTreeSelectionQModel::setCheckedStateForItems( const QModelIndexLi
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for ( auto mi : sourceModelIndices )
|
for ( const auto& mi : sourceModelIndices )
|
||||||
{
|
{
|
||||||
const caf::PdmOptionItemInfo* optionItemInfo = optionItem( mi );
|
const caf::PdmOptionItemInfo* optionItemInfo = optionItem( mi );
|
||||||
if ( !optionItemInfo->isReadOnly() )
|
if ( !optionItemInfo->isReadOnly() )
|
||||||
@ -479,7 +479,7 @@ bool caf::PdmUiTreeSelectionQModel::setData( const QModelIndex& index, const QVa
|
|||||||
{
|
{
|
||||||
QList<QVariant> fieldValueSelection = fieldValue.toList();
|
QList<QVariant> fieldValueSelection = fieldValue.toList();
|
||||||
|
|
||||||
for ( auto v : fieldValueSelection )
|
for ( const auto& v : fieldValueSelection )
|
||||||
{
|
{
|
||||||
selectedIndices.push_back( v.toUInt() );
|
selectedIndices.push_back( v.toUInt() );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user