Class FigureAction

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  FigureAction.SourceType
      The source of the action.
    • Constructor Summary

      Constructors 
      Constructor Description
      FigureAction​(java.lang.String name)
      Construct an action that is attached to a figure on a named object.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent e)
      Determine the target Ptolemy II object, the originating frame, and the X, Y position of the action, if possible.
      Figure getFigure()
      Return the figure of this action.
      java.awt.Frame getFrame()
      Return the frame responsible for triggering this action, or null if none could be found.
      FigureAction.SourceType getSourceType()
      Return the source type of this action, which is one of CANVAS_TYPE, CONTEXTMENU_TYPE, TOOLBAR_TYPE, MENUBAR_TYPE, HOTKEY_TYPE, or null if none was recognized.
      NamedObj getTarget()
      Return the target Ptolemy II object for this action, or null if none could be found.
      int getX()
      Return the horizontal position of the action, or 0 if this is not relevant (e.g., the action was triggered by a toolbar button).
      int getY()
      Return the vertical position of the action, or 0 if this is not relevant (e.g., the action was triggered by a toolbar button).
      static double[] offsetFigure​(double x, double y, double xOffset, double yOffset, java.lang.Class<?> figureClass, FigureLayer foregroundLayer, java.awt.geom.Rectangle2D visibleRectangle)
      Determine a new location for a figure if another figure is already at that location.
      • Methods inherited from class javax.swing.AbstractAction

        addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface javax.swing.Action

        accept
    • Field Detail

      • CANVAS_TYPE

        public static final FigureAction.SourceType CANVAS_TYPE
        When the action was fired from a canvas interactor.
      • CONTEXTMENU_TYPE

        public static final FigureAction.SourceType CONTEXTMENU_TYPE
        When the action was fired from a context menu.
      • PASTE_OFFSET

        public static final int PASTE_OFFSET
        Offset used when pasting objects. See also OffsetMoMLChangeRequest.
        See Also:
        Constant Field Values
      • TOOLBAR_TYPE

        public static final FigureAction.SourceType TOOLBAR_TYPE
        When the action was fired from a toolbar icon.
    • Constructor Detail

      • FigureAction

        public FigureAction​(java.lang.String name)
        Construct an action that is attached to a figure on a named object.
        Parameters:
        name - The name of the object.
    • Method Detail

      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent e)
        Determine the target Ptolemy II object, the originating frame, and the X, Y position of the action, if possible. After this is invoked, the other public methods can be used to access this data.
        Parameters:
        e - The event.
      • getFigure

        public Figure getFigure()
        Return the figure of this action.
        Returns:
        The figure of this action.
      • getFrame

        public java.awt.Frame getFrame()
        Return the frame responsible for triggering this action, or null if none could be found. This can be used to set the owner of any dialogs triggered by this event. This must be called after actionPerformed(), and is typically called inside the actionPerformed() method of a subclass.
        Returns:
        The frame that triggered this action.
      • getSourceType

        public FigureAction.SourceType getSourceType()
        Return the source type of this action, which is one of CANVAS_TYPE, CONTEXTMENU_TYPE, TOOLBAR_TYPE, MENUBAR_TYPE, HOTKEY_TYPE, or null if none was recognized.
        Returns:
        The source type of this action.
      • getTarget

        public NamedObj getTarget()
        Return the target Ptolemy II object for this action, or null if none could be found. This is typically the object whose icon is the figure on which this action was invoked. This must be called after actionPerformed(), and is typically called inside the actionPerformed() method of a subclass.
        Returns:
        The object on which this action was invoked.
      • getX

        public int getX()
        Return the horizontal position of the action, or 0 if this is not relevant (e.g., the action was triggered by a toolbar button). This must be called after actionPerformed(), and is typically called inside the actionPerformed() method of a subclass.
        Returns:
        The x position of the action.
      • getY

        public int getY()
        Return the vertical position of the action, or 0 if this is not relevant (e.g., the action was triggered by a toolbar button). This must be called after actionPerformed(), and is typically called inside the actionPerformed() method of a subclass.
        Returns:
        The y position of the action.
      • offsetFigure

        public static double[] offsetFigure​(double x,
                                            double y,
                                            double xOffset,
                                            double yOffset,
                                            java.lang.Class<?> figureClass,
                                            FigureLayer foregroundLayer,
                                            java.awt.geom.Rectangle2D visibleRectangle)
        Determine a new location for a figure if another figure is already at that location.
        Parameters:
        x - The x value of the proposed location.
        y - The y value of the proposed location.
        xOffset - The x offset to be used if a figure is found.
        yOffset - The y offset to be used if a figure is found.
        figureClass - The Class of the figure to avoid.
        foregroundLayer - The layer containing the figures.
        visibleRectangle - The rectangle that describe the bounds of the visible pane.
        Returns:
        An array of two doubles (x and y) that represents either the original location or an offset location that does not obscure an object of class figure.