ptolemy.actor.gui
Class ModelFrame

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.PtolemyFrame
                                  extended by ptolemy.actor.gui.ModelFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, ExecutionListener
Direct Known Subclasses:
RunTableau.RunFrame

public class ModelFrame
extends PtolemyFrame
implements ExecutionListener

ModelFrame is a top-level window containing a Ptolemy II model control panel. It contains a ModelPane, and has a menu bar and a status bar for message reporting. This class is intended to be used with composite actors, which are executable models.

Since:
Ptolemy II 0.4
Version:
$Id: ModelFrame.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Edward A. Lee
See Also:
ModelPane, Serialized Form
Accepted Rating:
Yellow (janneck)
Proposed Rating:
Green (eal)

Nested Class Summary
 
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
private  ModelPane _pane
           
private  Manager.State _previousState
           
 
Fields inherited from class ptolemy.actor.gui.PtolemyFrame
_query
 
Fields inherited from class ptolemy.actor.gui.TableauFrame
_initialSaveAsFileName, _viewMenu, aboutFile, helpFile
 
Fields inherited from class ptolemy.gui.Top
_CANCELED, _directory, _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 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
ModelFrame(CompositeActor model)
          Construct a frame to control the specified Ptolemy II model.
ModelFrame(CompositeActor model, Tableau tableau)
          Construct a frame to control the specified Ptolemy II model.
ModelFrame(CompositeActor model, Tableau tableau, ModelPane pane)
          Construct a frame to control the specified Ptolemy II model.
 
Method Summary
protected  boolean _clear()
          Clear the current contents.
protected  boolean _close()
          Close the window.
protected  void _help()
          Display more detailed information than given by _about().
 void executionError(Manager manager, java.lang.Throwable throwable)
          Report that an execution error has occurred.
 void executionFinished(Manager manager)
          Report that execution of the model has finished.
 void managerStateChanged(Manager manager)
          Report that a manager state has changed.
 ModelPane modelPane()
          Return the container into which to place placeable objects.
 void setBackground(java.awt.Color background)
          Set background color.
 void setModel(CompositeActor model)
          Set the associated model.
 
Methods inherited from class ptolemy.actor.gui.PtolemyFrame
_print, _saveAs, _saveAsFileDialog, _writeFile, expandAllLibraryRows, getEffigy, getModel, setModel
 
Methods inherited from class ptolemy.actor.gui.TableauFrame
_about, _addMenus, _confirmFile, _exit, _getDefaultIconImage, _getName, _read, _save, _saveAs, _saveAsHelper, getAlternateTopPack, getConfiguration, getDirectory, getEffigy, getTableau, isModified, pack, printPDF, setModified, setTableau
 
Methods inherited from class ptolemy.gui.Top
_createFileMenuItems, _getCurrentDirectory, _open, _openURL, _printCrossPlatform, _printNative, _printPDF, _queryForSave, centerOnScreen, close, deferIfNecessary, getCentering, hideMenuBar, isMenuPopulated, report, report, report, 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

_pane

private ModelPane _pane

_previousState

private Manager.State _previousState
Constructor Detail

ModelFrame

public ModelFrame(CompositeActor model)
Construct a frame to control the specified Ptolemy II model. After constructing this, it is necessary to call setVisible(true) to make the frame appear. This creates an instance of ModelPane and puts it in a top-level window. This is typically done by calling show() on the controlling tableau.

Parameters:
model - The model to put in this frame, or null if none.
See Also:
ModelPane, Tableau.show(), ModelPane

ModelFrame

public ModelFrame(CompositeActor model,
                  Tableau tableau)
Construct a frame to control the specified Ptolemy II model. After constructing this, it is necessary to call setVisible(true) to make the frame appear. This creates an instance of ModelPane and puts it in a top-level window. This is typically done by calling show() on the controlling tableau.

Parameters:
model - The model to put in this frame, or null if none.
tableau - The tableau responsible for this frame, or null if none.
See Also:
ModelPane, Tableau.show()

ModelFrame

public ModelFrame(CompositeActor model,
                  Tableau tableau,
                  ModelPane pane)
Construct a frame to control the specified Ptolemy II model. After constructing this, it is necessary to call setVisible(true) to make the frame appear. This creates an instance of ModelPane and puts it in a top-level window.

Parameters:
model - The model to put in this frame, or null if none.
tableau - The tableau responsible for this frame, or null if none.
pane - The model pane to place inside the frame.
See Also:
ModelPane, Tableau.show()
Method Detail

executionError

public void executionError(Manager manager,
                           java.lang.Throwable throwable)
Report that an execution error has occurred. This method is called by the specified manager.

Specified by:
executionError in interface ExecutionListener
Parameters:
manager - The manager calling this method.
throwable - The throwable being reported.

executionFinished

public void executionFinished(Manager manager)
Report that execution of the model has finished.

Specified by:
executionFinished in interface ExecutionListener
Parameters:
manager - The manager calling this method.

managerStateChanged

public void managerStateChanged(Manager manager)
Report that a manager state has changed. This method is called by the specified manager.

Specified by:
managerStateChanged in interface ExecutionListener
Parameters:
manager - The manager calling this method.
See Also:
Manager.getState()

modelPane

public ModelPane modelPane()
Return the container into which to place placeable objects. These are objects in a Ptolemy II model that have their own user interface, such as plotters.

Returns:
A container for graphical displays.

setBackground

public void setBackground(java.awt.Color background)
Set background color. This overrides the base class to set the background of the contained ModelPane.

Overrides:
setBackground in class Top
Parameters:
background - The background color.

setModel

public void setModel(CompositeActor model)
Set the associated model. This overrides the base class to add this object as an execution listener to the manager, if there is one.

Parameters:
model - The associated model.

_clear

protected boolean _clear()
Clear the current contents. First, check to see whether the contents have been modified, and if so, then prompt the user to save them. A return value of false indicates that the user has canceled the action. Then, if the user does not cancel, replace the model with a new, blank composite actor.

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

_close

protected boolean _close()
Close the window. Override the base class to remove the execution listener from the manager, and to notify the contained ModelPane.

Overrides:
_close in class PtolemyFrame
Returns:
False if the user cancels on a save query.

_help

protected void _help()
Display more detailed information than given by _about(). This class displays information contained by Documentation attributes in the associated model.

Overrides:
_help in class PtolemyFrame
See Also:
Documentation