40 Ui::CSelectionParamGuiComp, iprm::ISelectionParam>,
94 I_ASSIGN(m_optionsLabelAttrPtr,
"OptionsLabel",
"Command label for the options selector",
false,
"Select");
95 I_ASSIGN(m_infoLabelAttrPtr,
"InfoLabel",
"Information label for the options selector",
false,
"Info");
96 I_ASSIGN(m_infoIconProviderCompPtr,
"InfoIconProvider",
"Provider of the info icon",
false,
"InfoIconProvider");
97 I_ASSIGN(m_iconSizeAttrPtr,
"IconSize",
"Size of the used icons",
false, 32);
98 I_ASSIGN(m_uiModeAttrPtr,
"UiMode",
"Selection representation mode.\n0 - Combo box\n1 - Horizontally layouted radio button group\n2 - Vertically layouted radio button group",
true,
UM_COMBOBOX);
99 I_ASSIGN(m_labelPositionAttrPtr,
"LabelPosition",
"Selection label position.\n0 - Left from the selector,\n1 - On top of the selector",
false,
LP_LEFT);
100 I_ASSIGN(m_labelAlignAttrPtr,
"LabelAlignment",
"Selection label alignment.\n0 - Left-Top,\n1 - Center-Top,\n2 - Right-Top,\n3 - Left-Center,\n4 - Center,\n5 - Right-Center,\n6 - Left-Bottom,\n7 - Center-Bottom,\n8 - Right-Bottom",
false,
LA_LEFT_CENTER);
101 I_ASSIGN(m_labelWidthAttrPtr,
"LabelWidth",
"Fixed label width (in pixels)",
false, 100);
102 I_ASSIGN(m_disableWhenEmptyAttrPtr,
"DisableWhenEmpty",
"Disable the control when no Option is available",
true,
false);
103 I_ASSIGN(m_noSelectionAllowedAttrPtr,
"NoSelectionAllowed",
"Allow the control to reset current index (i.e. set to -1)",
true,
false);
104 I_ASSIGN(m_fillWithDisabledOptionsEnabledAttrPtr,
"FillWithDisabledOptionsEnabled",
"Fill combo box also with disabled options, if enabled",
true,
false);
105 I_ASSIGN(m_useCompleterAttrPtr,
"UseCompleter",
"Enable completer for combo box",
true,
false);
132 void UpdateComboBoxesView();
133 void UpdateRadioButtonView();
134 void UpdateDescriptionFrame();
135 void UpdateSelectorLabel();
138 void SetupInfoLabelIcon(QLabel& label);
139 QPixmap GetInfoIcon()
const;
140 void UpdateCompletionModel();
146 I_ATTR(
int, m_uiModeAttrPtr);
147 I_ATTR(
int, m_labelPositionAttrPtr);
148 I_ATTR(
int, m_labelAlignAttrPtr);
149 I_ATTR(
int, m_labelWidthAttrPtr);
151 I_ATTR(
int, m_iconSizeAttrPtr);
152 I_ATTR(
bool, m_disableWhenEmptyAttrPtr);
153 I_ATTR(
bool, m_noSelectionAllowedAttrPtr);
154 I_ATTR(
bool, m_fillWithDisabledOptionsEnabledAttrPtr);
155 I_ATTR(
bool, m_useCompleterAttrPtr);
157 class RadioButtonWidget:
public QFrame
163 const QPixmap& infoIcon,
164 const QString& optionName,
165 const QString& optionDescription,
166 QButtonGroup* buttonGroupPtr,
167 QWidget& parentFrame);
169 QRadioButton* GetRadioButton()
const;
172 QRadioButton* m_radioButtonPtr;
173 QButtonGroup* m_buttonGroupPtr;
176 std::unique_ptr<QLabel> m_selectorLabelPtr;
180 std::unique_ptr<QFrame> m_radioButtonFramePtr;
181 QPushButton* m_resetButtonWidgetPtr;
183 QStandardItemModel m_completionModel;