Water 5-User Interface-Rich Widgets
class ui.item
Contract
Parameter keyDefault valueType
nameopt
labellabelstring
xactive_valuenonnegative
yactive_valuenonnegative
widthactive_valuenonnegative
heightactive_valuenonnegative
foreground_colorblackcolor
background_colorwhitecolor
visibilityactive_valueboolean
tool_tipnulltype.<one_of string/>
Water Contract
<class ui.item
  label         =ui.item.label=string
/>

See also: ui, pane

Panes help arrange items, but the real work of the user interface is done by items. Most items are used to get input from users though a number show output and some do both. items cannot contain other items or panes, they are the leaves of the ui tree. The full path to each item class is thing.ui.item.the_item_class, though each item class, like each pane class, has a shortcut of just ui.the_item_class. See the doc on ui for fields common to all ui objects.

the_value

Most items have a field called "the_value". For checkboxes and radiobuttons the_value is true or false depending on whether it is selected or not. For textfield and textarea it is the text typed in, etc. A few items like button and menuitem don't have the_value fields. Usually the_value is read by looking and set by the user clicking or typing. All the_value fields can also be read using Water's method "get" or the dot syntax for getting a field value. the_value can be set using Water's method "set". the_value behaves just like a regular field except that when it is set, the underlying native_object used to display the item is updated so that you can see the new value.

click

Most items have a click field. Its value is a user defined method that is called whenever the user clicks on the item. The method takes no arguments and need not even have a name. It is called with the item that was clicked on as its subject so that all the fields of the item including its name and the_value are available to the method for introspection.