de.unihalle.informatik.Alida.gui
Class ALDOperatorConfigurationFrame

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.ALDOperatorConfigurationFrame
All Implemented Interfaces:
ALDSwingValueChangeListener, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Direct Known Subclasses:
ALDOperatorControlFrame

public class ALDOperatorConfigurationFrame
extends javax.swing.JFrame
implements java.awt.event.ActionListener, ALDSwingValueChangeListener

Frame to configure an operator.

Author:
Birgit Moeller
See Also:
Serialized Form

Nested Class Summary
 
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
private  boolean debug
          Local flag for debug output.
protected  Parameter.ExpertMode displayMode
          Mode for displaying parameters.
protected  javax.swing.JPanel inputPanel
          The top level panel of this frame.
protected  java.lang.String lastDirectory
          Last directory visited, initially it's user's home.
protected  java.io.File lastFile
          Last selected file.
protected  javax.swing.event.EventListenerList listenerList
          List of registered event listeners.
protected  java.lang.Object[] okOption
          Ok label to be used on button of Ok message boxes.
protected  ALDOperator op
          The operator associated with this frame.
protected  ALDOperatorParameterPanel operatorParameterPanel
          Panel where operator parameters are embedded.
protected  ALDDataIOManagerSwing.ProviderInteractionLevel pLevel
          Level of interaction providers are allowed to perform.
protected  javax.swing.JRadioButtonMenuItem radioItemAdvanced
          Radio button for selecting advanced configuration mode.
protected  javax.swing.JRadioButtonMenuItem radioItemStandard
          Radio button for selecting standard configuration mode.
protected  javax.swing.JLabel status
          Label of status bar, changes dynamically.
protected  javax.swing.JTabbedPane tabPane
           
protected  java.lang.String titleString
          Title string of window.
protected  java.lang.Object[] yesnoOption
          Labels to be used on buttons of Yes/No message boxes.
 
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
ALDOperatorConfigurationFrame(ALDOperator _op)
          Constructs a control frame for an operator object.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Validate the operator parameters by requesting values from the panels.
protected  javax.swing.JPanel addCloseButtonPanel()
          Adds set of control buttons to the input panel.
protected  javax.swing.JPanel addContextSpecificButtonPanel()
          Adds set of control buttons to the input panel.
 void addParameterChangeEventListener(ALDOpParameterChangeEventListener listener)
          Adds a listener to this reporter.
 void fireParameterChangeEvent(ALDOpParameterChangeEvent ev)
          Sends an event to all registered listeners.
protected  javax.swing.JMenu generateHelpMenu()
          Sets up the help menu.
 void handleValueChangeEvent(ALDSwingValueChangeEvent event)
          Method which is called on event occurence.
protected  void init()
          Does the main work to instantiate the frame.
 boolean quit()
          Clean-up on termination.
 void removeParameterChangeEventListener(ALDOpParameterChangeEventListener listener)
          Removes a listener from this reporter.
 boolean setParameterLinked(java.lang.String paramName, java.lang.String sourceOp, java.lang.String sourceParamName)
           
 boolean setParameterNotLinked(java.lang.String paramName)
           
 void setProviderInteractionLevel(ALDDataIOManagerSwing.ProviderInteractionLevel pl)
          Specify the provider interaction level.
protected  void setStatus(java.lang.String msg)
          Changes the status message to the given string.
protected  java.util.Collection<javax.swing.JMenu> setupAdditionalMenus()
          Adds additional menu items.
protected  java.util.HashMap<javax.swing.JComponent,java.lang.String> setupAdditionalTabContents()
           
protected  ALDOperatorParameterPanel setupParamConfigPanel()
          Adds operator parameter configuration panel to input panel.
protected  void setupWindow()
          Construct the frame to configure an operator.
protected  void updateOperator(ALDOperator newOp)
          Updates the configuration window with settings of new operator.
 void updateParamConfigurationStatus(java.util.Collection<java.lang.String> badParams)
          Updates the window according to the status of the operator parameters.
 
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

debug

private boolean debug
Local flag for debug output.


displayMode

protected Parameter.ExpertMode displayMode
Mode for displaying parameters.

In standard mode only parameters annotated as standard are shown, in advanced mode all parameters annotated are displayed.


inputPanel

protected javax.swing.JPanel inputPanel
The top level panel of this frame.


lastDirectory

protected java.lang.String lastDirectory
Last directory visited, initially it's user's home.


lastFile

protected java.io.File lastFile
Last selected file.


listenerList

protected volatile javax.swing.event.EventListenerList listenerList
List of registered event listeners.


okOption

protected final java.lang.Object[] okOption
Ok label to be used on button of Ok message boxes.


op

protected ALDOperator op
The operator associated with this frame.


operatorParameterPanel

protected ALDOperatorParameterPanel operatorParameterPanel
Panel where operator parameters are embedded.


pLevel

protected ALDDataIOManagerSwing.ProviderInteractionLevel pLevel
Level of interaction providers are allowed to perform.


radioItemAdvanced

protected javax.swing.JRadioButtonMenuItem radioItemAdvanced
Radio button for selecting advanced configuration mode.


radioItemStandard

protected javax.swing.JRadioButtonMenuItem radioItemStandard
Radio button for selecting standard configuration mode.


status

protected javax.swing.JLabel status
Label of status bar, changes dynamically.


tabPane

protected javax.swing.JTabbedPane tabPane

titleString

protected java.lang.String titleString
Title string of window.


yesnoOption

protected final java.lang.Object[] yesnoOption
Labels to be used on buttons of Yes/No message boxes.

Constructor Detail

ALDOperatorConfigurationFrame

public ALDOperatorConfigurationFrame(ALDOperator _op)
                              throws ALDOperatorException
Constructs a control frame for an operator object.

Parameters:
_op - Operator to be associated with this frame object.
Throws:
ALDOperatorException
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Validate the operator parameters by requesting values from the panels.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

addCloseButtonPanel

protected javax.swing.JPanel addCloseButtonPanel()
Adds set of control buttons to the input panel.


addContextSpecificButtonPanel

protected javax.swing.JPanel addContextSpecificButtonPanel()
Adds set of control buttons to the input panel.


addParameterChangeEventListener

public void addParameterChangeEventListener(ALDOpParameterChangeEventListener listener)
Adds a listener to this reporter.

Parameters:
listener - Listener to be added.

fireParameterChangeEvent

public void fireParameterChangeEvent(ALDOpParameterChangeEvent ev)
Sends an event to all registered listeners.

Parameters:
ev - Event to be send to all listeners.

generateHelpMenu

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

Returns:
Generated help menu.

handleValueChangeEvent

public void handleValueChangeEvent(ALDSwingValueChangeEvent event)
Description copied from interface: ALDSwingValueChangeListener
Method which is called on event occurence.

Specified by:
handleValueChangeEvent in interface ALDSwingValueChangeListener
Parameters:
event - Event to be handled.

init

protected void init()
Does the main work to instantiate the frame.


quit

public boolean quit()
Clean-up on termination.

Returns:
True if window was closed.

removeParameterChangeEventListener

public void removeParameterChangeEventListener(ALDOpParameterChangeEventListener listener)
Removes a listener from this reporter.

Parameters:
listener - Listener to be removed.

setParameterLinked

public boolean setParameterLinked(java.lang.String paramName,
                                  java.lang.String sourceOp,
                                  java.lang.String sourceParamName)

setParameterNotLinked

public boolean setParameterNotLinked(java.lang.String paramName)

setProviderInteractionLevel

public void setProviderInteractionLevel(ALDDataIOManagerSwing.ProviderInteractionLevel pl)
Specify the provider interaction level.

Parameters:
pl - Level to be used in program execution.

setStatus

protected void setStatus(java.lang.String msg)
Changes the status message to the given string.

Parameters:
msg - Message to be shown in statusbar.

setupAdditionalMenus

protected java.util.Collection<javax.swing.JMenu> setupAdditionalMenus()
Adds additional menu items.

Returns:
List of menus to be added to the menubar.

setupAdditionalTabContents

protected java.util.HashMap<javax.swing.JComponent,java.lang.String> setupAdditionalTabContents()

setupParamConfigPanel

protected ALDOperatorParameterPanel setupParamConfigPanel()
Adds operator parameter configuration panel to input panel.


setupWindow

protected void setupWindow()
Construct the frame to configure an operator.


updateOperator

protected void updateOperator(ALDOperator newOp)
Updates the configuration window with settings of new operator.

Note that we assume here that the class of the new operator is equal to the class of the old operator.

Parameters:
newOp - New operator instance.

updateParamConfigurationStatus

public void updateParamConfigurationStatus(java.util.Collection<java.lang.String> badParams)
Updates the window according to the status of the operator parameters.

In the window the parameter label colors are changed according to the configuration status of the operator parameters.

Parameters:
badParams - List of missing required parameters.