rcUserInterface
Class rcGui

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--rcUserInterface.rcGui

public class rcGui
extends javax.swing.JFrame
implements java.lang.Runnable

Top level class of the run control GUI. It contains the various subsections as private data members. Currently there are three areas:
1. a text area at the top where the global snapshot is displayed.
2. a panel where buttons display the status of the various process stages
3. a buttom panel, where we have the download/start-stop buttons
and looks like this:

Version:
July 10, 99
Author:
C.Witzig
See Also:
Serialized Form

Inner Class Summary
(package private)  class rcGui.MyWindowListener
          When we close the GUI window we call exit and terminate all threads
 
Inner classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  boolean bDebug
           
private  int iHowManyTimes
           
(package private) static int iUpdateFrequency
          How long we wait between updates in milliseconds
(package private) static int nMaxSecWaitStartup
          How long to we keep trying at startup time until we succeed getting a valid connection to the run control corba server
private  rcProgressBar pbDownload
           
private  rcButtonGridPanel prstPanel
           
private  java.lang.String sPartitionId
          The unique id of the partition
private  rcTextArea textArea
           
private  java.lang.Thread thDownload
           
private  rcButtonPanel theButtonPanel
           
private  rcMenu theMenu
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, defaultCloseOperation, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
base, CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, frameSerializedDataVersion, HAND_CURSOR, icon, ICONIFIED, mbManagement, menuBar, MOVE_CURSOR, N_RESIZE_CURSOR, nameCounter, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, ownedWindows, resizable, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, serialVersionUID, state, SW_RESIZE_CURSOR, TEXT_CURSOR, title, W_RESIZE_CURSOR, WAIT_CURSOR, weakThis
 
Fields inherited from class java.awt.Window
active, base, focusMgr, inputContext, nameCounter, OPENED, ownedWindowList, serialVersionUID, state, warningString, weakThis, windowListener, windowSerializedDataVersion
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
rcGui(java.lang.String thePartitionId)
          Constructor of the GUI which the partition Id as only argument.
 
Method Summary
static void main(java.lang.String[] argv)
          Main function of the GUI.
 void run()
          Run routine of the runnable.
private  void startProgressBar(rcCmdStatus statusCmd)
          Checks whether the partition is waiting for a download.
private  void update()
          Update routine that is called in periodic intervals.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, createRootPaneException, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
, addNotify, addToFrameList, constructComponentName, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, initIDs, isResizable, postProcessKeyEvent, readObject, remove, removeFromFrameList, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle, writeObject
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, dispose, eventEnabled, getFocusOwner, getInputContext, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postWindowEvent, preProcessKeyEvent, processEvent, removeOwnedWindow, removeWindowListener, setFocusOwner, setWarningString, show, toBack, toFront, transferFocus
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyOrientation, countComponents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, paint, paintComponents, postsOldMouseEvents, preferredSize, print, printComponents, printOneComponent, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

iUpdateFrequency

static final int iUpdateFrequency
How long we wait between updates in milliseconds

nMaxSecWaitStartup

static final int nMaxSecWaitStartup
How long to we keep trying at startup time until we succeed getting a valid connection to the run control corba server

sPartitionId

private java.lang.String sPartitionId
The unique id of the partition

theMenu

private rcMenu theMenu

textArea

private rcTextArea textArea

prstPanel

private rcButtonGridPanel prstPanel

theButtonPanel

private rcButtonPanel theButtonPanel

pbDownload

private rcProgressBar pbDownload

thDownload

private java.lang.Thread thDownload

bDebug

private boolean bDebug

iHowManyTimes

private int iHowManyTimes
Constructor Detail

rcGui

public rcGui(java.lang.String thePartitionId)
Constructor of the GUI which the partition Id as only argument. The partition id is the unique identifier that the user enters when starting the run control (script daq_start.sh). It creates all the relevant panels of the GUI.
Method Detail

startProgressBar

private void startProgressBar(rcCmdStatus statusCmd)
Checks whether the partition is waiting for a download. If so start the progress bar if it hasn't been started yet. Note: A separate progress bar is started for the initialisation and the download operation.

update

private void update()
             throws java.lang.Exception
Update routine that is called in periodic intervals. In turn calls the update routines on the various subclasses of the rcGui.

run

public void run()
Run routine of the runnable. We enter an endless do-loop and call update until an exception occurs leading to an end of the thread.
Specified by:
run in interface java.lang.Runnable

main

public static void main(java.lang.String[] argv)
Main function of the GUI. It selects the partition to which the GUI attaches and tries to connect for a nMaxSecWaitStartup seconds. If it succeeds the GUI will be created in a thread on its own.