CChoice and CList are subclasses of awt.Choice and awt.List.
They are used to control a device/property value of enumerated type (Fig.1).
If the connected device/property is not an Enum data type, three
items "Invalid", deviceName and propertyName will be shown
in the choice/list (Fig.2). The selection is fixed on the first item
(Invalid) for CChoice.
For CList, multiple selection is turn off. There is
only one item can be selected for these two widgets.
The state change event action is built into these two widgets.
When the item state is changed, the cursor will change to the waiting
cursor and a set action will be sent to the control system.
If the set fails, the selected item (display) will revert to the old
one and an error message will be
printed to standard output. The selection is also disabled.
Fig. 1 CChoice and CList
(connect to Enum data type device/property)
Fig. 2 CChoice and CList
(connect to non Enum data type device/property)