Package ptolemy.vergil.actor
Class ActorEditorGraphController
- java.lang.Object
-
- All Implemented Interfaces:
GraphController
,ExecutionListener
,DebugListener
,ValueListener
- Direct Known Subclasses:
CaseGraphFrame.CaseGraphController
,MatchResultViewer.MatchResultActorGraphController
,TransformationEditor.TransformationActorGraphController
public class ActorEditorGraphController extends ActorViewerGraphController
A Graph Controller for the Ptolemy II schematic editor. In addition to the interaction allowed in the viewer, this controller allows nodes to be dragged and dropped onto its graph. Relations can be created by control-clicking on the background. Links can be created by control-clicking and dragging on a port or a relation. In addition links can be created by clicking and dragging on the ports that are inside an entity. Anything can be deleted by selecting it and pressing the delete key on the keyboard.- Since:
- Ptolemy II 2.0
- Version:
- $Id$
- Author:
- Steve Neuendorffer, Contributor: Edward A. Lee, Bert Rodiers
- Pt.AcceptedRating:
- Red (johnr)
- Pt.ProposedRating:
- Red (eal)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
ActorEditorGraphController.LinkCreator
This class is an interactor that interactively drags edges from one terminal to another, creating a link to connect them.class
ActorEditorGraphController.NewRelationAction
An action to create a new relation.protected class
ActorEditorGraphController.RelationCreator
An interactor for creating relations upon control clicking.-
Nested classes/interfaces inherited from class ptolemy.vergil.actor.ActorViewerGraphController
ActorViewerGraphController.EntityLayout
-
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 Modifier and Type Field Description protected javax.swing.Action
_newRelationAction
Action for creating a new relation.-
Fields inherited from class ptolemy.vergil.actor.ActorViewerGraphController
_addonActorController, _attributeController, _classDefinitionController, _entityController, _entityPortController, _linkController, _relationController
-
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 ActorEditorGraphController()
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
_addHotKeys(JGraph jgraph)
Add hot keys to the actions in the given JGraph.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 all interaction on the graph pane.void
setConfiguration(Configuration configuration)
Set the configuration.-
Methods inherited from class ptolemy.vergil.actor.ActorViewerGraphController
event, getEdgeController, getEntityController, 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 classActorViewerGraphController
- Parameters:
configuration
- The configuration.- See Also:
BasicGraphController.getConfiguration()
-
_addHotKeys
protected void _addHotKeys(JGraph jgraph)
Add hot keys to the actions in the given JGraph.- Overrides:
_addHotKeys
in classActorViewerGraphController
- Parameters:
jgraph
- The JGraph to which hot keys are to be added.
-
_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 classActorViewerGraphController
-
_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 ExternalIOPortController, IOPortController, or RelationController.- Overrides:
_initializeInteraction
in classBasicGraphController
- Parameters:
controller
- The controller for which to initialize interaction.
-
initializeInteraction
protected void initializeInteraction()
Initialize all 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 classActorViewerGraphController
-
-