Class SelectTool

All Implemented Interfaces:
ITool

public class SelectTool extends AbstractBaseTool
Tool to select syntactic elements. When selected, click either a vertex or an edge to mark it as selected. You can select more than one element at a time by holding down CTRL whilst clicking on a syntactic element.
  • Constructor Details

    • SelectTool

      public SelectTool()
      Construct a new instance
  • Method Details

    • getHelpDescription

      public String getHelpDescription()
      Description copied from interface: ITool
      Get a multiline string that describe the tool and how to use it
      Returns:
      a (possibly) multiline string
    • getTooltip

      public Optional<String> getTooltip()
      Description copied from interface: ITool
      Get a multiline tooltip string that briefly describes this tool
      Specified by:
      getTooltip in interface ITool
      Overrides:
      getTooltip in class AbstractBaseTool
      Returns:
      a (possibly) multiline string
    • getGraphic

      public javafx.scene.Node getGraphic()
      Description copied from interface: ITool
      Get the graphical representation for the tool selection button. Typically just a FontIcon, but can be anything
      Returns:
      a javafx node that will be displayed inside the tool selector button
    • onKeyEvent

      public void onKeyEvent(ViewportKeyEvent e)
      Description copied from interface: ITool
      Event handler for the case where the model editor viewport has been interacted with with the keyboard
      Specified by:
      onKeyEvent in interface ITool
      Overrides:
      onKeyEvent in class AbstractBaseTool
      Parameters:
      e - The event that happened
    • onViewportMouseEvent

      public void onViewportMouseEvent(ViewportMouseEvent e)
      Description copied from interface: ITool
      Event handler for the case where the model editor viewport has been interacted with with the mouse
      Specified by:
      onViewportMouseEvent in interface ITool
      Overrides:
      onViewportMouseEvent in class AbstractBaseTool
      Parameters:
      e - The event that happened
    • onVertexMouseEvent

      public void onVertexMouseEvent(VertexMouseEvent e)
      Description copied from interface: ITool
      Event handler for the case where a vertex has been interacted with with the mouse
      Specified by:
      onVertexMouseEvent in interface ITool
      Overrides:
      onVertexMouseEvent in class AbstractBaseTool
      Parameters:
      e - The event that happened
    • onEdgeMouseEvent

      public void onEdgeMouseEvent(EdgeMouseEvent e)
      Description copied from interface: ITool
      Event handler for the case where an edge has been interacted with with the mouse
      Specified by:
      onEdgeMouseEvent in interface ITool
      Overrides:
      onEdgeMouseEvent in class AbstractBaseTool
      Parameters:
      e - The event that happened
    • clear

      public void clear()
      Clear the selection
    • toggleSelected

      public void toggleSelected(UUID id, ISelectable selectable)
      Toggle the selection of a syntactic element
      Parameters:
      id - The id of the element to select / deselect
      selectable - The selectable object to select / deselect
    • getSelection

      public javafx.collections.ObservableList<ViewModelSelection> getSelection()
      Get the current selection
      Returns:
      An observable list of selections