Package ptolemy.vergil.actor
Class ClassDefinitionController
- java.lang.Object
-
- All Implemented Interfaces:
NodeController
public class ClassDefinitionController extends ActorController
This class provides interaction with nodes that represent Ptolemy II classes. This extends the base class by providing mechanisms in the context menu for creating an instance, creating a subclass, and converting to an instance.NOTE: There should be only one instance of this class associated with a given GraphController. This is because this controller listens for changes to the graph and re-renders the ports of any actor instance in the graph when the graph changes. If there is more than one instance, this rendering will be done twice, which can result in bugs like port labels appearing twice.
- Since:
- Ptolemy II 4.0
- Version:
- $Id$
- Author:
- Edward A. Lee and Steve Neuendorffer
- Pt.AcceptedRating:
- Red (johnr)
- Pt.ProposedRating:
- Red (eal)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.vergil.actor.ActorController
ActorController.ListenToActorAction
-
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 ptolemy.vergil.actor.ClassDefinitionController.ConvertToInstanceAction
_convertToInstanceAction
The action that handles converting a class to an instance.protected ptolemy.vergil.actor.ClassDefinitionController.CreateInstanceAction
_createInstanceAction
The action that handles creating an instance from a class.protected ptolemy.vergil.actor.ClassDefinitionController.CreateSubclassAction
_createSubclassAction
The action that handles creating a subclass from a class.-
Fields inherited from class ptolemy.vergil.actor.ActorController
_access, _editIconAction, _flipPortsHorizontal, _flipPortsVertical, _lookInsideAction, _openInstanceAction, _removeIconAction, _rotatePortsClockwise, _rotatePortsCounterclockwise
-
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 ClassDefinitionController(GraphController controller)
Create an actor instance controller associated with the specified graph controller with full access.ClassDefinitionController(GraphController controller, AttributeController.Access access)
Create a controller associated with the specified graph controller with the specified access.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Figure
_renderNode(java.lang.Object node)
Draw the node at its location.void
addHotKeys(JGraph jgraph)
Add hot keys to the actions in the given JGraph.-
Methods inherited from class ptolemy.vergil.actor.ActorController
_getComponentType, addMenuItemFactory, setConfiguration
-
Methods inherited from class ptolemy.vergil.kernel.AttributeController
_moveToFirstDescription, _moveToLastDescription, renderDecoratorHighlight, renderHighlight
-
Methods inherited from class ptolemy.vergil.basic.ParameterizedNodeController
getConfigureMenuFactory
-
Methods inherited from class ptolemy.vergil.basic.LocatableNodeController
_drawChildren, _getCompositeFigure, _hide, _isPropertySet, 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
-
_convertToInstanceAction
protected ptolemy.vergil.actor.ClassDefinitionController.ConvertToInstanceAction _convertToInstanceAction
The action that handles converting a class to an instance.
-
_createInstanceAction
protected ptolemy.vergil.actor.ClassDefinitionController.CreateInstanceAction _createInstanceAction
The action that handles creating an instance from a class.
-
_createSubclassAction
protected ptolemy.vergil.actor.ClassDefinitionController.CreateSubclassAction _createSubclassAction
The action that handles creating a subclass from a class.
-
-
Constructor Detail
-
ClassDefinitionController
public ClassDefinitionController(GraphController controller)
Create an actor instance controller associated with the specified graph controller with full access.- Parameters:
controller
- The associated graph controller.
-
ClassDefinitionController
public ClassDefinitionController(GraphController controller, AttributeController.Access access)
Create a controller associated with the specified graph controller with the specified access.- Parameters:
controller
- The associated graph controller.access
- The access level, one of FULL or PARTIAL.
-
-
Method Detail
-
addHotKeys
public void addHotKeys(JGraph jgraph)
Add hot keys to the actions in the given JGraph.- Overrides:
addHotKeys
in classActorController
- Parameters:
jgraph
- The JGraph to which hot keys are to be added.
-
_renderNode
protected Figure _renderNode(java.lang.Object node)
Draw the node at its location. This overrides the base class to highlight the actor to indicate that it is a class definition.- Overrides:
_renderNode
in classLocatableNodeController
- Parameters:
node
- The node to render.- Returns:
- the newly created figure.
-
-