Class ActorViewerGraphController

  • All Implemented Interfaces:
    GraphController, ExecutionListener, DebugListener, ValueListener
    Direct Known Subclasses:
    ActorEditorGraphController

    public class ActorViewerGraphController
    extends RunnableGraphController
    A graph controller for the Ptolemy II schematic viewer. This controller contains a set of default node controllers for attributes, entities, links, ports, and relations. Those default controllers can be overridden by attributes of type NodeControllerFactory. The getNodeController() method determines which controller to return for each node.

    In addition, this controller provides graph-wide operations that allow nodes to be moved and context menus to be created. It does not provide interaction for adding or removing nodes; those are provided by a derived class. If does provide toolbar buttons for executing the model (or if this is not the top level, delegating to the top level to execute). Right-clicking on the background will create a context-sensitive menu for the graph.

    Since:
    Ptolemy II 2.0
    Version:
    $Id$
    Author:
    Steve Neuendorffer, Contributor: Edward A. Lee
    Pt.AcceptedRating:
    Red (johnr)
    Pt.ProposedRating:
    Red (eal)
    • Field Detail

      • _attributeController

        protected NamedObjController _attributeController
        The attribute controller.
      • _classDefinitionController

        protected ActorController _classDefinitionController
        The class definition controller.
      • _addonActorController

        protected ActorController _addonActorController
        The controller for actors with addon gui behavior.
      • _entityController

        protected ActorController _entityController
        The entity controller.
      • _entityPortController

        protected NamedObjController _entityPortController
        The entity port controller.
      • _linkController

        protected LinkController _linkController
        The link controller.
      • _relationController

        protected NamedObjController _relationController
        The relation controller.
    • Constructor Detail

      • ActorViewerGraphController

        public ActorViewerGraphController()
        Create a new basic controller with default terminal and edge interactors and default context menus.
    • Method Detail

      • event

        public void event​(DebugEvent event)
        React to an event by highlighting the actor being iterated. This effectively animates the execution.
        Specified by:
        event in interface DebugListener
        Overrides:
        event in class BasicGraphController
        Parameters:
        event - The debug event.
      • getEntityController

        public ActorController getEntityController()
        Return the value of the entity controller. Callers may add context menus by calling
          getEntityController.addMenuItemFactory(new XXXDialogFactory);
          
        Returns:
        the entity controller
      • getNodeController

        public NodeController getNodeController​(java.lang.Object object)
        Return the node controller appropriate for the given object. If the object is an instance of Vertex, then return the local relation controller. If it implements Locatable, then determine whether it is an Entity, Attribute, or Port, and return the appropriate default controller. If the argument is an instance of Port, then return the local port controller.
        Specified by:
        getNodeController in interface GraphController
        Overrides:
        getNodeController in class BasicGraphController
        Parameters:
        object - A Vertex, Locatable, or Port.
        Returns:
        the node controller
      • _addHotKeys

        protected void _addHotKeys​(JGraph jgraph)
        Add hot keys to the actions in the given JGraph.
        Overrides:
        _addHotKeys in class RunnableGraphController
        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 base class, controllers with PARTIAL 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 class WithIconGraphController
      • 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 class WithIconGraphController