de.unihalle.informatik.Alida.operator.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.operator.gui.ALDOperatorControlFrame
All Implemented Interfaces:
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 javax.swing.JFrame
implements java.awt.event.ActionListener, 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 using an ALDExecuteOperatorFrame. This control frame is free to decide, what executing precisily means, usually it is to start the operator via its runOp() method and display or store the results appropriately.

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

Author:
Stefan Posch
See Also:
Serialized Form

Nested Class Summary
protected static class ALDOperatorControlFrame.OpThreadStatus
          Status of the associated thread to execute operator.
 
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  ALDExecuteOperator executeOperator
          Frame to execute a configured operator.
protected  javax.swing.JPanel inputPanel
          The top level panel of this frame.
protected  boolean isOpControllable
          Flag to indicate if selected operator is controllable.
protected  java.lang.String lastDirectory
          Last directory visited, initially it's user's home.
protected  java.io.File lastFile
          Last selected file.
protected  ALDOperator op
          The operator associated with this frame.
protected  ALDOperatorParameterPanel operatorParameterPanel
          Panel where operator parameters are embedded.
protected  javax.swing.JButton pauseButton
          Pause button, changes its label.
protected  javax.swing.JButton runButton
          Run button.
protected  javax.swing.JLabel status
          Label of status bar, changes dynamically.
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).
private  ALDOperatorControlFrame.OpThreadStatus threadStatus
          Current status of the operator execution thread.
protected  java.lang.String titleString
          Title string of window.
 
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(java.lang.String opName)
          Default constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
protected  void addButtonPanel()
          Adds set of control buttons to the input panel.
protected  void addParamConfigPanel()
          Adds operator parameter configuration panel to input panel.
protected  javax.swing.JMenu generateHelpMenu()
          Sets up the help menu.
 void itemStateChanged(java.awt.event.ItemEvent e)
           
protected  void setStatus(java.lang.String msg)
          Changes the status message to the given string.
protected  void setupWindow()
          Construct the frame to configure an operator.
 
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, 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, paint, 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.


executeOperator

protected ALDExecuteOperator executeOperator
Frame to execute a configured operator.

Configured means that the input parameters have been set properly.


inputPanel

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


isOpControllable

protected boolean isOpControllable
Flag to indicate if selected operator is controllable.


lastDirectory

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


lastFile

protected java.io.File lastFile
Last selected file.


op

protected ALDOperator op
The operator associated with this frame.


operatorParameterPanel

protected ALDOperatorParameterPanel operatorParameterPanel
Panel where operator parameters are embedded.


pauseButton

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


runButton

protected javax.swing.JButton runButton
Run button.


status

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


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).


threadStatus

private ALDOperatorControlFrame.OpThreadStatus threadStatus
Current status of the operator execution thread.


titleString

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

Constructor Detail

ALDOperatorControlFrame

public ALDOperatorControlFrame(java.lang.String opName)
Default constructor.

Parameters:
opName - Name of associated operator.
Method Detail

actionPerformed

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

addButtonPanel

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


addParamConfigPanel

protected void addParamConfigPanel()
Adds operator parameter configuration panel to input panel.


generateHelpMenu

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

Returns:
Generated help menu.

itemStateChanged

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

setStatus

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

Parameters:
msg - Message to be shown in statusbar.

setupWindow

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