org.apache.excalibur.instrument.client
Class InstrumentClientFrame

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 org.apache.excalibur.instrument.client.InstrumentClientFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, org.apache.avalon.framework.logger.LogEnabled, InstrumentManagerConnectionListener

 class InstrumentClientFrame
extends javax.swing.JFrame
implements InstrumentManagerConnectionListener, org.apache.avalon.framework.logger.LogEnabled

Since:
4.1
Version:
CVS $Revision: 1.4 $ $Date: 2004/02/28 11:47:23 $
Author:
Avalon Development Team

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
private  boolean m_antialias
           
private  InstrumentManagerConnection[] m_connectionArray
           
private  java.util.Map m_connections
           
private  javax.swing.JTabbedPane m_connectionsPane
           
private  java.io.File m_desktopFile
           
private  java.io.File m_desktopFileDir
           
private  javax.swing.JDesktopPane m_desktopPane
           
private  java.lang.Thread m_hook
          Shutdown hook
private  org.apache.avalon.framework.logger.Logger m_logger
           
private  MenuBar m_menuBar
           
private  javax.swing.JSplitPane m_splitPane
           
private  StatusBar m_statusBar
           
private  java.lang.String m_title
           
protected static java.lang.String MEDIA_PATH
           
(package private) static java.lang.String SHUTDOWN_HOOK_NAME
           
 
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
InstrumentClientFrame(java.lang.String title)
          Creates a new InstrumentClient frame.
 
Method Summary
(package private)  void closeAllFrames()
           
 void closed(InstrumentManagerConnection connection)
          Called when the connection is closed.
private  InstrumentManagerConnection createConnection(java.net.URL url)
          Creates an registers a new InstrumentManagerConnection.
 void deleted(InstrumentManagerConnection connection)
          Called when the connection is deleted.
 void enableLogging(org.apache.avalon.framework.logger.Logger logger)
           
(package private)  void fileExit()
          File-Exit callback.
(package private)  void fileNew()
          File->New callback.
(package private)  void fileOpen()
          File->Open callback.
(package private)  void fileSave()
           
(package private)  void fileSaveAs()
           
(package private)  InstrumentManagerConnection getConnection(java.net.URL url)
           
(package private)  InstrumentManagerConnection[] getConnections()
           
(package private)  javax.swing.JDesktopPane getDesktopPane()
           
(package private)  org.apache.avalon.framework.logger.Logger getLogger()
           
(package private)  javax.swing.JInternalFrame[] getOpenFrames()
          Get a list with all open frames.
private  void init()
           
 void initialize()
           
(package private)  boolean isAntialias()
           
(package private)  void loadStateFromConfiguration(org.apache.avalon.framework.configuration.Configuration state, boolean showErrorDialog)
          Loads the Instrument Client state from the specified Configuration.
(package private)  void loadStateFromFile(java.io.File stateFile, boolean showErrorDialog)
          Loads the Instrument Client state from the specified file.
(package private)  void loadStateFromStream(java.io.InputStream is, boolean showErrorDialog)
          Loads the Instrument Client state from the specified stream.
 void opened(InstrumentManagerConnection connection)
          Called when the connection is opened.
(package private)  void reorganizeFrames(int rows, int cols, javax.swing.JInternalFrame[] frames)
          Reorganizes a list of internal frames to a specific number of rows and columns.
(package private)  org.apache.avalon.framework.configuration.Configuration saveStateToConfiguration()
          Returns the Instrument Manager's state as a Configuration object.
(package private)  void saveStateToFile(java.io.File stateFile)
          Saves the Instrument Client's state to the specified file.
(package private)  void saveStateToStream(java.io.OutputStream os)
          Saves the Instrument Client's state to the specified output stream.
(package private)  void setAntialias(boolean antialias)
           
(package private)  void setDefaultStateFile(java.io.File defaultStateFile)
          Stores the default state file name and attempts to load it if it exists.
(package private)  void setStatusMessage(java.lang.String message)
           
(package private)  void showConnectDialog()
           
private  void showErrorDialog(java.lang.String message)
           
private  void showErrorDialog(java.lang.String message, java.lang.Throwable t)
           
private  void shutdown()
          Shutdown the InstrumentClient.
(package private)  void tileFrames()
          Tile all open frames
(package private)  void tileFramesH()
          Tiles all internal frames horizontally
(package private)  void tileFramesV()
          Tiles all internal frames vertically
(package private)  void updateConnectionTab(InstrumentManagerConnection connection)
           
private  void updateTitle()
           
 
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, 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, transferFocusBackward, 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

MEDIA_PATH

protected static final java.lang.String MEDIA_PATH
See Also:
Constant Field Values

SHUTDOWN_HOOK_NAME

static final java.lang.String SHUTDOWN_HOOK_NAME
See Also:
Constant Field Values

m_title

private java.lang.String m_title

m_connectionsPane

private javax.swing.JTabbedPane m_connectionsPane

m_desktopPane

private javax.swing.JDesktopPane m_desktopPane

m_splitPane

private javax.swing.JSplitPane m_splitPane

m_menuBar

private MenuBar m_menuBar

m_statusBar

private StatusBar m_statusBar

m_antialias

private boolean m_antialias

m_desktopFile

private java.io.File m_desktopFile

m_desktopFileDir

private java.io.File m_desktopFileDir

m_connections

private java.util.Map m_connections

m_connectionArray

private InstrumentManagerConnection[] m_connectionArray

m_hook

private java.lang.Thread m_hook
Shutdown hook


m_logger

private org.apache.avalon.framework.logger.Logger m_logger
Constructor Detail

InstrumentClientFrame

InstrumentClientFrame(java.lang.String title)
Creates a new InstrumentClient frame.

Parameters:
title - The title for the frame.
Method Detail

initialize

public void initialize()

opened

public void opened(InstrumentManagerConnection connection)
Called when the connection is opened. May be called more than once if the connection to the InstrumentManager is reopened.

Specified by:
opened in interface InstrumentManagerConnectionListener
Parameters:
connection - Connection which was opened.

closed

public void closed(InstrumentManagerConnection connection)
Called when the connection is closed. May be called more than once if the connection to the InstrumentManager is reopened.

Specified by:
closed in interface InstrumentManagerConnectionListener
Parameters:
connection - Connection which was closed.

deleted

public void deleted(InstrumentManagerConnection connection)
Called when the connection is deleted. All references should be removed.

Specified by:
deleted in interface InstrumentManagerConnectionListener
Parameters:
connection - Connection which was deleted.

enableLogging

public void enableLogging(org.apache.avalon.framework.logger.Logger logger)
Specified by:
enableLogging in interface org.apache.avalon.framework.logger.LogEnabled

getLogger

org.apache.avalon.framework.logger.Logger getLogger()

setDefaultStateFile

void setDefaultStateFile(java.io.File defaultStateFile)
Stores the default state file name and attempts to load it if it exists. Should onl be called at startup.

Parameters:
defaultStateFile - The default statefile which will be loaded on startup.

loadStateFromFile

void loadStateFromFile(java.io.File stateFile,
                       boolean showErrorDialog)
                 throws java.lang.Exception
Loads the Instrument Client state from the specified file.

Parameters:
stateFile - File to read the client's state from.
showErrorDialog - Controls whether an error dialog should be displayed or not.
Throws:
java.lang.Exception - if there are any problems loading the state.

loadStateFromStream

void loadStateFromStream(java.io.InputStream is,
                         boolean showErrorDialog)
                   throws java.lang.Exception
Loads the Instrument Client state from the specified stream.

Parameters:
is - Stream to read the instrument client's state from.
showErrorDialog - Controls whether an error dialog should be displayed or not.
Throws:
java.lang.Exception - if there are any problems loading the state.

loadStateFromConfiguration

void loadStateFromConfiguration(org.apache.avalon.framework.configuration.Configuration state,
                                boolean showErrorDialog)
                          throws org.apache.avalon.framework.configuration.ConfigurationException
Loads the Instrument Client state from the specified Configuration.

Parameters:
state - Configuration object to load the state from.
showErrorDialog - Controls whether an error dialog should be displayed or not.
Throws:
org.apache.avalon.framework.configuration.ConfigurationException - If there were any problems loading the state.

saveStateToFile

void saveStateToFile(java.io.File stateFile)
               throws java.lang.Exception
Saves the Instrument Client's state to the specified file. Any existing file is backed up before the save takes place and replaced in the event of an error.

Parameters:
stateFile - File to write the Instrument Client's state to.
Throws:
java.lang.Exception - if there are any problems saving the state.

saveStateToStream

void saveStateToStream(java.io.OutputStream os)
                 throws java.lang.Exception
Saves the Instrument Client's state to the specified output stream.

Parameters:
os - Stream to write the Instrument Client's state to.
Throws:
java.lang.Exception - if there are any problems saving the state.

saveStateToConfiguration

org.apache.avalon.framework.configuration.Configuration saveStateToConfiguration()
Returns the Instrument Manager's state as a Configuration object.

Returns:
The Instrument Manager's state as a Configuration object.

init

private void init()

isAntialias

boolean isAntialias()

setAntialias

void setAntialias(boolean antialias)

updateConnectionTab

void updateConnectionTab(InstrumentManagerConnection connection)

updateTitle

private void updateTitle()

setStatusMessage

void setStatusMessage(java.lang.String message)

getDesktopPane

javax.swing.JDesktopPane getDesktopPane()

closeAllFrames

void closeAllFrames()

tileFrames

void tileFrames()
Tile all open frames


getOpenFrames

javax.swing.JInternalFrame[] getOpenFrames()
Get a list with all open frames.

Returns:
Array of all open internal frames

reorganizeFrames

void reorganizeFrames(int rows,
                      int cols,
                      javax.swing.JInternalFrame[] frames)
Reorganizes a list of internal frames to a specific number of rows and columns.

Parameters:
rows - number of rows to use
cols - number of columns to use
frames - list with JInternalFrames

tileFramesH

void tileFramesH()
Tiles all internal frames horizontally


tileFramesV

void tileFramesV()
Tiles all internal frames vertically


getConnections

InstrumentManagerConnection[] getConnections()

getConnection

InstrumentManagerConnection getConnection(java.net.URL url)

showConnectDialog

void showConnectDialog()

createConnection

private InstrumentManagerConnection createConnection(java.net.URL url)
Creates an registers a new InstrumentManagerConnection. This method should never be called in the connection already exists. Caller must ensure that m_connections is synchronized.

Parameters:
url - URL of the connecton.
Returns:
The new InstrumentManagerConnection

showErrorDialog

private void showErrorDialog(java.lang.String message)

showErrorDialog

private void showErrorDialog(java.lang.String message,
                             java.lang.Throwable t)

shutdown

private void shutdown()
Shutdown the InstrumentClient.


fileNew

void fileNew()
File->New callback.


fileOpen

void fileOpen()
File->Open callback.


fileSave

void fileSave()

fileSaveAs

void fileSaveAs()

fileExit

void fileExit()
File-Exit callback.