<html>
<head>
  <link rel="stylesheet" type="text/css" href="default.css" media="screen" />
</head>
<body>

  <h2>Text</h2>

  <p>
  The Text widget displays editable text.
  Text fields can be single-line (style <code>SINGLE</code>) or multi-line
  (style <code>MULTI</code>).
  </p>

  <p>
  Text fields with masked echo characters for entering passwords can be created
  by specifying the <code>PASSWORD</code> style.
  Those password fields are always single-line.
  </p>

  <p>
  Text fields can be created in read-only mode using the <code>READ_ONLY</code>
  style. The read-only mode can also be toggled at runtime using
  <code>setEditable()</code>.
  </p>

<!-- TODO:
  LEFT, RIGHT, CENTER
  WRAP
  -->

  <h2>Spinner</h2>

  <p>
  The Spinner widget looks similar to a single-line Text field,
  but it only allows to enter numbers within a certain range.
  The min and max values can be configured.
  Every time the value of the Spinner changes, a selection event is fired.
  </p>

  <h2>Combo</h2>

  <p>
  The Combo box is available in two different flavors.
  In the read-only mode, it only allows to select preconfigured values from the
  drop-down list.
  In editable mode, it also allows to edit the selection in the text field.
  </p>

</body>
</html>
