Class SelectionTool

All Implemented Interfaces:
Tool, PropertyBean, Disableable

public class SelectionTool extends AbstractTool
A tool to select and manipulate figures.

A selection tool is in one of three states:

  1. area selection
  2. figure dragging
  3. handle manipulation
The different states are handled by different tracker objects: the SimpleSelectAreaTracker, the SimpleDragTracker and the SimpleHandleTracker.

A Figure can be selected by clicking at it. Holding the alt key or the ctrl key down, selects the Figure behind it.

Holding down the shift key on mouse pressed, enforces the area selection function.

Author:
Werner Randelshofer
  • Property Details

  • Field Details

  • Constructor Details

  • Method Details

    • selectBehindEnabledProperty

      public javafx.beans.property.BooleanProperty selectBehindEnabledProperty()
      Returns:
      the selectBehindEnabled property
      See Also:
    • stopEditing

      protected void stopEditing()
      Overrides:
      stopEditing in class AbstractTool
    • onMousePressed

      protected void onMousePressed(javafx.scene.input.MouseEvent event, DrawingView view)
      Overrides:
      onMousePressed in class AbstractTool
    • onMouseDragged

      protected void onMouseDragged(javafx.scene.input.MouseEvent event, DrawingView dv)
      Overrides:
      onMouseDragged in class AbstractTool
    • onMouseReleased

      protected void onMouseReleased(javafx.scene.input.MouseEvent event, DrawingView dv)
      Overrides:
      onMouseReleased in class AbstractTool
    • onMouseClicked

      protected void onMouseClicked(javafx.scene.input.MouseEvent event, DrawingView dv)
      Overrides:
      onMouseClicked in class AbstractTool
    • onMouseMoved

      protected void onMouseMoved(javafx.scene.input.MouseEvent event, DrawingView view)
      Overrides:
      onMouseMoved in class AbstractTool
    • onKeyPressed

      protected void onKeyPressed(javafx.scene.input.KeyEvent event, DrawingView view)
      Overrides:
      onKeyPressed in class AbstractTool
    • onKeyReleased

      protected void onKeyReleased(javafx.scene.input.KeyEvent event, DrawingView view)
      Overrides:
      onKeyReleased in class AbstractTool
    • onKeyTyped

      protected void onKeyTyped(javafx.scene.input.KeyEvent event, DrawingView view)
      Overrides:
      onKeyTyped in class AbstractTool
    • getHandleTracker

      protected HandleTracker getHandleTracker(Handle handle)
      Method to get a HandleTracker which handles user interaction for the specified handle.
      Parameters:
      handle - a handle
      Returns:
      a handle tracker
    • getDragTracker

      protected DragTracker getDragTracker(Figure f, DrawingView dv)
      Method to get a DragTracker which handles user interaction for dragging the specified figure.
      Parameters:
      f - a figure
      dv - a drawing view
      Returns:
      a tracker
    • getSelectAreaTracker

      protected SelectAreaTracker getSelectAreaTracker()
      Method to get a SelectAreaTracker which handles user interaction for selecting an area on the drawing.
      Returns:
      a tracker
    • setHandleTracker

      public void setHandleTracker(HandleTracker newValue)
      Method to set a HandleTracker. If you specify null, the SelectionTool uses the DefaultHandleTracker.
      Parameters:
      newValue - a tracker
    • setSelectAreaTracker

      public void setSelectAreaTracker(SelectAreaTracker newValue)
      Method to set a SelectAreaTracker. If you specify null, the SelectionTool uses the DefaultSelectAreaTracker.
      Parameters:
      newValue - a tracker
    • setDragTracker

      public void setDragTracker(DragTracker newValue)
      Method to set a DragTracker. If you specify null, the SelectionTool uses the DefaultDragTracker.
      Parameters:
      newValue - a tracker
    • activate

      public void activate(DrawingEditor editor)
      Description copied from class: AbstractTool
      This implementation sets the help text on the drawing view.
      Specified by:
      activate in interface Tool
      Overrides:
      activate in class AbstractTool
      Parameters:
      editor - the editor
    • isSelectBehindEnabled

      public boolean isSelectBehindEnabled()
      Gets the value of the selectBehindEnabled property.
      Property description:
      Returns:
      the value of the selectBehindEnabled property
      See Also:
    • onZoom

      protected void onZoom(javafx.scene.input.ZoomEvent event, DrawingView dv)
      Overrides:
      onZoom in class AbstractTool
    • onZoomStarted

      protected void onZoomStarted(javafx.scene.input.ZoomEvent event, DrawingView dv)
      Overrides:
      onZoomStarted in class AbstractTool
    • getHelpText

      public String getHelpText()
      Description copied from interface: Tool
      Returns a localized help text for this tool.
      Returns:
      the help text