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, ALDOpParameterUpdateEventReporter, ActionListener, ItemListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

public class ALDOperatorControlFrame
extends ALDOperatorConfigurationFrame
implements 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
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
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
protected  JCheckBox activateBatchMode
          Checkbox for enabling/disabling batch mode.
protected  JPanel batchConfigPanel
          Configuration panel for batch mode.
protected static Color buttonColor_ready
          Default run button color of ready operators.
protected static Color buttonColor_runnable
          Default run button color of runnable operators.
protected static Color buttonColor_running
          Default run button color of running operators.
protected static Color buttonColor_unconfigured
          Default run button color of unconfigured operators.
protected  ALDOperatorGUIExecutionProxy execProxy
          Reference to the surrounding workflow manager.
protected  Vector<JCheckBox> inputCheckBoxes
          Set of checkboxes to select input parameters in batch mode.
protected  HashMap<String,ALDSwingComponent> inputProviderComps
          Components in GUI linked to the different input batch parameters.
protected  Vector<JCheckBox> outputCheckBoxes
          Set of checkboxed to select parameters to summarize in batch mode.
protected  JButton pauseButton
          Pause button, changes its label.
protected  JButton resultDisplayButton
          Result display button.
protected  JButton runButton
          Run button.
protected  JButton stepButton
          Button for stepping through optimization process.
protected  JCheckBox stepThroughBox
          Box for activating step-through mode.
protected  JTextField stepThroughStepSize
          Field for specifying number of iterations per step-through step.
protected  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(ActionEvent e)
           
protected  void addBatchInputParameter(ALDParameterDescriptor d, ButtonGroup inButtonSet, JComponent[][] boxArray, int index)
           
protected  JPanel addContextSpecificButtonPanel()
          Adds set of control buttons to the input panel.
 LinkedList<String> getBatchInputParameters()
          Returns selected input parameters for batch mode.
 LinkedList<String> getBatchOutputParameters()
          Returns selected output parameters for batch mode.
 Iterator<Object> getInputParamIterator(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.
 boolean isBatchModeActive()
           
 void itemStateChanged(ItemEvent e)
           
 boolean quit()
          Clean-up on termination.
protected  Collection<JMenu> setupAdditionalMenus()
          Adds additional menu items.
protected  HashMap<JComponent,String> setupAdditionalTabContents()
           
protected  void setupBatchConfigPanel()
           
 void updateNodeStatus(ALDWorkflowNode.ALDWorkflowNodeState state)
          Updates the window according to the configuration status of the operator.
 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
addALDOpParameterUpdateEventListener, addCloseButtonPanel, fireALDOpParameterUpdateEvent, generateHelpMenu, getOperator, removeALDOpParameterUpdateEventListener, setParameterLinked, setParameterNotLinked, setProviderInteractionLevel, setStatus, setupParamConfigPanel, setupWindow, updateOperator, 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

buttonColor_unconfigured

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


buttonColor_runnable

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


buttonColor_running

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


buttonColor_ready

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


execProxy

protected ALDOperatorGUIExecutionProxy execProxy
Reference to the surrounding workflow manager.


resultDisplayButton

protected JButton resultDisplayButton
Result display button.


runButton

protected JButton runButton
Run button.


pauseButton

protected JButton pauseButton
Pause button, changes its label.


stopButton

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


stepButton

protected JButton stepButton
Button for stepping through optimization process.


stepThroughBox

protected JCheckBox stepThroughBox
Box for activating step-through mode.


stepThroughStepSize

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


batchConfigPanel

protected JPanel batchConfigPanel
Configuration panel for batch mode.


activateBatchMode

protected JCheckBox activateBatchMode
Checkbox for enabling/disabling batch mode.


inputCheckBoxes

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


inputProviderComps

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


outputCheckBoxes

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

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

init

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

Overrides:
init in class ALDOperatorConfigurationFrame

setupAdditionalTabContents

protected HashMap<JComponent,String> setupAdditionalTabContents()
Overrides:
setupAdditionalTabContents in class ALDOperatorConfigurationFrame

setupAdditionalMenus

protected Collection<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.

setupBatchConfigPanel

protected void setupBatchConfigPanel()

addBatchInputParameter

protected void addBatchInputParameter(ALDParameterDescriptor d,
                                      ButtonGroup inButtonSet,
                                      JComponent[][] boxArray,
                                      int index)

addContextSpecificButtonPanel

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

Overrides:
addContextSpecificButtonPanel in class ALDOperatorConfigurationFrame

isBatchModeActive

public boolean isBatchModeActive()

getBatchInputParameters

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

Returns:
List of selected inputs.

getInputParamIterator

public Iterator<Object> getInputParamIterator(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

getBatchOutputParameters

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

Returns:
List of selected outputs to summarize.

quit

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

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

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.

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.

actionPerformed

public void actionPerformed(ActionEvent e)
Specified by:
actionPerformed in interface ActionListener
Overrides:
actionPerformed in class ALDOperatorConfigurationFrame

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.

itemStateChanged

public void itemStateChanged(ItemEvent e)
Specified by:
itemStateChanged in interface ItemListener


Copyright © 2010–2014 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.