Package ptolemy.vergil.gt
Class TransformationEditor
- 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.gt.GTFrame
-
- ptolemy.vergil.gt.TransformationEditor
-
- 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.event.TableModelListener
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
,ImageExportable
,ChangeListener
,ValueListener
,StatusHandler
,HTMLExportable
,MenuItemListener
public class TransformationEditor extends GTFrame implements java.awt.event.ActionListener, MenuItemListener, javax.swing.event.TableModelListener, ValueListener
A graph editor frame for ptolemy graph transformation models.- Since:
- Ptolemy II 6.1
- Version:
- $Id$
- Author:
- Thomas Huining Feng
- See Also:
ActorGraphFrame
, Serialized Form- Pt.AcceptedRating:
- Red (tfeng)
- Pt.ProposedRating:
- Red (tfeng)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
TransformationEditor.MatchingAttributeActionsFactory
protected class
TransformationEditor.TransformationActorController
protected class
TransformationEditor.TransformationActorGraphController
protected class
TransformationEditor.TransformationExternalPortController
protected class
TransformationEditor.TransformationFSMGraphController
protected class
TransformationEditor.TransformationLinkController
protected class
TransformationEditor.TransformationPortController
protected class
TransformationEditor.TransformationRelationController
protected class
TransformationEditor.TransformationStateController
protected class
TransformationEditor.TransformationTransitionController
-
Nested classes/interfaces inherited from class ptolemy.vergil.gt.GTFrame
GTFrame.ConfigureCriteriaAction, GTFrame.ConfigureIngredientsAction, GTFrame.ConfigureOperationsAction
-
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 javax.swing.JMenu
_ruleMenu
The case menu.static java.lang.String[]
OPTIONAL_ACTORS
-
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 TransformationEditor(CompositeEntity entity, Tableau tableau)
Construct a frame associated with the specified case actor.TransformationEditor(CompositeEntity entity, Tableau tableau, LibraryAttribute defaultLibrary)
Construct a frame associated with the specified case actor.
-
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 RunnableGraphController
_createActorGraphController()
protected RunnableGraphController
_createFSMGraphController()
protected javax.swing.JComponent
_createRightComponent(NamedObj entity)
Create the component that goes to the right of the library.protected java.util.HashSet
_getSelectionSet(boolean includeLinks)
void
actionPerformed(java.awt.event.ActionEvent e)
void
addRow()
void
cancelFullScreen()
Cancel full screen mode.void
changeExecuted(ChangeRequest change)
React to the fact that a change has been successfully executed by marking the data associated with this window modified.void
copy()
Get the currently selected objects from this document, if any, and place them on the clipboard in MoML format.void
delete()
Delete the currently selected objects from this document.void
fullScreen()
Go to full screen.void
menuItemCreated(JContextMenu menu, NamedObj object, javax.swing.JMenuItem menuItem)
The method to be invoked when a menu item is created, so that this listener can modify the menu item if it needs to.void
paste()
Assuming the contents of the clipboard is MoML code, paste it into the current model by issuing a change request.void
redo()
Redo the last undone change on the model.void
removeRows(int[] rows)
void
tableChanged(javax.swing.event.TableModelEvent event)
void
undo()
Undo the last undoable change on the model.void
valueChanged(Settable settable)
React to the fact that the specified Settable has changed.void
zoom(double factor)
Zoom in or out to magnify by the specified factor, from the current magnification.void
zoomFit()
Zoom to fit the current figures.void
zoomReset()
Set zoom to the nominal.-
Methods inherited from class ptolemy.vergil.gt.GTFrame
_close, _createGraphPane, _createSizeAttribute, _getGraphPanner, getFrameController, getJGraph, isFullscreen
-
Methods inherited from class ptolemy.vergil.basic.ExtendedGraphFrame
_initExtendedGraphFrame, dispose
-
Methods inherited from class ptolemy.vergil.basic.BasicGraphFrame
_addLayoutMenu, _addReloadAccessorsMenu, _checkForImplied, _createDefaultLibrary, _createFileMenuItems, _createSizeAttribute, _deleteMoML, _exportDesignPattern, _finishExportDesignPattern, _getCenter, _getDirectory, _getGraphController, _getGraphModel, _getRightComponent, _getSelectionSet, _getVisibleCanvasRectangle, _getVisibleRectangle, _initBasicGraphFrame, _initBasicGraphFrameActions, _initBasicGraphFrameInitialization, _initBasicGraphFrameRightComponent, _initBasicGraphFrameRightComponentMouseListeners, _initBasicGraphFrameSetZoomAndPan, _initBasicGraphFrameSetZoomAndPane, _initBasicGraphFrameToolBarZoomButtons, _initLayoutGuiAction, _initReloadAccessorsAction, _isDesignPattern, _prepareExportDesignPattern, _saveAsFileDialogComponent, _saveAsJFileChooserComponent, _setBackgroundColor, _setCenter, _setDirectory, _setDropIntoEnabled, _updateWindowAttributes, _writeFile, _zoom, changeFailed, clearSelection, createHierarchy, cut, disposeSuper, expandAllLibraryRows, exportDesignPattern, getBasicGraphFrame, getBasicGraphFrame, getCenter, getContentSize, getFigureUnder, getFrame, getGraphPanner, getLastDirectory, getSelectionSet, getVisibleCanvasRectangle, getVisibleRectangle, importDesignPattern, lostOwnership, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, mouseWheelMoved, openComposite, openContainer, print, report, saveComponentInLibrary, setCenter, setJGraph, setLastDirectory, updateWindowAttributes, writeHTML, writeImage, writeImage, zoomFit
-
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
-
-
-
-
Constructor Detail
-
TransformationEditor
public TransformationEditor(CompositeEntity 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()
-
TransformationEditor
public TransformationEditor(CompositeEntity 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
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
-
addRow
public void addRow()
-
cancelFullScreen
public void cancelFullScreen()
Description copied from class:ExtendedGraphFrame
Cancel full screen mode. Note that this should be called in the swing event thread.- Overrides:
cancelFullScreen
in classGTFrame
-
changeExecuted
public void changeExecuted(ChangeRequest change)
Description copied from class:BasicGraphFrame
React to the fact that a change has been successfully executed by marking the data associated with this window modified. This will trigger a dialog when the window is closed, prompting the user to save the data.- Specified by:
changeExecuted
in interfaceChangeListener
- Overrides:
changeExecuted
in classBasicGraphFrame
- Parameters:
change
- The change that has been executed.
-
copy
public void copy()
Description copied from class:BasicGraphFrame
Get the currently selected objects from this document, if any, and place them on the clipboard in MoML format.- Overrides:
copy
in classBasicGraphFrame
-
delete
public void delete()
Description copied from class:BasicGraphFrame
Delete the currently selected objects from this document.- Overrides:
delete
in classBasicGraphFrame
-
fullScreen
public void fullScreen()
Description copied from class:ExtendedGraphFrame
Go to full screen.- Overrides:
fullScreen
in classGTFrame
-
menuItemCreated
public void menuItemCreated(JContextMenu menu, NamedObj object, javax.swing.JMenuItem menuItem)
Description copied from interface:MenuItemListener
The method to be invoked when a menu item is created, so that this listener can modify the menu item if it needs to.- Specified by:
menuItemCreated
in interfaceMenuItemListener
- Parameters:
menu
- The menu context.object
- The object for which the menu item is created.menuItem
- The created menu item.
-
paste
public void paste()
Description copied from class:BasicGraphFrame
Assuming the contents of the clipboard is MoML code, paste it into the current model by issuing a change request.- Overrides:
paste
in classBasicGraphFrame
-
redo
public void redo()
Description copied from class:BasicGraphFrame
Redo the last undone change on the model.- Overrides:
redo
in classBasicGraphFrame
- See Also:
BasicGraphFrame.undo()
-
removeRows
public void removeRows(int[] rows)
-
tableChanged
public void tableChanged(javax.swing.event.TableModelEvent event)
- Specified by:
tableChanged
in interfacejavax.swing.event.TableModelListener
-
undo
public void undo()
Description copied from class:BasicGraphFrame
Undo the last undoable change on the model.- Overrides:
undo
in classBasicGraphFrame
- See Also:
BasicGraphFrame.redo()
-
valueChanged
public void valueChanged(Settable settable)
Description copied from interface:ValueListener
React to the fact that the specified Settable has changed.- Specified by:
valueChanged
in interfaceValueListener
- Parameters:
settable
- The object that has changed value.
-
zoom
public void zoom(double factor)
Description copied from class:BasicGraphFrame
Zoom in or out to magnify by the specified factor, from the current magnification.- Overrides:
zoom
in classBasicGraphFrame
- Parameters:
factor
- The magnification factor (relative to 1.0).
-
zoomFit
public void zoomFit()
Description copied from class:BasicGraphFrame
Zoom to fit the current figures.- Overrides:
zoomFit
in classBasicGraphFrame
-
zoomReset
public void zoomReset()
Description copied from class:BasicGraphFrame
Set zoom to the nominal.- Overrides:
zoomReset
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
-
_createActorGraphController
protected RunnableGraphController _createActorGraphController()
- Overrides:
_createActorGraphController
in classGTFrame
-
_createFSMGraphController
protected RunnableGraphController _createFSMGraphController()
- Overrides:
_createFSMGraphController
in classGTFrame
-
_createRightComponent
protected javax.swing.JComponent _createRightComponent(NamedObj entity)
Description copied from class:BasicGraphFrame
Create the component that goes to the right of the library.- Overrides:
_createRightComponent
in classGTFrame
- Parameters:
entity
- The entity to display in the component.- Returns:
- The component that goes to the right of the library.
-
_getSelectionSet
protected java.util.HashSet _getSelectionSet(boolean includeLinks)
-
-