ptolemy.actor.gui
Class PlotTableauFrame

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.gui.Top
                          extended by ptolemy.actor.gui.TableauFrame
                              extended by ptolemy.actor.gui.PlotTableauFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class PlotTableauFrame
extends TableauFrame
implements java.awt.print.Printable

PlotTableauFrame is a version of PlotFrame in the plot package that works more closely with the Ptolemy actor.gui infrastructure. In particular, the File menu commands will open Ptolemy models and HTML files, not just PlotML files. It contains an instance of PlotBox. If not specified in the constructor, the default is to contain a Plot object, where Plot extends PlotBox. This field is set once in the constructor and immutable afterwards.

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

Nested Class Summary
(package private) static class PlotTableauFrame.EPSFileFilter
          Display only .eps files.
private  class PlotTableauFrame.FormatAction
          Action to format the plot.
(package private)  class PlotTableauFrame.SpecialMenuListener
           
 
Nested classes/interfaces inherited from class ptolemy.actor.gui.TableauFrame
TableauFrame.ExtensionFileFilter, TableauFrame.ViewMenuListener
 
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  java.io.File _directory
          Directory that contains the input file.
protected  javax.swing.JMenu _editMenu
          Edit menu for this frame.
protected  java.io.File _file
          The input file.
protected  javax.swing.JMenu _specialMenu
          Special menu for this frame.
 PlotBox plot
          The plot object held by this frame.
 
Fields inherited from class ptolemy.actor.gui.TableauFrame
_initialSaveAsFileName, _viewMenu, aboutFile, helpFile
 
Fields inherited from class ptolemy.gui.Top
_CANCELED, _DISCARDED, _FAILED, _fileFilter, _fileMenu, _fileMenuItems, _helpMenu, _helpMenuItems, _menubar, _SAVED, _statusBar
 
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 java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
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
PlotTableauFrame()
          Construct a plot frame with a default title and by default contains an instance of Plot.
PlotTableauFrame(Tableau tableau)
          Construct a plot frame in the corresponding Tableau with the specified instance of PlotBox.
PlotTableauFrame(Tableau tableau, PlotBox plotBox)
          Construct a plot frame with the specified title and by default contains an instance of Plot.
PlotTableauFrame(Tableau tableau, PlotBox plotBox, Placeable placeable)
          Construct a plot frame with the specified title and by default contains an instance of Plot.
 
Method Summary
protected  void _addMenus()
          Create the menus that are used by this frame.
protected  boolean _clear()
          Clear the current plot.
protected  void _editFormat()
          Interactively edit the file format in a modal dialog.
protected  void _export()
          Query the user for a filename and export the plot to that file.
protected  void _help()
          Display more detailed information than given by _about().
protected  void _writeFile(java.io.File file)
          Write the plot to the specified file in PlotML syntax.
 int print(java.awt.Graphics graphics, java.awt.print.PageFormat format, int index)
          Print the plot to a printer, which is represented by the specified graphics object.
 void samplePlot()
          Create a sample plot.
 
Methods inherited from class ptolemy.actor.gui.TableauFrame
_about, _close, _confirmFile, _exit, _getDefaultIconImage, _getName, _read, _save, _saveAs, _saveAs, _saveAsHelper, getAlternateTopPack, getConfiguration, getDirectory, getEffigy, getEffigy, getTableau, isModified, pack, printPDF, setModified, setTableau
 
Methods inherited from class ptolemy.gui.Top
_createFileMenuItems, _getCurrentDirectory, _open, _openURL, _print, _printCrossPlatform, _printNative, _printPDF, _queryForSave, _saveAsFileDialog, centerOnScreen, close, deferIfNecessary, getCentering, hideMenuBar, isMenuPopulated, report, report, report, setBackground, setCentering, setDirectory, show
 
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, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, 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, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, 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

plot

public final PlotBox plot
The plot object held by this frame.


_editMenu

protected javax.swing.JMenu _editMenu
Edit menu for this frame.


_specialMenu

protected javax.swing.JMenu _specialMenu
Special menu for this frame.


_directory

protected java.io.File _directory
Directory that contains the input file.


_file

protected java.io.File _file
The input file.

Constructor Detail

PlotTableauFrame

public PlotTableauFrame()
Construct a plot frame with a default title and by default contains an instance of Plot. After constructing this, it is necessary to call setVisible(true) to make the plot appear.


PlotTableauFrame

public PlotTableauFrame(Tableau tableau)
Construct a plot frame in the corresponding Tableau with the specified instance of PlotBox. After constructing this, it is necessary to call setVisible(true) to make the plot appear.

Parameters:
tableau - The tableau where the window is placed

PlotTableauFrame

public PlotTableauFrame(Tableau tableau,
                        PlotBox plotBox)
Construct a plot frame with the specified title and by default contains an instance of Plot. After constructing this, it is necessary to call setVisible(true) to make the plot appear.

Parameters:
tableau - The tableau where the window is placed.
plotBox - the plot object to put in the frame, or null to create an instance of Plot.

PlotTableauFrame

public PlotTableauFrame(Tableau tableau,
                        PlotBox plotBox,
                        Placeable placeable)
Construct a plot frame with the specified title and by default contains an instance of Plot. After constructing this, it is necessary to call setVisible(true) to make the plot appear.

Parameters:
tableau - The tableau where the window is placed.
plotBox - the plot object to put in the frame, or null to create an instance of Plot.
placeable - The associated plot actor, or null if none.
Method Detail

print

public int print(java.awt.Graphics graphics,
                 java.awt.print.PageFormat format,
                 int index)
          throws java.awt.print.PrinterException
Print the plot to a printer, which is represented by the specified graphics object.

Specified by:
print in interface java.awt.print.Printable
Parameters:
graphics - The context into which the page is drawn.
format - The size and orientation of the page being drawn.
index - The zero based index of the page to be drawn.
Returns:
PAGE_EXISTS if the page is rendered successfully, or NO_SUCH_PAGE if pageIndex specifies a non-existent page.
Throws:
java.awt.print.PrinterException - If the print job is terminated.

samplePlot

public void samplePlot()
Create a sample plot.


_addMenus

protected void _addMenus()
Create the menus that are used by this frame.

Overrides:
_addMenus in class TableauFrame

_clear

protected boolean _clear()
Clear the current plot. This class checks to see whether the contents have been modified, and if so, then prompts the user to save them. A return value of false indicates that the user has canceled the action.

Overrides:
_clear in class Top
Returns:
False if the user cancels the clear.

_editFormat

protected void _editFormat()
Interactively edit the file format in a modal dialog.


_export

protected void _export()
Query the user for a filename and export the plot to that file. Currently, the only supported format is EPS.


_help

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

Overrides:
_help in class TableauFrame
See Also:
FileParameter

_writeFile

protected void _writeFile(java.io.File file)
                   throws java.io.IOException
Write the plot to the specified file in PlotML syntax.

Overrides:
_writeFile in class TableauFrame
Parameters:
file - The file to which to write.
Throws:
java.io.IOException - If the write fails.