Inherits from OptionControl
, ParentControl
There are no CheckBox
specific properties. All behavior
can be achieved using the inherited properties of
OptionControl
and ParentControl
.
Bool
NMXList
Bool
When CheckBox
is bound to a Bool
option
type the behavior is very simple. When the option is TRUE
,
the CheckBox
is checked.
Below is an example of a simple Bool
option and a
CheckBox
that has been associated with it.
Option Definition
- name: descStats
title: Descriptive statistics
type: Bool
default: false
description:
R: >
`TRUE` or `FALSE` (default), provide descriptive statistics
UI Control Definition
Note that the optionName
property of the
CheckBox
is not specified and therefore the option
binding will use the name
property of the control for
the binding process instead (see OptionControl for more details).
There is also no need to specify the label
property of
this OptionControl
as the title
property of
the option is adequate and will be automatically used by the
CheckBox
. This means that a CheckBox
can be
defined in two lines! If the title
property of the option
is not appropriate for the control then a label
property
can be added to the CheckBox
to override it.
NMXList
When CheckBox
is bound to an NMXList
a few
more properties are needed for it to work.
The below example shows an option with the name
effectSize
. This option has a property called
options
which describes three non-mutually exclusive
sub-options that are possible within the options output. An
NMXList
returns an array of one or all of these
sub-options.
Now a CheckBox
can be used to manipulate an ‘NMXList’
option by adding or removing a specified sub-option from the underlying
array.
Option Definition
- name: effectSize
type: NMXList
title: Effect Size
options:
- name: eta
title: η²
- name: partEta
title: partial η²
- name: omega
title: ω²
To achieve this two properties will need to be added to the
CheckBox
definition: optionName
and
optionPart
. Both these properties are inherited from OptionControl
. As has been
described in OptionControl
documentation,
optionName
is used to determine what option the
CheckBox
should bind to. Under normal circumstances, it is
not necessary to use optionName
as the property
name
can be used for the same effect. This however, becomes
a problem for defining a CheckBox
that is linked to an
NMXList
as the name
property also has a
requirement to be unique across all controls. It is not allowed to have
two checkboxes (or any other control for that matter) with the same
name. Because of this, when binding to an MNXList
we are
required to give the CheckBox
a unique name and use the
optionName
to bind to the desired NMXList
.
Now binding solely to an NMXList
is not a valid
configuration for a CheckBox
as it requires a boolean data
type to operate correctly. To overcome this, the CheckBox
definition will need to not just bind to the
NMXList
but also to one of the sub-options. This is
achieved using the optionPart
property. By assigning the
name of the desired sub-option to this property, the
CheckBox
will operate base on that sub-options existence in
the underlying array.
UI Control Definition
- type: CheckBox
name: effectSize_eta
optionName: effectSize
optionPart: eta
- type: CheckBox
name: effectSize_partEta
optionName: effectSize
optionPart: partEta
- type: CheckBox
name: effectSize_omega
optionName: effectSize
optionPart: omega
Three CheckBox
’s for the three sub-options of the option
NMXList
.