Class ClassDefinitionController

  • 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)
    • 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 class ActorController
        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 class LocatableNodeController
        Parameters:
        node - The node to render.
        Returns:
        the newly created figure.