de.unihalle.informatik.Alida.gui
Class ALDOperatorControlFrame

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
                          extended by de.unihalle.informatik.Alida.gui.ALDOperatorControlFrame
All Implemented Interfaces:
ALDSwingValueChangeListener, java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class ALDOperatorControlFrame
extends ALDOperatorConfigurationFrame
implements java.awt.event.ItemListener

Frame to configure and run an operator.

If the operator is properly configured, i.e. its input parameters are set, it is executed as an ALDWorkflow containing only a single node. Result display and interaction with the operator are handled by the event mechanisms of the workflow.

Controllable operators trigger the display of additional buttons in GUI for pausing, resuming and interrupting calculations.

Author:
Stefan Posch, 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
protected  javax.swing.JCheckBox activateBatchMode
          Checkbox for enabling/disabling batch mode.
protected  javax.swing.JPanel batchConfigPanel
          Configuration panel for batch mode.
protected static java.awt.Color buttonColor_ready
          Default run button color of ready operators.
protected static java.awt.Color buttonColor_runnable
          Default run button color of runnable operators.
protected static java.awt.Color buttonColor_running
          Default run button color of running operators.
protected static java.awt.Color buttonColor_unconfigured
          Default run button color of unconfigured operators.
private  boolean debug
          Local flag for debug output.
protected  ALDOperatorGUIExecutionProxy execProxy
          Reference to the surrounding workflow manager.
protected  java.util.Vector<javax.swing.JCheckBox> inputCheckBoxes
          Set of checkboxes to select input parameters in batch mode.
protected  java.util.HashMap<java.lang.String,ALDSwingComponent> inputProviderComps
          Components in GUI linked to the different input batch parameters.
protected  java.util.Vector<javax.swing.JCheckBox> outputCheckBoxes
          Set of checkboxed to select parameters to summarize in batch mode.
protected  javax.swing.JButton pauseButton
          Pause button, changes its label.
protected  javax.swing.JButton runButton
          Run button.
protected  javax.swing.JButton stepButton
          Button for stepping through optimization process.
protected  javax.swing.JCheckBox stepThroughBox
          Box for activating step-through mode.
protected  javax.swing.JTextField stepThroughStepSize
          Field for specifying number of iterations per step-through step.
protected  javax.swing.JButton stopButton
          Stop button to stop snake optimization (after end of iteration).
 
Fields inherited from class de.unihalle.informatik.Alida.gui.ALDOperatorConfigurationFrame
displayMode, inputPanel, lastDirectory, lastFile, listenerList, okOption, op, operatorParameterPanel, pLevel, radioItemAdvanced, radioItemStandard, status, tabPane, titleString, yesnoOption
 
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
ALDOperatorControlFrame(ALDOperator _op, ALDOperatorGUIExecutionProxy em)
          Constructs a new 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  void addContextSpecificButtonPanel()
          Adds set of control buttons to the input panel.
 java.util.LinkedList<java.lang.String> getBatchInputParameters()
          Returns selected input parameters for batch mode.
 java.util.LinkedList<java.lang.String> getBatchOutputParameters()
          Returns selected output parameters for batch mode.
 java.util.Iterator<java.lang.Object> getInputParamIterator(java.lang.String param)
          Returns an iterator for a specific input parameter in batch mode.
 void handleValueChangeEvent(ALDSwingValueChangeEvent event)
          Method which is called on event occurence.
protected  void init()
          Does the main work to instantiate the frame.
 void itemStateChanged(java.awt.event.ItemEvent e)
           
 boolean quit()
          Clean-up on termination.
protected  java.util.Collection<javax.swing.JMenu> setupAdditionalMenus()
          Adds additional menu items.
protected  java.util.HashMap<javax.swing.JComponent,java.lang.String> setupAdditionalTabContents()
           
protected  void setupBatchConfigPanel()
           
 void updateNodeStatus(ALDWorkflowNode.ALDWorkflowNodeState state)
          Updates the window according to the configuration status of the operator.
protected  void updateOperator(ALDOperator newOp)
          Tells the surrounding proxy that a new operator has been loaded.
 void updateOperatorAfterConfigReload(ALDOperator newOp)
          This method takes care of updating the GUI after reloading the operator.
 
Methods inherited from class de.unihalle.informatik.Alida.gui.ALDOperatorConfigurationFrame
addCloseButtonPanel, addParameterChangeEventListener, fireParameterChangeEvent, generateHelpMenu, removeParameterChangeEventListener, setParameterLinked, setParameterNotLinked, setProviderInteractionLevel, setStatus, setupParamConfigPanel, setupWindow, updateParamConfigurationStatus
 
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

activateBatchMode

protected javax.swing.JCheckBox activateBatchMode
Checkbox for enabling/disabling batch mode.


batchConfigPanel

protected javax.swing.JPanel batchConfigPanel
Configuration panel for batch mode.


buttonColor_ready

protected static final java.awt.Color buttonColor_ready
Default run button color of ready operators.


buttonColor_runnable

protected static final java.awt.Color buttonColor_runnable
Default run button color of runnable operators.


buttonColor_running

protected static final java.awt.Color buttonColor_running
Default run button color of running operators.


buttonColor_unconfigured

protected static final java.awt.Color buttonColor_unconfigured
Default run button color of unconfigured operators.


debug

private boolean debug
Local flag for debug output.


execProxy

protected ALDOperatorGUIExecutionProxy execProxy
Reference to the surrounding workflow manager.


inputCheckBoxes

protected java.util.Vector<javax.swing.JCheckBox> inputCheckBoxes
Set of checkboxes to select input parameters in batch mode.


inputProviderComps

protected java.util.HashMap<java.lang.String,ALDSwingComponent> inputProviderComps
Components in GUI linked to the different input batch parameters.


outputCheckBoxes

protected java.util.Vector<javax.swing.JCheckBox> outputCheckBoxes
Set of checkboxed to select parameters to summarize in batch mode.


pauseButton

protected javax.swing.JButton pauseButton
Pause button, changes its label.


runButton

protected javax.swing.JButton runButton
Run button.


stepButton

protected javax.swing.JButton stepButton
Button for stepping through optimization process.


stepThroughBox

protected javax.swing.JCheckBox stepThroughBox
Box for activating step-through mode.


stepThroughStepSize

protected javax.swing.JTextField stepThroughStepSize
Field for specifying number of iterations per step-through step.


stopButton

protected javax.swing.JButton stopButton
Stop button to stop snake optimization (after end of iteration).

Constructor Detail

ALDOperatorControlFrame

public ALDOperatorControlFrame(ALDOperator _op,
                               ALDOperatorGUIExecutionProxy em)
                        throws ALDOperatorException
Constructs a new control frame for an operator object.

Parameters:
_op - Operator to be associated with this frame object.
em - Reference to the surrounding execution proxy.
Throws:
ALDOperatorException
Method Detail

actionPerformed

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

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class ALDOperatorConfigurationFrame

addContextSpecificButtonPanel

protected void addContextSpecificButtonPanel()
Adds set of control buttons to the input panel.

Overrides:
addContextSpecificButtonPanel in class ALDOperatorConfigurationFrame

getBatchInputParameters

public java.util.LinkedList<java.lang.String> getBatchInputParameters()
Returns selected input parameters for batch mode.

Returns:
List of selected inputs.

getBatchOutputParameters

public java.util.LinkedList<java.lang.String> getBatchOutputParameters()
Returns selected output parameters for batch mode.

Returns:
List of selected outputs to summarize.

getInputParamIterator

public java.util.Iterator<java.lang.Object> getInputParamIterator(java.lang.String param)
                                                           throws ALDBatchIOException,
                                                                  ALDOperatorException
Returns an iterator for a specific input parameter in batch mode.

Parameters:
param - Operator input parameter of interest.
Returns:
Corresponding iterator.
Throws:
ALDDataIOException
ALDOperatorException
ALDBatchIOException

handleValueChangeEvent

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

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

init

protected void init()
Description copied from class: ALDOperatorConfigurationFrame
Does the main work to instantiate the frame.

Overrides:
init in class ALDOperatorConfigurationFrame

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

quit

public boolean quit()
Description copied from class: ALDOperatorConfigurationFrame
Clean-up on termination.

Overrides:
quit in class ALDOperatorConfigurationFrame
Returns:
True if window was closed.

setupAdditionalMenus

protected java.util.Collection<javax.swing.JMenu> setupAdditionalMenus()
Description copied from class: ALDOperatorConfigurationFrame
Adds additional menu items.

Overrides:
setupAdditionalMenus in class ALDOperatorConfigurationFrame
Returns:
List of menus to be added to the menubar.

setupAdditionalTabContents

protected java.util.HashMap<javax.swing.JComponent,java.lang.String> setupAdditionalTabContents()
Overrides:
setupAdditionalTabContents in class ALDOperatorConfigurationFrame

setupBatchConfigPanel

protected void setupBatchConfigPanel()

updateNodeStatus

public void updateNodeStatus(ALDWorkflowNode.ALDWorkflowNodeState state)
Updates the window according to the configuration status of the operator.

In the window the run button color is changed according to the state of the underlying operator node.

Parameters:
state - State of the operator and workflow node, respectively.

updateOperator

protected void updateOperator(ALDOperator newOp)
Tells the surrounding proxy that a new operator has been loaded.

Overrides:
updateOperator in class ALDOperatorConfigurationFrame
Parameters:
newOp - New operator loaded from file.

updateOperatorAfterConfigReload

public void updateOperatorAfterConfigReload(ALDOperator newOp)
This method takes care of updating the GUI after reloading the operator.

Parameters:
newOp - New operator loaded from file.