ptolemy.plot
Class PlotApplication

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 ptolemy.plot.PlotFrame
                          extended by ptolemy.plot.PlotApplication
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Direct Known Subclasses:
PlotMLApplication, PxgraphApplication

public class PlotApplication
extends PlotFrame

PlotApplication is a versatile two-dimensional data plotter application. It can read files compatible with the Ptolemy plot file format (currently only ASCII). For a description of the file format, see the Plot and PlotBox classes. Command-line options include:

-help
Print the usage, including all command-line options that exist for backward compatibility and then exit. The help menu choice will display the same information.
-test
Display the plot, then exit after 2 seconds.
-version
Print the program version and then exit. While ptplot is running, the version menu choice will display the same information.
-
Read the plot data from standard in.

For compatibility with historical applications, this application has a limited ability to read pxgraph files. The command line arguments must be used, and the options that are understood are exactly those of the pxgraph application, plus some more to allow for cross-platform reading. It is not possible to read pxgraph files using the "Open" menu command (because of the cross-platform problems). The additional command-line arguments are:

-bigendian
Data files are in big-endian, or network binary format. If you are on a little-endian machine, such as a machine with an Intel x86 chip, and you would like to read a binary format file created on a big-endian machine, such as a Sun SPARC, use the -bigendian flag.
-littleendian
Data files are in little-endian, or x86 binary format. If you are on a big-endian machine, such as a Sun Sparc, and you would like to read a binary format file created on a little-endian machine, such as Intel x86 machine, then use the -littleendian flag.

To compile and run this application, do the following:

 javac -classpath ../.. PlotApplication.java
 java -classpath ../.. ptolemy.plot.PlotApplication
 

This assumes a particular directory structure. If this is not what you have, then alter the above accordingly.

Since:
Ptolemy II 0.2
Version:
$Id: PlotApplication.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Christopher Brooks and Edward A. Lee
See Also:
Plot, PlotBox, Serialized Form
Accepted Rating:
Yellow (cxh)
Proposed Rating:
Yellow (cxh)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.plot.PlotFrame
PlotFrame.EPSFileFilter, PlotFrame.FileMenuListener, PlotFrame.FormatListener, PlotFrame.PLTOrXMLFileFilter, PlotFrame.SpecialMenuListener
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected static boolean _printPDF
          If true, then print to PDF.
protected static boolean _test
          If true, then auto exit after a few seconds.
 
Fields inherited from class ptolemy.plot.PlotFrame
_directory, _editMenu, _file, _fileMenu, _menubar, _specialMenu, plot
 
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
PlotApplication()
          Construct a plot with no command-line arguments.
PlotApplication(PlotBox plot)
          Display the given plot.
PlotApplication(PlotBox plot, java.lang.String[] args)
          Construct a plot with the specified command-line arguments and instance of plot.
PlotApplication(java.lang.String[] args)
          Construct a plot with the specified command-line arguments.
 
Method Summary
protected  void _about()
           
protected  void _close()
          Exit the application.
protected  void _help()
          Display more detailed information than given by _about().
protected  int _parseArgs(java.lang.String[] args)
          Parse the command-line arguments and make calls to the Plot class accordingly.
protected  java.lang.String _usage()
          Return a string summarizing the command-line arguments.
static void main(java.lang.String[] args)
          Create a new plot window and map it to the screen.
 
Methods inherited from class ptolemy.plot.PlotFrame
_editFormat, _export, _open, _print, _printCrossPlatform, _printNative, _printPDF, _read, _save, _saveAs, samplePlot, setVisible
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, 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, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, 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, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

_printPDF

protected static boolean _printPDF
If true, then print to PDF.


_test

protected static boolean _test
If true, then auto exit after a few seconds.

Constructor Detail

PlotApplication

public PlotApplication()
                throws java.lang.Exception
Construct a plot with no command-line arguments. It initially displays a sample plot.

Throws:
java.lang.Exception - Not thrown in this base class.

PlotApplication

public PlotApplication(java.lang.String[] args)
                throws java.lang.Exception
Construct a plot with the specified command-line arguments.

Parameters:
args - The command-line arguments.
Throws:
java.lang.Exception - If command line arguments have problems.

PlotApplication

public PlotApplication(PlotBox plot,
                       java.lang.String[] args)
                throws java.lang.Exception
Construct a plot with the specified command-line arguments and instance of plot. If there are no command-line arguments, then display a sample plot.

Parameters:
plot - The instance of Plot to use.
args - The command-line arguments.
Throws:
java.lang.Exception - If command line arguments have problems.

PlotApplication

public PlotApplication(PlotBox plot)
Display the given plot. Unlike the two argument constructor, this does not take command-line arguments, and does not fill the plot with a sample plot.

Parameters:
plot - The instance of Plot to display.
Method Detail

main

public static void main(java.lang.String[] args)
Create a new plot window and map it to the screen.


_about

protected void _about()
Overrides:
_about in class PlotFrame

_close

protected void _close()
Exit the application.

Overrides:
_close in class PlotFrame

_help

protected void _help()
Display more detailed information than given by _about().

Overrides:
_help in class PlotFrame

_parseArgs

protected int _parseArgs(java.lang.String[] args)
                  throws CmdLineArgException,
                         java.io.FileNotFoundException,
                         java.io.IOException
Parse the command-line arguments and make calls to the Plot class accordingly.

Returns:
The number of arguments read.
Throws:
CmdLineArgException - If a command line argument cannot be parsed.
java.io.FileNotFoundException - If an input file cannot be found.
java.io.IOException - If there is a problem reading an input.

_usage

protected java.lang.String _usage()
Return a string summarizing the command-line arguments.

Returns:
A usage string.