edu.jhu.ece.iacl.jist.pipeline.gui
Class ProcessManager

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 edu.jhu.ece.iacl.jist.pipeline.gui.ProcessManager
All Implemented Interfaces:
JistPreferences.PreferenceListener, java.awt.event.ActionListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class ProcessManager
extends javax.swing.JFrame
implements java.lang.Runnable, java.awt.event.ActionListener, java.awt.event.WindowListener, JistPreferences.PreferenceListener

Process manager GUI to manage the execution of experiments.

Author:
Blake Lucas (bclucas@jhu.edu)
See Also:
Serialized Form

Nested Class Summary
protected  class ProcessManager.LoadLayout
          Worker to load layout.
 
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
 ProcessInfoPanel ancestorsPane
          The ancestors pane.
 ProcessInfoPanel descendantsPane
          The descendants pane.
protected  boolean exitOnClose
          The exit on close.
protected  long lastModifiedLayoutTime
           
protected  boolean lastModifiedLock
           
protected static ProcessManager manager
          The manager.
 ProcessManagerTable managerPane
          The manager pane.
protected  boolean managerVisible
           
protected static java.io.PrintStream[] streams
          The streams.
protected  boolean useWorker
           
 
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
ProcessManager()
          Default constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent evt)
           
 void cleanAllQuietly(PipeLayout layout)
           
 void close()
          Close process manager and clean up resources.
 javax.swing.JMenuBar createMenuBar()
          Create menubar.
 void forceQuit()
           
static ProcessManager getInstance()
          Get singleton reference.
 void historyChange(JistPreferences prefs)
          Update menus if history changed.
 void initScheduler(PipeLayout layout)
          Initlaize manager.
 boolean isUsingWorker()
           
 void load(PipeLayout layout)
          Load layout.
static void main(java.lang.String[] args)
          The main method.
 void open()
          Open layout from file.
 void open(java.io.File f)
          Open specified layout file.
 void processDestinations()
           
 boolean quit()
           
 boolean quit(boolean forceQuit)
          Quit process manager.
 void run()
          Main process manager thread.
 void run(java.io.File f)
           
 void run(PipeLayout layout, boolean outOfProcessOverride)
           
 boolean runAndWait(PipeLayout layout, boolean outOfProcessOverride)
           
 void setCloseOnlyOnExit(boolean flag)
           
 void setExitOnClose(boolean exitOnClose)
          Set true if process manager should exit when closed.
 void setShowManager(boolean vis)
           
 void setUseWorker(boolean useWorker)
           
 void updateStatusBar()
          Update status bar.
 void windowActivated(java.awt.event.WindowEvent arg0)
           
 void windowClosed(java.awt.event.WindowEvent arg0)
           
 void windowClosing(java.awt.event.WindowEvent arg0)
          Create toolbar to manipulate graph.
 void windowDeactivated(java.awt.event.WindowEvent arg0)
           
 void windowDeiconified(java.awt.event.WindowEvent arg0)
           
 void windowIconified(java.awt.event.WindowEvent arg0)
           
 void windowOpened(java.awt.event.WindowEvent arg0)
           
 
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

useWorker

protected boolean useWorker

managerVisible

protected boolean managerVisible

manager

protected static ProcessManager manager
The manager.


streams

protected static java.io.PrintStream[] streams
The streams.


managerPane

public ProcessManagerTable managerPane
The manager pane.


ancestorsPane

public ProcessInfoPanel ancestorsPane
The ancestors pane.


descendantsPane

public ProcessInfoPanel descendantsPane
The descendants pane.


exitOnClose

protected boolean exitOnClose
The exit on close.


lastModifiedLayoutTime

protected long lastModifiedLayoutTime

lastModifiedLock

protected boolean lastModifiedLock
Constructor Detail

ProcessManager

public ProcessManager()
Default constructor.

Method Detail

isUsingWorker

public boolean isUsingWorker()

setShowManager

public void setShowManager(boolean vis)

setUseWorker

public void setUseWorker(boolean useWorker)

getInstance

public static ProcessManager getInstance()
Get singleton reference.

Returns:
process manager

main

public static void main(java.lang.String[] args)
The main method.

Parameters:
args - the arguments

run

public void run(java.io.File f)

runAndWait

public boolean runAndWait(PipeLayout layout,
                          boolean outOfProcessOverride)

forceQuit

public void forceQuit()

run

public void run(PipeLayout layout,
                boolean outOfProcessOverride)

actionPerformed

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

close

public void close()
Close process manager and clean up resources.


createMenuBar

public javax.swing.JMenuBar createMenuBar()
Create menubar.

Returns:
the j menu bar

historyChange

public void historyChange(JistPreferences prefs)
Update menus if history changed.

Specified by:
historyChange in interface JistPreferences.PreferenceListener
Parameters:
prefs - the prefs

initScheduler

public void initScheduler(PipeLayout layout)
Initlaize manager.


load

public void load(PipeLayout layout)
Load layout.

Parameters:
layout - layout

open

public void open()
Open layout from file.


open

public void open(java.io.File f)
Open specified layout file.

Parameters:
f - file

quit

public boolean quit()

quit

public boolean quit(boolean forceQuit)
Quit process manager.

Returns:
true, if quit

run

public void run()
Main process manager thread.

Specified by:
run in interface java.lang.Runnable

setExitOnClose

public void setExitOnClose(boolean exitOnClose)
Set true if process manager should exit when closed.

Parameters:
exitOnClose - true if exit on close

updateStatusBar

public void updateStatusBar()
Update status bar.


windowActivated

public void windowActivated(java.awt.event.WindowEvent arg0)
Specified by:
windowActivated in interface java.awt.event.WindowListener

windowClosed

public void windowClosed(java.awt.event.WindowEvent arg0)
Specified by:
windowClosed in interface java.awt.event.WindowListener

windowClosing

public void windowClosing(java.awt.event.WindowEvent arg0)
Create toolbar to manipulate graph.

Specified by:
windowClosing in interface java.awt.event.WindowListener
Parameters:
arg0 - the arg0

windowDeactivated

public void windowDeactivated(java.awt.event.WindowEvent arg0)
Specified by:
windowDeactivated in interface java.awt.event.WindowListener

windowDeiconified

public void windowDeiconified(java.awt.event.WindowEvent arg0)
Specified by:
windowDeiconified in interface java.awt.event.WindowListener

windowIconified

public void windowIconified(java.awt.event.WindowEvent arg0)
Specified by:
windowIconified in interface java.awt.event.WindowListener

windowOpened

public void windowOpened(java.awt.event.WindowEvent arg0)
Specified by:
windowOpened in interface java.awt.event.WindowListener

setCloseOnlyOnExit

public void setCloseOnlyOnExit(boolean flag)

cleanAllQuietly

public void cleanAllQuietly(PipeLayout layout)

processDestinations

public void processDestinations()