public class LookInsideAction extends FigureAction
The action to open a composite actor model, an ontology, or a MoMLModelAttribute. This class must remain named LookInsideAction for backward compatibility.
This used to be a private class contained in
ActorController, but it is
now relevant for ptolemy.vergil.ontologies.OntologyEntityController
so it has been pulled out into a public class. Additionally MoMLModelAttributeController
requires a different implementation to open its contained model since it is
an Attribute and not a CompositeEntity, and thus its contained model does
not fit in the traditional Ptolemy containment hierarchy.
MoMLModelAttribute contained its own private LookInsideAction class, but the
shortcut key binding did not work correctly. This was because in a Ptolemy
model, a shortcut key can only bind one action for every node in the entire model
graphical space to any given key. If a model contains both normal
(including ptolemy.data.ontologies.Ontology entities)
elements and MoMLModelAttributes, then only one look inside action will be bound
to the shortcut L key even though each action will be accessible from their
individual context menus (See
The solution here
is that there is a single class to implement the look inside action that has
two private methods to implement look inside for the normal Ptolemy CompositeEntity
case and the special MoMLModelAttribute case. The controller for each
respective Ptolemy element can customize its instance of the LookInsideAction with its
own menu label for its context menu, but the actual
actionPerformed(java.awt.event.ActionEvent) method that
executes the action is the same for all instances. So regardless of which
LookInsideAction gets bound to the L key, it will work for all Ptolemy elements.
If the element is not a CompositeEntity or a MoMLModelAttribute, it will just open the java text file of the element's class definition.
CANVAS_TYPE, CONTEXTMENU_TYPE, HOTKEY_TYPE, MENUBAR_TYPE, PASTE_OFFSET, TOOLBAR_TYPE
|Constructor and Description|
Create a new LookInsideAction object with the given string as its menu action label.
|Modifier and Type||Method and Description|
Execute the look inside action command received from the event sent from the user interface.
Set the configuration to be used by the LookInsideAction object.
getFigure, getFrame, getSourceType, getTarget, getX, getY, offsetFigure
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
public LookInsideAction(java.lang.String menuActionLabel)
menuActionLabel- The label of the menu action to be displayed in the GUI context menus.
public void actionPerformed(java.awt.event.ActionEvent event)
public void setConfiguration(Configuration configuration)
configuration- The configuration.