Package ptolemy.vergil.modal
Class FSMGraphFrame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- ptolemy.gui.Top
-
- ptolemy.actor.gui.TableauFrame
-
- ptolemy.actor.gui.PtolemyFrame
-
- ptolemy.vergil.basic.BasicGraphFrame
-
- ptolemy.vergil.basic.ExtendedGraphFrame
-
- ptolemy.vergil.modal.FSMGraphFrame
-
- 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.event.WindowFocusListener
,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
,ImageExportable
,ChangeListener
,StatusHandler
,HTMLExportable
- Direct Known Subclasses:
FmvAutomatonGraphFrame
,InterfaceAutomatonGraphFrame
,PteraGraphFrame
public class FSMGraphFrame extends ExtendedGraphFrame implements java.awt.event.ActionListener
This is a graph editor frame for ptolemy FSM models. Given a composite entity and a tableau, it creates an editor and populates the menus and toolbar. This overrides the base class to associate with the editor an instance of FSMGraphController.- Since:
- Ptolemy II 8.0
- Version:
- $Id$
- Author:
- Steve Neuendorffer, Contributor: Edward A. Lee
- See Also:
- Serialized Form
- Pt.AcceptedRating:
- Red (johnr)
- Pt.ProposedRating:
- Red (neuendor)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
FSMGraphFrame.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.CopyAction, BasicGraphFrame.CutAction, BasicGraphFrame.EditPreferencesAction, BasicGraphFrame.ExportImageAction, BasicGraphFrame.FindAction, BasicGraphFrame.FolderFileFilter, BasicGraphFrame.MousePressedLayerAdapter, BasicGraphFrame.MoveToBackAction, BasicGraphFrame.MoveToFrontAction, BasicGraphFrame.PasteAction
-
Nested classes/interfaces inherited from class ptolemy.actor.gui.TableauFrame
TableauFrame.MenuItemListener
-
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description protected FSMGraphController
_controller
The controller.protected javax.swing.JMenu
_debugMenu
Debug menu for this frame.-
Fields inherited from class ptolemy.vergil.basic.BasicGraphFrame
_copyAction, _cutAction, _defaultLibrary, _dropTarget, _editMenu, _editPreferencesAction, _exportGIFAction, _exportHTMLAction, _exportPDFAction, _exportPNGAction, _findAction, _graphMenu, _graphPanner, _jgraph, _layoutAction, _layoutConfigDialogAction, _library, _libraryContextMenuCreator, _libraryModel, _libraryScrollPane, _moveToBackAction, _moveToFrontAction, _openGraphFrames, _palettePane, _pasteAction, _reloadAccessorsAction, _rightComponent, _splitPane, _toolbar, _topLibrary, _treeView, _treeViewModel, _treeViewScrollPane, _zoomFitAction, _zoomFlag, _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, _topPack, _viewMenu, aboutFile, helpFile
-
Fields inherited from class ptolemy.gui.Top
_CANCELED, _debugClosing, _directory, _DISCARDED, _exitResult, _EXPORT_MENU_INDEX, _FAILED, _fileFilter, _fileMenu, _fileMenuItems, _filenameFilter, _helpMenu, _helpMenuItems, _IMPORT_MENU_INDEX, _menubar, _NEW_MENU_INDEX, _SAVED, _statusBar, MAXIMUM_STATUS_MESSAGE_TIME
-
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
-
-
Constructor Summary
Constructors Constructor Description FSMGraphFrame(CompositeEntity entity, Tableau tableau)
Construct a frame associated with the specified FSM model.FSMGraphFrame(CompositeEntity entity, Tableau tableau, LibraryAttribute defaultLibrary)
Construct a frame associated with the specified FSM model.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_addMenus()
Create the menus that are used by this frame.protected boolean
_close()
Close the window.protected javax.swing.JMenuItem[]
_createFileMenuItems()
Create the items in the File menu.protected GraphPane
_createGraphPane(NamedObj entity)
Create a new graph pane.protected javax.swing.JMenuItem[]
_debugMenuItems()
Return an array of debug menu items.protected void
_exportDesignPattern(java.io.Writer writer, NamedObj model, java.lang.String name)
Export the model into the writer with the given name.protected void
_finishExportDesignPattern()
Finish exporting a design pattern.protected java.lang.String
_getAnimationMenuText()
Return the text to be used in the animation menu item.protected java.awt.event.ActionListener
_getDebugMenuListener()
Return a new DebugMenuListener.protected void
_prepareExportDesignPattern()
Prepare to export a design pattern.void
actionPerformed(java.awt.event.ActionEvent e)
React to the actions specific to this FSM graph frame.void
copy()
Get the currently selected objects from this document, if any, and place them on the clipboard in MoML format.-
Methods inherited from class ptolemy.vergil.basic.ExtendedGraphFrame
_initExtendedGraphFrame, cancelFullScreen, dispose, fullScreen
-
Methods inherited from class ptolemy.vergil.basic.BasicGraphFrame
_addLayoutMenu, _addReloadAccessorsMenu, _checkForImplied, _createDefaultLibrary, _createRightComponent, _createSizeAttribute, _createSizeAttribute, _deleteMoML, _getCenter, _getDirectory, _getGraphController, _getGraphModel, _getRightComponent, _getSelectionSet, _getVisibleCanvasRectangle, _getVisibleRectangle, _initBasicGraphFrame, _initBasicGraphFrameActions, _initBasicGraphFrameInitialization, _initBasicGraphFrameRightComponent, _initBasicGraphFrameRightComponentMouseListeners, _initBasicGraphFrameSetZoomAndPan, _initBasicGraphFrameSetZoomAndPane, _initBasicGraphFrameToolBarZoomButtons, _initLayoutGuiAction, _initReloadAccessorsAction, _isDesignPattern, _saveAsFileDialogComponent, _saveAsJFileChooserComponent, _setBackgroundColor, _setCenter, _setDirectory, _setDropIntoEnabled, _updateWindowAttributes, _writeFile, _zoom, changeExecuted, changeFailed, clearSelection, createHierarchy, cut, delete, disposeSuper, expandAllLibraryRows, exportDesignPattern, getBasicGraphFrame, getBasicGraphFrame, getCenter, getContentSize, getFigureUnder, getFrame, getGraphPanner, getJGraph, getLastDirectory, getSelectionSet, getVisibleCanvasRectangle, getVisibleRectangle, importDesignPattern, lostOwnership, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, mouseWheelMoved, openComposite, openContainer, paste, print, redo, report, saveComponentInLibrary, setCenter, setJGraph, setLastDirectory, undo, updateWindowAttributes, writeHTML, writeImage, writeImage, zoom, zoomFit, 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, _populateHistory, _printCrossPlatform, _printNative, _printPDF, _queryForSave, _saveAsFileDialog, _updateHistory, about, centerOnScreen, close, deferIfNecessary, exit, getCentering, hideMenuBar, isDisposed, isMenuPopulated, report, report, report, setBackground, setCentering, setDirectory, show, status, windowGainedFocus, windowLostFocus
-
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, 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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, 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, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
_controller
protected FSMGraphController _controller
The controller. The controller is protected so that the subclass (InterfaceAutomatonGraphFrame) can set it to a more specific controller.
-
_debugMenu
protected javax.swing.JMenu _debugMenu
Debug menu for this frame.
-
-
Constructor Detail
-
FSMGraphFrame
public FSMGraphFrame(CompositeEntity entity, Tableau tableau)
Construct a frame associated with the specified FSM 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()
-
FSMGraphFrame
public FSMGraphFrame(CompositeEntity entity, Tableau tableau, LibraryAttribute defaultLibrary)
Construct a frame associated with the specified FSM 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 FSM graph frame.- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
- Parameters:
e
- The action event.
-
copy
public void copy()
Get the currently selected objects from this document, if any, and place them on the clipboard in MoML format.- Overrides:
copy
in classBasicGraphFrame
-
_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 classExtendedGraphFrame
-
_getDebugMenuListener
protected java.awt.event.ActionListener _getDebugMenuListener()
Return a new DebugMenuListener.- Returns:
- the new DebugMenuListener.
-
_debugMenuItems
protected javax.swing.JMenuItem[] _debugMenuItems()
Return an array of debug menu items.- Returns:
- an array of debug menu items.
-
_close
protected boolean _close()
Close the window. Override the base class to remove the debug listener, if there is one.- Overrides:
_close
in classExtendedGraphFrame
- Returns:
- False if the user cancels on a save query.
-
_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 classBasicGraphFrame
- 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 classBasicGraphFrame
- Parameters:
entity
- The object to be displayed in the pane (which must be an instance of CompositeEntity).- Returns:
- The pane that is created.
-
_exportDesignPattern
protected void _exportDesignPattern(java.io.Writer writer, NamedObj model, java.lang.String name) throws java.io.IOException
Export the model into the writer with the given name.- Overrides:
_exportDesignPattern
in classBasicGraphFrame
- Parameters:
writer
- The writer.model
- The model to export.name
- The name of the exported model.- Throws:
java.io.IOException
- If an I/O error occurs.
-
_finishExportDesignPattern
protected void _finishExportDesignPattern()
Finish exporting a design pattern.- Overrides:
_finishExportDesignPattern
in classBasicGraphFrame
-
_getAnimationMenuText
protected java.lang.String _getAnimationMenuText()
Return the text to be used in the animation menu item. In this base class, always return "Animate States".- Returns:
- The text for the menu item.
-
_prepareExportDesignPattern
protected void _prepareExportDesignPattern()
Prepare to export a design pattern.- Overrides:
_prepareExportDesignPattern
in classBasicGraphFrame
- Throws:
InternalErrorException
- Thrown if attributes of the ports to be exported cannot be set.
-
-