gate.gui
Class ListEditorDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by gate.gui.ListEditorDialog
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class ListEditorDialog
extends JDialog

A simple editor for Collection values.

See Also:
Serialized Form

Nested 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.NaturalComparator
          A comparator that uses the objects' natural order if the item class of the collection implements Comparable, and compares their toString representations if not.
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
 
Nested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
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)  boolean allowDuplicates
          Does this collection permit duplicate entries?
(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)  Comparator comparator
          Comparator to use to sort the entries displayed in the list.
(package private)  boolean finiteType
          Does the item type have a finite range (i.e. should we use the combo)?
(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, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_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, Collection data, Class<? extends Collection> collectionType, String itemType)
          Contructs a new ListEditorDialog.
ListEditorDialog(Component owner, Collection data, String itemType)
          Contructs a new ListEditorDialog.
 
Method Summary
protected  void initGuiComponents()
           
protected  void initListeners()
           
protected  void initLocalData(Collection data, Class<? extends Collection> collectionType)
           
static void main(String[] args)
          test code
 List showDialog()
          Make this dialog visible allowing the editing of the collection.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, 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, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, 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?


allowDuplicates

boolean allowDuplicates
Does this collection permit duplicate entries?


comparator

Comparator comparator
Comparator to use to sort the entries displayed in the list. If this dialog was created to edit a List, this will be null and the ordering provided by the user will be preserved. If the dialog was created from a Set or plain Collection this will be either the set's own comparator (if a SortedSet) or a ListEditorDialog.NaturalComparator.

Constructor Detail

ListEditorDialog

public ListEditorDialog(Component owner,
                        Collection data,
                        String itemType)
Contructs a new ListEditorDialog.

Parameters:
owner - the component this dialog will be centred on.
data - a Collection with the initial values. This 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 collection in the form of a fully qualified class name

ListEditorDialog

public ListEditorDialog(Component owner,
                        Collection data,
                        Class<? extends Collection> collectionType,
                        String itemType)
Contructs a new ListEditorDialog.

Parameters:
owner - the component this dialog will be centred on.
data - a Collection with the initial values. This 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.
collectionType - the class of the data collection. If null the class will be inferred from data. If data is also null, List will be assumed.
itemType - the type of the elements in the collection in the form of a fully qualified class name
Method Detail

initLocalData

protected void initLocalData(Collection data,
                             Class<? extends Collection> collectionType)

initGuiComponents

protected void initGuiComponents()

initListeners

protected void initListeners()

showDialog

public List showDialog()
Make this dialog visible allowing the editing of the collection. 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. Note that this method always returns a List. When used for a resource parameter this is OK, as GATE automatically converts this to the right collection type when the resource is created, but if you use this class anywhere else to edit a non-List collection you will have to copy the result back into a collection of the appropriate type yourself.


main

public static void main(String[] args)
test code