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.event.ActionListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, ChangeListener
Direct Known Subclasses:
CaseGraphFrame, CaseGraphFrame, NavigableActorGraphFrame

public class ActorGraphFrame
extends ExtendedGraphFrame
implements java.awt.event.ActionListener

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 57040 2010-01-27 20:52:32Z cxh $
Author:
Steve Neuendorffer, Contributor: Edward A. Lee
See Also:
ActorEditorGraphController, Serialized Form
Accepted Rating:
Red (johnr)
Proposed Rating:
Red (neuendor)

Nested Class Summary
private  class ActorGraphFrame.CreateHierarchyAction
          Action to create a typed composite actor that contains the the selected actors.
 class ActorGraphFrame.DebugMenuListener
          Listener for debug menu commands.
private  class ActorGraphFrame.ImportLibraryAction
          An action to import a library of components.
private  class ActorGraphFrame.InstantiateAttributeAction
          An action to instantiate an entity given a class name.
private  class ActorGraphFrame.InstantiateEntityAction
          An action to instantiate an entity given a class name.
private  class ActorGraphFrame.LayoutAction
          Action to automatically lay out the graph.
private  class ActorGraphFrame.SaveInLibraryAction
          An action to save the current model in a library.
 
Nested classes/interfaces inherited from class ptolemy.vergil.basic.ExtendedGraphFrame
ExtendedGraphFrame.FullScreenAction
 
Nested classes/interfaces inherited from class ptolemy.vergil.basic.BasicGraphFrame
BasicGraphFrame.CopyAction, BasicGraphFrame.CutAction, BasicGraphFrame.EditPreferencesAction, BasicGraphFrame.MoveToBackAction, BasicGraphFrame.MoveToFrontAction, BasicGraphFrame.PasteAction
 
Nested classes/interfaces inherited from class ptolemy.actor.gui.TableauFrame
TableauFrame.ExtensionFileFilter
 
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.
private  java.lang.String _lastAttributeClassName
          The most recent class name for instantiating an attribute.
private  long _lastDelayTime
           
private  java.lang.String _lastEntityClassName
          The most recent class name for instantiating an entity.
private  java.lang.String _lastLocation
          The most recent location for instantiating a class.
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, _defaultLibrary, _dropTarget, _editMenu, _editPreferencesAction, _exportPDFAction, _graphPanner, _jgraph, _library, _libraryContextMenuCreator, _libraryModel, _libraryScrollPane, _moveToBackAction, _moveToFrontAction, _openGraphFrames, _palettePane, _pasteAction, _rightComponent, _splitPane, _toolbar, _topLibrary, _zoomFitAction, _zoomInAction, _zoomOutAction, _zoomResetAction, BACKGROUND_COLOR, VERGIL_USER_LIBRARY_NAME
 
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 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  javax.swing.JMenuItem[] _createFileMenuItems()
          Create the items in the File menu.
protected  GraphPane _createGraphPane(NamedObj entity)
          Create a new graph pane.
protected  void _initActorGraphFrame()
          Initialize this class.
 void actionPerformed(java.awt.event.ActionEvent e)
          React to the actions specific to this actor graph frame.
 
Methods inherited from class ptolemy.vergil.basic.ExtendedGraphFrame
_initExtendedGraphFrame, cancelFullScreen, fullScreen
 
Methods inherited from class ptolemy.vergil.basic.BasicGraphFrame
_checkForImplied, _createDefaultLibrary, _createRightComponent, _createSizeAttribute, _deleteMoML, _exportDesignPattern, _finishExportDesignPattern, _getDirectory, _getGraphController, _getGraphModel, _getRightComponent, _getSelectionSet, _initBasicGraphFrame, _isDesignPattern, _prepareExportDesignPattern, _saveAsFileDialog, _setDirectory, _setDropIntoEnabled, _writeFile, changeExecuted, changeFailed, clearSelection, copy, createHierarchy, cut, delete, dispose, disposeSuper, expandAllLibraryRows, exportDesignPattern, getCenter, getGraphPanner, getJGraph, getSelectionSet, getVisibleCanvasRectangle, getVisibleRectangle, importDesignPattern, layoutGraph, layoutGraphWithPtolemyLayout, lostOwnership, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, mouseWheelMoved, openContainer, paste, print, redo, saveComponentInFile, saveComponentInLibrary, setCenter, setJGraph, undo, zoom, zoomFit, zoomReset
 
Methods inherited from class ptolemy.actor.gui.PtolemyFrame
_clear, _help, _print, _saveAs, getEffigy, getModel, setModel
 
Methods inherited from class ptolemy.actor.gui.TableauFrame
_about, _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
_getCurrentDirectory, _open, _openURL, _printCrossPlatform, _printNative, _printPDF, _queryForSave, 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, 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.


_lastAttributeClassName

private java.lang.String _lastAttributeClassName
The most recent class name for instantiating an attribute.


_lastEntityClassName

private java.lang.String _lastEntityClassName
The most recent class name for instantiating an entity.


_lastLocation

private java.lang.String _lastLocation
The most recent location for instantiating a class.


_lastDelayTime

private long _lastDelayTime
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

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
React to the actions specific to this actor graph frame.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - The action event.

_initActorGraphFrame

protected void _initActorGraphFrame()
Initialize this class. In this base class, the help file is set, and various actions are instantiated.


_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.

_createFileMenuItems

protected javax.swing.JMenuItem[] _createFileMenuItems()
Create the items in the File menu. A null element in the array represents a separator in the menu.

Overrides:
_createFileMenuItems in class BasicGraphFrame
Returns:
The items in the File menu.

_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.