ptolemy.vergil.fsm
Class CaseGraphFrame

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
                                              extended by ptolemy.vergil.fsm.CaseGraphFrame
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

public class CaseGraphFrame
extends ActorGraphFrame
implements javax.swing.event.ChangeListener

This is a graph editor frame for ptolemy case models.

Since:
Ptolemy II 5.2
Version:
$Id: CaseGraphFrame.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Edward A. Lee
See Also:
Serialized Form
Accepted Rating:
Red (johnr)
Proposed Rating:
Yellow (eal)

Nested Class Summary
 class CaseGraphFrame.AddCaseAction
          Class implementing the Add Case menu command.
 class CaseGraphFrame.CaseGraphController
          Specialized graph controller that handles multiple graph models.
 class CaseGraphFrame.RemoveCaseAction
          Class implementing the Remove Case menu command.
 
Nested classes/interfaces inherited from class ptolemy.vergil.actor.ActorGraphFrame
ActorGraphFrame.DebugMenuListener
 
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
private  CaseGraphFrame.AddCaseAction _addCaseAction
          The action to add a case.
private  Case _case
          The Case actor displayed by this frame.
protected  javax.swing.JMenu _caseMenu
          The case menu.
private  CaseGraphFrame.RemoveCaseAction _removeCaseAction
          The action to remove a case.
private  javax.swing.JTabbedPane _tabbedPane
          The tabbed pane for cases.
 
Fields inherited from class ptolemy.vergil.actor.ActorGraphFrame
_controller, _createHierarchyAction, _debugMenu, _graphMenu, _importLibraryAction, _instantiateAttributeAction, _instantiateEntityAction, _layoutAction, _saveInLibraryAction
 
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
CaseGraphFrame(Case entity, Tableau tableau)
          Construct a frame associated with the specified case actor.
CaseGraphFrame(Case entity, Tableau tableau, LibraryAttribute defaultLibrary)
          Construct a frame associated with the specified case actor.
 
Method Summary
protected  void _addMenus()
          Create the menus that are used by this frame.
private  JGraph _addTabbedPane(Refinement refinement, boolean newPane)
          Add a tabbed pane for the specified case.
protected  GraphPane _createGraphPane(NamedObj entity)
          Create a new graph pane.
protected  javax.swing.JComponent _createRightComponent(NamedObj entity)
          Create the component that goes to the right of the library.
 void openContainer()
          Open the container, if any, of the entity.
 void stateChanged(javax.swing.event.ChangeEvent event)
          React to a change in the state of the tabbed pane.
 
Methods inherited from class ptolemy.vergil.actor.ActorGraphFrame
_close, _createFileMenuItems, _initActorGraphFrame, actionPerformed
 
Methods inherited from class ptolemy.vergil.basic.ExtendedGraphFrame
_initExtendedGraphFrame, cancelFullScreen, fullScreen
 
Methods inherited from class ptolemy.vergil.basic.BasicGraphFrame
_checkForImplied, _createDefaultLibrary, _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, 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

_caseMenu

protected javax.swing.JMenu _caseMenu
The case menu.


_addCaseAction

private CaseGraphFrame.AddCaseAction _addCaseAction
The action to add a case.


_case

private Case _case
The Case actor displayed by this frame.


_removeCaseAction

private CaseGraphFrame.RemoveCaseAction _removeCaseAction
The action to remove a case.


_tabbedPane

private javax.swing.JTabbedPane _tabbedPane
The tabbed pane for cases.

Constructor Detail

CaseGraphFrame

public CaseGraphFrame(Case entity,
                      Tableau tableau)
Construct a frame associated with the specified case actor. 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()

CaseGraphFrame

public CaseGraphFrame(Case entity,
                      Tableau tableau,
                      LibraryAttribute defaultLibrary)
Construct a frame associated with the specified case actor. 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

openContainer

public void openContainer()
Open the container, if any, of the entity. If this entity has no container, then do nothing.

Overrides:
openContainer in class BasicGraphFrame

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent event)
React to a change in the state of the tabbed pane.

Parameters:
event - The event.

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

_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. This overrides the base class to create a specialized graph controller (an inner class).

Overrides:
_createGraphPane in class ActorGraphFrame
Parameters:
entity - The object to be displayed in the pane.
Returns:
The pane that is created.

_createRightComponent

protected javax.swing.JComponent _createRightComponent(NamedObj entity)
Create the component that goes to the right of the library. NOTE: This is called in the base class constructor, before things have been initialized. Hence, it cannot reference local variables.

Overrides:
_createRightComponent in class BasicGraphFrame
Parameters:
entity - The entity to display in the component.
Returns:
The component that goes to the right of the library.

_addTabbedPane

private JGraph _addTabbedPane(Refinement refinement,
                              boolean newPane)
Add a tabbed pane for the specified case.

Parameters:
refinement - The case.
newPane - True to add the pane prior to the last pane.
Returns:
The pane.