Class SimpleSelectAreaTracker

All Implemented Interfaces:
SelectAreaTracker, Tracker, Disableable

public class SimpleSelectAreaTracker extends AbstractTracker implements SelectAreaTracker
SimpleSelectAreaTracker implements interactions with the background area of a Drawing.

The DefaultSelectAreaTracker handles one of the three states of the SelectionTool. It comes into action, when the user presses the mouse button over the background of a Drawing.

This tool draws a Rectangle with style class "tool-rubberband".

Design pattern:
Name: Chain of Responsibility.
Role: Handler.
Partners: SelectionTool as Handler, DragTracker as Handler, HandleTracker as Handler.

Design pattern:
Name: State.
Role: State.
Partners: SelectionTool as Context, DragTracker as State, HandleTracker as State.

Author:
Werner Randelshofer
See Also:
  • Field Details

    • STYLECLASS_TOOL_RUBBERBAND

      public static final String STYLECLASS_TOOL_RUBBERBAND
      This tool draws a JavaFX Rectangle with style class "tool-rubberband".
      See Also:
  • Constructor Details

    • SimpleSelectAreaTracker

      public SimpleSelectAreaTracker()
    • SimpleSelectAreaTracker

      public SimpleSelectAreaTracker(String name, Resources rsrc)
  • Method Details

    • initNode

      protected void initNode(@NonNull javafx.scene.shape.Rectangle r)
    • trackMousePressed

      public void trackMousePressed(@NonNull javafx.scene.input.MouseEvent event, DrawingView dv)
      Description copied from interface: Tracker
      Handle input event forwarded from the parent Tool.
      Specified by:
      trackMousePressed in interface Tracker
      Parameters:
      event - an event
      dv - a view
    • trackMouseReleased

      public void trackMouseReleased(@NonNull javafx.scene.input.MouseEvent event, @NonNull DrawingView dv)
      Description copied from interface: Tracker
      Handle input event forwarded from the parent Tool.
      Specified by:
      trackMouseReleased in interface Tracker
      Parameters:
      event - an event
      dv - a view
    • trackMouseDragged

      public void trackMouseDragged(@NonNull javafx.scene.input.MouseEvent event, DrawingView dv)
      Description copied from interface: Tracker
      Handle input event forwarded from the parent Tool.
      Specified by:
      trackMouseDragged in interface Tracker
      Parameters:
      event - an event
      dv - a view
    • trackMouseClicked

      public void trackMouseClicked(javafx.scene.input.MouseEvent event, DrawingView view)
      Description copied from interface: Tracker
      Handle input event forwarded from the parent Tool.
      Specified by:
      trackMouseClicked in interface Tracker
      Parameters:
      event - an event
      view - a view
    • trackKeyPressed

      public void trackKeyPressed(javafx.scene.input.KeyEvent event, DrawingView view)
      Specified by:
      trackKeyPressed in interface Tracker
    • trackKeyReleased

      public void trackKeyReleased(javafx.scene.input.KeyEvent event, DrawingView view)
      Specified by:
      trackKeyReleased in interface Tracker
    • trackKeyTyped

      public void trackKeyTyped(javafx.scene.input.KeyEvent event, DrawingView view)
      Specified by:
      trackKeyTyped in interface Tracker