de.unihalle.informatik.Alida.gui
Class ALDChooseOpNameFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by de.unihalle.informatik.Alida.gui.ALDChooseOpNameFrame
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.TreeSelectionListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class ALDChooseOpNameFrame
extends javax.swing.JFrame
implements java.awt.event.ActionListener, javax.swing.event.TreeSelectionListener

Main window for selecting Alida annotated operators for running. For a selected operator a configuration window may be created by double clicking or hitting the configure button.

This class holds two different trees of operators, one for the standard level, one for the application level. These trees contain all ALDAOperator annotated operators allowed to be executed in a GUI, and annotated as Level.STANDARD and Level.APPLICATION, respectively. Deriving classes may override the method additionalOperators to extend the trees.

In deriving classes the method getOpControlFrame may be overridden to define a different frame to handle the configuration of the selected operator. The frame created in by ALDChooseOpNameFrame is ALDOperatorControlFrame.

Author:
Stefan Posch, Birgit Moeller
See Also:
Serialized Form

Nested Class Summary
protected  class ALDChooseOpNameFrame.MyMouseAdapter
          Local MouseAdapter class.
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.ImageIcon aboutIcon
          Icon to be shown in about box.
private  boolean debug
          Debug flag (not accessible from outside).
protected  javax.swing.JTextField filterField
          Text field to enter filter to select operators
protected  java.util.LinkedList<java.lang.ref.WeakReference<ALDOperatorGUIExecutionProxy>> guiProxys
          List of active GUI managers.
protected  javax.swing.JRootPane mainPanel
          Main panel of chooser window.
protected  ALDOperatorLocation opLocation
          Location of recently selected operator.
protected  javax.swing.JLabel opNameJText
          Label to display selected operator.
protected  ALDOperatorChooserTree opTree
          JComponent containing both trees of available operators.
protected  javax.swing.JScrollPane opTreePane
          Scroll pane displaying the operator tree.
protected  java.lang.String titleString
          Title of frame.
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
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, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ALDChooseOpNameFrame()
          Constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
protected  java.util.Collection<ALDOperatorLocation> additionalOperators(ALDAOperator.Level level)
          This method may be overridden in extending classes to add operators to the list of available operators.
protected  void executeOperator(ALDOperatorLocation opLoc)
          Executes the chosen operator, i.e. opens the config/control window.
protected  javax.swing.JMenu generateHelpMenu()
          Sets up the help menu.
protected  void quit()
          Cleans-up on termination, e.g. closes all windows.
protected  void showAboutBox()
          Show an about box window.
 void valueChanged(javax.swing.event.TreeSelectionEvent event)
           
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
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, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, 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, 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
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

aboutIcon

protected javax.swing.ImageIcon aboutIcon
Icon to be shown in about box.


debug

private boolean debug
Debug flag (not accessible from outside).


filterField

protected javax.swing.JTextField filterField
Text field to enter filter to select operators


guiProxys

protected java.util.LinkedList<java.lang.ref.WeakReference<ALDOperatorGUIExecutionProxy>> guiProxys
List of active GUI managers.


mainPanel

protected javax.swing.JRootPane mainPanel
Main panel of chooser window.


opLocation

protected ALDOperatorLocation opLocation
Location of recently selected operator.


opNameJText

protected javax.swing.JLabel opNameJText
Label to display selected operator.


opTree

protected ALDOperatorChooserTree opTree
JComponent containing both trees of available operators.


opTreePane

protected javax.swing.JScrollPane opTreePane
Scroll pane displaying the operator tree.


titleString

protected java.lang.String titleString
Title of frame.

Constructor Detail

ALDChooseOpNameFrame

public ALDChooseOpNameFrame()
Constructor.

Method Detail

actionPerformed

public final void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

additionalOperators

protected java.util.Collection<ALDOperatorLocation> additionalOperators(ALDAOperator.Level level)
This method may be overridden in extending classes to add operators to the list of available operators.

Parameters:
level - Level to which operators are to be added

executeOperator

protected void executeOperator(ALDOperatorLocation opLoc)
Executes the chosen operator, i.e. opens the config/control window.

Parameters:
opLoc - Location from where to instantiate the operator object.

generateHelpMenu

protected javax.swing.JMenu generateHelpMenu()
Sets up the help menu.

Returns:
Generated help menu.

quit

protected void quit()
Cleans-up on termination, e.g. closes all windows.


showAboutBox

protected void showAboutBox()
Show an about box window.

Method is supposed to be overwritten by subclasses.


valueChanged

public void valueChanged(javax.swing.event.TreeSelectionEvent event)
Specified by:
valueChanged in interface javax.swing.event.TreeSelectionListener