Section author: Jonathon Love
2. Advanced UI Design
2.1. Controls
There are three different categories of controls:
Layout controls are used to control the layout child controls in the UI. Option controls allow the user to change the values of options for analyses. We’ve already seen some of these; the
CheckBox, theComboBox, etc. Display controls are for presenting static information such as labels.
2.1.1. Option Controls
As already seen earlier in this tutorial series, different option controls are ‘bound’ to different analysis options. The name of the option control typically needs to match the name of the option it is bound to. Changing the option control leads to changes to the underlying option, resulting in changes to the analysis.
Not all controls can be bound to any option. It wouldn’t be meaningful to bind a checkbox to a
Listoption for example. The following lists the different option types, and the control types that can be bound to each:
2.1.2. Bool
2.1.3. Integer
2.1.4. Number
2.1.5. String
2.1.6. List
You can use :
ComboBox- type: ComboBox name: #optionNameor you can use :
RadioButtonUse multiple
RadioButton’s linked to the different sub-options.- type: RadioButton name: #uniqueName_1 optionName: #optionName optionPart: #optionPartName_1 - type: RadioButton name: #uniqueName_2 optionName: #optionName optionPart: #optionPartName_2 - type: RadioButton name: #uniqueName_N optionName: #optionName optionPart: #optionPartName_N
2.1.7. NMXList
You can use :
CheckBoxUse multiple CheckBox’s linked to the different sub-options.
- type: CheckBox name: #uniqueName_1 optionName: #optionName optionPart: #optionPartName_1 - type: CheckBox name: #uniqueName_2 optionName: #optionName optionPart: #optionPartName_2 - type: CheckBox name: #uniqueName_N optionName: #optionName optionPart: #optionPartName_N
2.1.8. Variable
You can use :
VariablesListBox- type: VariableListBox name: #optionName isTarget: true maxItemCount: 1or you can use :
ListBox- type: ListBox name: #optionName isTarget: true maxItemCount: 1 template: - type: VariableLabel
2.1.9. Variables
You can use :
VariablesListBox- type: VariableListBox isTarget: true name: #optionNameor you can use :
ListBox- type: ListBox name: #optionName isTarget: true template: - type: VariableLabel
2.1.10. Terms
You can use :
ListBox- type: ListBox name: #optionName isTarget: true template: - type: TermLabel
2.1.11. Pairs
You can use :
VariablesListBox- type: VariablesListBox name: #optionName isTarget: true columns: - name: i1 template: - type: VariableLabel - name: i2 template: - type: VariableLabelor you can use :
ListBox- type: ListBox name: #optionName isTarget: true columns: - name: i1 template: - type: VariableLabel - name: i2 template: - type: VariableLabel