Package ptolemy.vergil.modal
Class FSMGraphController
- java.lang.Object
-
- All Implemented Interfaces:
GraphController
,ExecutionListener
,DebugListener
,ValueListener
- Direct Known Subclasses:
FmvAutomatonGraphController
,InterfaceAutomatonGraphController
,MatchResultViewer.MatchResultFSMGraphController
,PteraGraphController
,TransformationEditor.TransformationFSMGraphController
public class FSMGraphController extends FSMViewerGraphController
A Graph Controller for FSM models. This controller allows states to be dragged and dropped onto its graph. Links can be created by control-clicking and dragging from one state to another.- Since:
- Ptolemy II 8.0
- Version:
- $Id$
- Author:
- Steve Neuendorffer, Contributor: Edward A. Lee
- Pt.AcceptedRating:
- Red (johnr)
- Pt.ProposedRating:
- Red (eal)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
FSMGraphController.LinkCreator
An interactor that interactively drags edges from one terminal to another.class
FSMGraphController.NewStateAction
An action to create a new state.-
Nested classes/interfaces inherited from class ptolemy.vergil.basic.WithIconGraphController
WithIconGraphController.NewPortAction
-
Nested classes/interfaces inherited from class ptolemy.vergil.basic.BasicGraphController
BasicGraphController.OpenBaseClassAction, BasicGraphController.SchematicContextMenuFactory, BasicGraphController.UnitSolverDialogAction
-
-
Field Summary
-
Fields inherited from class ptolemy.vergil.modal.FSMViewerGraphController
_attributeController, _modalTransitionController, _stateController, _transitionController
-
Fields inherited from class ptolemy.vergil.basic.WithIconGraphController
_editIconAction, _portController, _removeIconAction
-
Fields inherited from class ptolemy.vergil.basic.BasicGraphController
_animated, _animationRenderer, _configureAction, _configureMenuFactory, _menuCreator, _menuFactory, _openBaseClassAction, _unitSolverDialogAction
-
-
Constructor Summary
Constructors Constructor Description FSMGraphController()
Create a new basic controller with default terminal and edge interactors.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_createControllers()
Create the controllers for nodes in this graph.protected void
_initializeInteraction(NamedObjController controller)
Initialize interactions for the specified controller.void
addToMenuAndToolbar(javax.swing.JMenu menu, javax.swing.JToolBar toolbar)
Add commands to the specified menu and toolbar, as appropriate for this controller.protected void
initializeInteraction()
Initialize interaction on the graph pane.void
setConfiguration(Configuration configuration)
Set the configuration.-
Methods inherited from class ptolemy.vergil.modal.FSMViewerGraphController
_addHotKeys, event, getEdgeController, getNodeController
-
Methods inherited from class ptolemy.vergil.basic.RunnableGraphController
_getManager, _report, _report, executionError, executionFinished, managerStateChanged
-
Methods inherited from class ptolemy.vergil.basic.WithIconGraphController
getNewPortLocation
-
Methods inherited from class ptolemy.vergil.basic.BasicGraphController
_areThereActiveErrorHighlights, _getClearAllErrorHighlightsChangeRequest, clearAllErrorHighlights, clearAnimation, getAnimationDelay, getConfiguration, getConfigureMenuFactory, getFrame, highlightError, message, setAnimationDelay, setFigure, setFrame, valueChanged
-
Methods inherited from class diva.graph.AbstractGraphController
addEdge, addEdge, addGraphViewListener, addNode, addNode, addNode, addNode, clear, clearEdge, clearNode, dispatch, drawEdge, drawNode, drawNode, getFigure, getGraphModel, getGraphPane, getSelectionModel, removeEdge, removeGraphViewListener, removeNode, rerender, rerenderEdge, rerenderNode, setGraphModel, setGraphPane, setSelectionModel
-
-
-
-
Method Detail
-
addToMenuAndToolbar
public void addToMenuAndToolbar(javax.swing.JMenu menu, javax.swing.JToolBar toolbar)
Add commands to the specified menu and toolbar, as appropriate for this controller. In this class, commands are added to create ports and relations.- Overrides:
addToMenuAndToolbar
in classRunnableGraphController
- Parameters:
menu
- The menu to add to, or null if none.toolbar
- The toolbar to add to, or null if none.
-
setConfiguration
public void setConfiguration(Configuration configuration)
Set the configuration. The configuration is used when opening documentation files.- Overrides:
setConfiguration
in classFSMViewerGraphController
- Parameters:
configuration
- The configuration.- See Also:
BasicGraphController.getConfiguration()
-
_createControllers
protected void _createControllers()
Create the controllers for nodes in this graph. In this class, controllers with FULL access are created. This is called by the constructor, so derived classes that override this must be careful not to reference local variables defined in the derived classes, because the derived classes will not have been fully constructed by the time this is called.- Overrides:
_createControllers
in classFSMViewerGraphController
-
initializeInteraction
protected void initializeInteraction()
Initialize interaction on the graph pane. This method is called by the setGraphPane() method of the superclass. This initialization cannot be done in the constructor because the controller does not yet have a reference to its pane at that time.- Overrides:
initializeInteraction
in classFSMViewerGraphController
-
_initializeInteraction
protected void _initializeInteraction(NamedObjController controller)
Initialize interactions for the specified controller. This method is called when a new controller is constructed. In this class, this method attaches a link creator to the controller if the controller is an instance of StateController.- Overrides:
_initializeInteraction
in classBasicGraphController
- Parameters:
controller
- The controller for which to initialize interaction.
-
-