ptolemy.vergil.actor
Class ActorGraphFrame

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.vergil.basic.BasicGraphFrame
                                      extended by ptolemy.vergil.basic.ExtendedGraphFrame
                                          extended by ptolemy.vergil.actor.ActorGraphFrame
All Implemented Interfaces:
java.awt.datatransfer.ClipboardOwner, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, ChangeListener
Direct Known Subclasses:
CaseGraphFrame, NavigableActorGraphFrame

public class ActorGraphFrame
extends ExtendedGraphFrame

This is a graph editor frame for ptolemy models. Given a composite entity and an instance of ActorGraphTableau, it creates an editor and populates the menus and toolbar. This overrides the base class to associate with the editor an instance of ActorEditorGraphController.

Since:
Ptolemy II 2.0
Version:
$Id: ActorGraphFrame.java,v 1.65.4.2 2008/03/25 22:32:08 cxh Exp $
Author:
Steve Neuendorffer, Contributor: Edward A. Lee
See Also:
ActorEditorGraphController, Serialized Form
Accepted Rating:
Red (johnr)
Proposed Rating:
Red (neuendor)

Nested Class Summary
 class ActorGraphFrame.DebugMenuListener
          Listener for debug menu commands.
 
Nested classes/interfaces inherited from class ptolemy.vergil.basic.ExtendedGraphFrame
ExtendedGraphFrame.FullScreenAction
 
Nested classes/interfaces inherited from class ptolemy.vergil.basic.BasicGraphFrame
BasicGraphFrame.ZoomFitAction, BasicGraphFrame.ZoomInAction, BasicGraphFrame.ZoomOutAction, BasicGraphFrame.ZoomResetAction
 
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  ActorEditorGraphController _controller
          The graph controller.
protected  javax.swing.Action _createHierarchyAction
          The action for creating a level of hierarchy.
protected  javax.swing.JMenu _debugMenu
          Debug menu for this frame.
protected  javax.swing.JMenu _graphMenu
          The graph menu.
protected  javax.swing.Action _importLibraryAction
          The action for importing a library of components.
protected  javax.swing.Action _instantiateAttributeAction
          The action for instantiating an attribute.
protected  javax.swing.Action _instantiateEntityAction
          The action for instantiating an entity.
protected  javax.swing.Action _layoutAction
          The action for automatically laying out the graph.
protected  javax.swing.Action _saveInLibraryAction
          The action for saving the current model in a library.
 
Fields inherited from class ptolemy.vergil.basic.BasicGraphFrame
_copyAction, _cutAction, _editMenu, _editPreferencesAction, _graphPanner, _library, _libraryContextMenuCreator, _libraryModel, _libraryScrollPane, _moveToBackAction, _moveToFrontAction, _palettePane, _pasteAction, _splitPane, _toolbar, _topLibrary, BACKGROUND_COLOR, VERGIL_USER_LIBRARY_NAME
 
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 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
ActorGraphFrame(CompositeEntity entity, Tableau tableau)
          Construct a frame associated with the specified Ptolemy II model.
ActorGraphFrame(CompositeEntity entity, Tableau tableau, LibraryAttribute defaultLibrary)
          Construct a frame associated with the specified Ptolemy II model.
 
Method Summary
protected  void _addMenus()
          Create the menus that are used by this frame.
protected  boolean _close()
          If the ptolemy model associated with this frame is a top-level composite actor, use its manager to stop it.
protected  GraphPane _createGraphPane(NamedObj entity)
          Create a new graph pane.
 
Methods inherited from class ptolemy.vergil.basic.ExtendedGraphFrame
cancelFullScreen, fullScreen
 
Methods inherited from class ptolemy.vergil.basic.BasicGraphFrame
_checkForImplied, _createDefaultLibrary, _createRightComponent, _getDirectory, _getGraphController, _getGraphModel, _getRightComponent, _getSelectionSet, _setDirectory, _setDropIntoEnabled, _writeFile, changeExecuted, changeFailed, copy, createHierarchy, cut, delete, dispose, expandAllLibraryRows, getCenter, getJGraph, getVisibleCanvasRectangle, getVisibleRectangle, layoutGraph, lostOwnership, paste, print, redo, saveComponentInFile, saveComponentInLibrary, setCenter, setJGraph, undo, zoom, zoomFit, zoomReset
 
Methods inherited from class ptolemy.actor.gui.PtolemyFrame
_clear, _help, _print, _saveAs, _saveAsFileDialog, getModel, setModel
 
Methods inherited from class ptolemy.actor.gui.TableauFrame
_about, _confirmFile, _exit, _getDefaultIconImage, _getName, _read, _save, _saveAs, getConfiguration, getDirectory, getEffigy, getEffigy, getTableau, isModified, setModified, setTableau
 
Methods inherited from class ptolemy.gui.Top
_open, _openURL, _queryForSave, centerOnScreen, close, deferIfNecessary, getCentering, hideMenuBar, isMenuPopulated, pack, 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, 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

_controller

protected ActorEditorGraphController _controller
The graph controller. This is created in _createGraphPane().


_debugMenu

protected javax.swing.JMenu _debugMenu
Debug menu for this frame.


_graphMenu

protected javax.swing.JMenu _graphMenu
The graph menu.


_createHierarchyAction

protected javax.swing.Action _createHierarchyAction
The action for creating a level of hierarchy.


_layoutAction

protected javax.swing.Action _layoutAction
The action for automatically laying out the graph.


_saveInLibraryAction

protected javax.swing.Action _saveInLibraryAction
The action for saving the current model in a library.


_importLibraryAction

protected javax.swing.Action _importLibraryAction
The action for importing a library of components.


_instantiateAttributeAction

protected javax.swing.Action _instantiateAttributeAction
The action for instantiating an attribute.


_instantiateEntityAction

protected javax.swing.Action _instantiateEntityAction
The action for instantiating an entity.

Constructor Detail

ActorGraphFrame

public ActorGraphFrame(CompositeEntity entity,
                       Tableau tableau)
Construct a frame associated with the specified Ptolemy II model. After constructing this, it is necessary to call setVisible(true) to make the frame appear. This is typically done by calling show() on the controlling tableau. This constructor results in a graph frame that obtains its library either from the model (if it has one) or the default library defined in the configuration.

Parameters:
entity - The model to put in this frame.
tableau - The tableau responsible for this frame.
See Also:
Tableau.show()

ActorGraphFrame

public ActorGraphFrame(CompositeEntity entity,
                       Tableau tableau,
                       LibraryAttribute defaultLibrary)
Construct a frame associated with the specified Ptolemy II model. After constructing this, it is necessary to call setVisible(true) to make the frame appear. This is typically done by calling show() on the controlling tableau. This constructor results in a graph frame that obtains its library either from the model (if it has one), or the defaultLibrary argument (if it is non-null), or the default library defined in the configuration.

Parameters:
entity - The model to put in this frame.
tableau - The tableau responsible for this frame.
defaultLibrary - An attribute specifying the default library to use if the model does not have a library.
See Also:
Tableau.show()
Method Detail

_addMenus

protected void _addMenus()
Create the menus that are used by this frame. It is essential that _createGraphPane() be called before this.

Overrides:
_addMenus in class ExtendedGraphFrame

_close

protected boolean _close()
If the ptolemy model associated with this frame is a top-level composite actor, use its manager to stop it. Remove the listeners that this frame registered with the ptolemy model. Also remove the listeners our graph model has created.

Overrides:
_close in class BasicGraphFrame
Returns:
True if the close completes, and false otherwise.

_createGraphPane

protected GraphPane _createGraphPane(NamedObj entity)
Create a new graph pane. Note that this method is called in constructor of the base class, so it must be careful to not reference local variables that may not have yet been created.

Specified by:
_createGraphPane in class BasicGraphFrame
Parameters:
entity - The object to be displayed in the pane.
Returns:
The pane that is created.