## org.w3c.tools.forms
Class FormManager

    java.lang.Object
      |
      +--org.w3c.tools.forms.FormManager

public class FormManager
extends java.lang.Object

Field Summary
`protected int` `cursor` The current field being edited, as an index in our fields.
`protected FormField[]` `fields` Our list of fields, at runtime.
`protected boolean` `finished` Is this form description completed ?
`protected FormPanel` `panel` The form grphical UI.
`protected java.lang.String` `title` The form's title.
`protected java.util.Vector` `vfields` Our list of field, at description time.

Constructor Summary
`FormManager(java.lang.String title)` Create a new, empty form.

Method Summary
`void` `addField(FormField field)` Add a field to the form.
`protected FormPanel` `createPanel()` Construct the Panel to edit the form.
`void` `finish()` Mark the description of the form as completed.
`java.awt.Panel` `getPanel()` Get the graphical object for editing the form.
`protected void` `gotFocus(FormField field)` Some of our field got the focus, update our cursor.
`void` `gotoField(int idx)` Move to the field whose index is given.
`static void` `main(java.lang.String[] args)` Test.
`void` `nextField()` Move the focus to the next editable field.
`void` `notifyChange(FormField field)` Callback for field value's change.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### vfields

    protected java.util.Vector vfields

  Our list of field, at description time.

### fields

    protected FormField[] fields

  Our list of fields, at runtime.

### cursor

    protected int cursor

  The current field being edited, as an index in our fields.

### finished

    protected boolean finished

  Is this form description completed ?

### title

    protected java.lang.String title

  The form's title.

### panel

    protected FormPanel panel

  The form grphical UI.

Constructor Detail

### FormManager

    public FormManager(java.lang.String title)

  Create a new, empty form.
  Parameters:
    `title` - The form's title.

Method Detail

### notifyChange

    public void notifyChange(FormField field)

  Callback for field value's change.
  Parameters:
    `field` - The field that changed.

### createPanel

    protected FormPanel createPanel()

  Construct the Panel to edit the form.
  Returns:
    A Panel instance, layed out for this form edition.

### gotoField

    public void gotoField(int idx)

  Move to the field whose index is given.
  Parameters:
    `n` - The field to move to.

### nextField

    public void nextField()

  Move the focus to the next editable field.

### gotFocus

    protected void gotFocus(FormField field)

  Some of our field got the focus, update our cursor.
  Parameters:
    `field` - The field that now has the focus.

### addField

    public void addField(FormField field)

  Add a field to the form.
  Parameters:
    `name` - The field name (the key by wich this field will be accessible.)
    `field` - The field to be created.

### finish

    public void finish()

  Mark the description of the form as completed. Once this method is called, no more fields can be added to the form. This method will perform any required compilation of the form.

### getPanel

    public java.awt.Panel getPanel()

  Get the graphical object for editing the form.

### main

    public static void main(java.lang.String[] args)
                     throws IllegalFieldValueException

  Test.
  Throws:
    IllegalFieldValueException - test