## gate.gui
Class ListEditorDialog

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--java.awt.Window
                        |
                        +--java.awt.Dialog
                              |
                              +--javax.swing.JDialog
                                    |
                                    +--gate.gui.ListEditorDialog

All Implemented Interfaces:
  Accessible, ImageObserver, MenuContainer, RootPaneContainer, Serializable, WindowConstants

public class ListEditorDialog
extends JDialog

A simple editor for List values.

See Also:
  Serialized Form

Inner Class Summary
`protected class` `ListEditorDialog.AddAction` Adds an element to the list from the editing component located at the top of this dialog.
`protected class` `ListEditorDialog.RemoveAction` Removes the selected element(s) from the list
`protected class` `ListEditorDialog.ResourceComboModel` A model for a combobox containing the loaded corpora in the system

Inner classes inherited from class javax.swing.JDialog
`JDialog.AccessibleJDialog`

Inner classes inherited from class java.awt.Dialog
`Dialog.AccessibleAWTDialog`

Inner classes inherited from class java.awt.Window
`Window.AccessibleAWTWindow`

Inner classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Inner classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent, Component.AWTTreeLock`

Field Summary
`(package private) Action` `addAction` An action that adds the item being edited to the list
`(package private) JButton` `addBtn` Used to add a new value to the list
`(package private) JButton` `cancelButton` The cancel button for this dialog
`(package private) JComboBox` `combo` Comobox used to select among values for GATE types
`(package private) boolean` `finiteType` Does the item type have a finite range (i.e.
`(package private) String` `itemType` The type of the elements in the list
`(package private) Class` `itemTypeClass` The Class for the elements in the list
`(package private) JList` `listComponent` The GUI compoenent used to display the list
`(package private) DefaultListModel` `listModel` The model used by the `listComponent`
`(package private) JButton` `moveDownBtn` Moves down one or more items in the list
`(package private) JButton` `moveUpBtn` Moves up one or more items in the list
`(package private) JButton` `okButton` The OK button for this dialog
`(package private) Action` `removeAction` An action that removes the item(s) currently selected from the list
`(package private) JButton` `removeBtn` Used to remove the selected element in the list;
`(package private) JTextField` `textField` Text field used to input new arbitrary values
`(package private) boolean` `userCancelled` Did the user press the cancel button?

Fields inherited from class javax.swing.JDialog
`accessibleContext, defaultCloseOperation, rootPane, rootPaneCheckingEnabled`

Fields inherited from class java.awt.Dialog
`base, keepBlocking, modal, nameCounter, resizable, serialVersionUID, title`

Fields inherited from class java.awt.Window
`active, dbg, focusMgr, inputContext, inputContextLock, OPENED, ownedWindowList, state, warningString, weakThis, windowListener, windowSerializedDataVersion`

Fields inherited from class java.awt.Container
`component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads`

Fields inherited from class java.awt.Component

`actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y`

Fields inherited from interface javax.swing.WindowConstants
`DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`ListEditorDialog(Component owner, List data, String itemType)` Contructs a new ListEditorDialog.

Method Summary
`protected void` `initGuiComponents()`
`protected void` `initListeners()`
`protected void` `initLocalData(List data)`
`static void` `main(String[] args)` test code
`List` `showDialog()` Make this dialog visible allowing the editing of the list.

Methods inherited from class javax.swing.JDialog

`addImpl, createRootPane, createRootPaneException, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setLocationRelativeTo, setRootPane, setRootPaneCheckingEnabled, update`

Methods inherited from class java.awt.Dialog
`<clinit>, addNotify, conditionalShow, constructComponentName, dispose, disposeImpl, getTitle, hide, hideAndDisposeHandler, initIDs, interruptBlocking, isModal, isResizable, setModal, setResizable, setTitle, show`

Methods inherited from class java.awt.Window

`addOwnedWindow, addWindowListener, adjustListeningChildren, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, eventEnabled, finalize, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postProcessKeyEvent, postWindowEvent, preProcessKeyEvent, processEvent, readObject, removeOwnedWindow, removeWindowListener, resetGC, setCursor, setFocusOwner, setWarningString, toBack, toFront, transferFocus, writeObject`

Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, numListening, paint, paintComponents, paintHeavyweightComponents, postsOldMouseEvents, preferredSize, print, printComponents, printHeavyweightComponents, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, removeAll, removeContainerListener, removeNotify, setFont, validate, validateTree`

Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus`

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

Field Detail

### itemType

    String itemType

  The type of the elements in the list

### itemTypeClass

    Class itemTypeClass

  The Class for the elements in the list

### listComponent

    JList listComponent

  The GUI compoenent used to display the list

### combo

    JComboBox combo

  Comobox used to select among values for GATE types

### textField

    JTextField textField

  Text field used to input new arbitrary values

### removeBtn

    JButton removeBtn

  Used to remove the selected element in the list;

### addBtn

    JButton addBtn

  Used to add a new value to the list

### moveUpBtn

    JButton moveUpBtn

  Moves up one or more items in the list

### moveDownBtn

    JButton moveDownBtn

  Moves down one or more items in the list

### listModel

    DefaultListModel listModel

  The model used by the `listComponent`

### finiteType

    boolean finiteType

  Does the item type have a finite range (i.e. should we use the combo)?

### addAction

    Action addAction

  An action that adds the item being edited to the list

### removeAction

    Action removeAction

  An action that removes the item(s) currently selected from the list

### okButton

    JButton okButton

  The OK button for this dialog

### cancelButton

    JButton cancelButton

  The cancel button for this dialog

### userCancelled

    boolean userCancelled

  Did the user press the cancel button?

Constructor Detail

### ListEditorDialog

    public ListEditorDialog(Component owner,
                            List data,
                            String itemType)

  Contructs a new ListEditorDialog.
  Parameters:
    `owner` - the component this dialog will be centred on.
    `data` - a list with the initial values. This list will not be changed, its values will be cached and if the user selects the OK option a new list with the updated contents will be returned.
    `itemType` - the type of the elements in the list in the form of a fully qualified class name

Method Detail

### initLocalData

    protected void initLocalData(List data)

### initGuiComponents

    protected void initGuiComponents()

### initListeners

    protected void initListeners()

### showDialog

    public List showDialog()

  Make this dialog visible allowing the editing of the list. If the user selects the OK option a new list with the updated contents will be returned; it the Cancel option is selected this method return `null`.

### main

    public static void main(String[] args)

  test code