Package ptolemy.vergil.modal.modal
Class HierarchicalStateController
- java.lang.Object
-
- diva.graph.BasicNodeController
-
- ptolemy.vergil.basic.LocatableNodeController
-
- ptolemy.vergil.basic.NamedObjController
-
- ptolemy.vergil.basic.ParameterizedNodeController
-
- ptolemy.vergil.basic.IconController
-
- ptolemy.vergil.kernel.AttributeController
-
- ptolemy.vergil.kernel.AttributeWithIconController
-
- ptolemy.vergil.modal.StateController
-
- ptolemy.vergil.modal.modal.HierarchicalStateController
-
- All Implemented Interfaces:
NodeController
- Direct Known Subclasses:
StateMatcherController
public class HierarchicalStateController extends StateController
This class provides interaction with nodes that represent hierarchical states in an FSM graph. Hierarchical states are those with refinements, and what this adds to the base class is the ability to add a new refinement or remove a refinement via a context menu command. The base class provides a double click binding to edit the parameters of the state, and context menu commands to edit parameters ("Configure"), rename, look inside, and get documentation.- Since:
- Ptolemy II 8.0
- Version:
- $Id$
- Author:
- Edward A. Lee
- Pt.AcceptedRating:
- Red (johnr)
- Pt.ProposedRating:
- Red (eal)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
HierarchicalStateController.AddRefinementAction
An action to add a new refinement.static class
HierarchicalStateController.RemoveRefinementAction
Action to remove refinements.-
Nested classes/interfaces inherited from class ptolemy.vergil.modal.StateController
StateController.LookInsideAction, StateController.StateRenderer
-
Nested classes/interfaces inherited from class ptolemy.vergil.kernel.AttributeController
AttributeController.Access
-
Nested classes/interfaces inherited from class ptolemy.vergil.basic.IconController
IconController.IconRenderer
-
-
Field Summary
Fields Modifier and Type Field Description protected HierarchicalStateController.AddRefinementAction
_addRefinementAction
The action that adds a refinement.protected StateController.LookInsideAction
_lookInsideAction
The action that handles look inside.protected HierarchicalStateController.RemoveRefinementAction
_removeRefinementAction
The action that removes a refinement.-
Fields inherited from class ptolemy.vergil.kernel.AttributeWithIconController
_editIconAction, _removeIconAction
-
Fields inherited from class ptolemy.vergil.kernel.AttributeController
_appearanceMenuActionFactory, _listenToAction, _renameAction, FULL, PARTIAL
-
Fields inherited from class ptolemy.vergil.basic.ParameterizedNodeController
_configureAction, _configureMenuFactory, _menuCreator, _menuFactory
-
Fields inherited from class ptolemy.vergil.basic.NamedObjController
_configuration
-
Fields inherited from class ptolemy.vergil.basic.LocatableNodeController
_decoratable, CLASS_ELEMENT_HIGHLIGHT_COLOR
-
-
Constructor Summary
Constructors Constructor Description HierarchicalStateController(GraphController controller)
Create a state controller associated with the specified graph controller.HierarchicalStateController(GraphController controller, AttributeController.Access access)
Create a state controller associated with the specified graph controller.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Map
getRefinementClasses()
Return a map with the keys as the names of the refinement types, and the values as the names of the classes that implement those refinement types.-
Methods inherited from class ptolemy.vergil.kernel.AttributeController
_getComponentType, _moveToFirstDescription, _moveToLastDescription, addHotKeys, renderDecoratorHighlight, renderHighlight, setConfiguration
-
Methods inherited from class ptolemy.vergil.basic.ParameterizedNodeController
getConfigureMenuFactory
-
Methods inherited from class ptolemy.vergil.basic.LocatableNodeController
_drawChildren, _getCompositeFigure, _hide, _isPropertySet, _renderNode, addNode, drawNode, getLocation, hasLocation, locateFigure, setLocation, setSnapResolution
-
Methods inherited from class diva.graph.BasicNodeController
addNode, addNode, addNode, clearNode, drawNode, getController, getNodeInteractor, getNodeRenderer, removeNode, setNodeInteractor, setNodeRenderer
-
-
-
-
Field Detail
-
_addRefinementAction
protected HierarchicalStateController.AddRefinementAction _addRefinementAction
The action that adds a refinement.
-
_lookInsideAction
protected StateController.LookInsideAction _lookInsideAction
The action that handles look inside. This is accessed by by ActorViewerController to create a hot key for the editor.
-
_removeRefinementAction
protected HierarchicalStateController.RemoveRefinementAction _removeRefinementAction
The action that removes a refinement.
-
-
Constructor Detail
-
HierarchicalStateController
public HierarchicalStateController(GraphController controller)
Create a state controller associated with the specified graph controller.- Parameters:
controller
- The associated graph controller.
-
HierarchicalStateController
public HierarchicalStateController(GraphController controller, AttributeController.Access access)
Create a state controller associated with the specified graph controller.- Parameters:
controller
- The associated graph controller.access
- The access level.
-
-