Class MarqueeSelectionTool

    • Field Detail

      • BEHAVIOR_CONNECTIONS_CONTAINED

        public static final int BEHAVIOR_CONNECTIONS_CONTAINED
        This behavior selects connections that intersect the marquee rectangle.
        Since:
        3.7
      • BEHAVIOR_CONNECTIONS_TOUCHED

        public static final int BEHAVIOR_CONNECTIONS_TOUCHED
        This behavior selects connections that intersect the marquee rectangle.
        Since:
        3.1
      • BEHAVIOR_NODES_CONTAINED

        public static final int BEHAVIOR_NODES_CONTAINED
        This behavior selects nodes completely encompassed by the marquee rectangle. This is the default behavior for this tool.
        Since:
        3.1
      • BEHAVIOR_NODES_CONTAINED_AND_RELATED_CONNECTIONS

        public static final int BEHAVIOR_NODES_CONTAINED_AND_RELATED_CONNECTIONS
        This behavior selects nodes completely encompassed by the marquee rectangle, and all connections between those nodes.
        Since:
        3.7
      • BEHAVIOR_NODES_TOUCHED

        public static final int BEHAVIOR_NODES_TOUCHED
        This behavior selects nodes that intersect the marquee rectangle.
        Since:
        3.7
      • BEHAVIOR_NODES_TOUCHED_AND_RELATED_CONNECTIONS

        public static final int BEHAVIOR_NODES_TOUCHED_AND_RELATED_CONNECTIONS
        This behavior selects nodes that intersect the marquee rectangle.
        Since:
        3.7
      • BEHAVIOR_NODES_AND_CONNECTIONS

        public static final int BEHAVIOR_NODES_AND_CONNECTIONS
        This behavior selects nodes completely encompassed by the marquee rectangle, and all connections between those nodes.
        Since:
        3.1
      • DEFAULT_MARQUEE_BEHAVIOR

        public static final int DEFAULT_MARQUEE_BEHAVIOR
        Constant defining the default marquee selection behavior.
        Since:
        3.7
    • Constructor Detail

      • MarqueeSelectionTool

        public MarqueeSelectionTool()
        Creates a new MarqueeSelectionTool of default type BEHAVIOR_NODES_CONTAINED.
    • Method Detail

      • calculateMarqueeSelectedEditParts

        protected java.util.Collection calculateMarqueeSelectedEditParts()
        Called from performMarqueeSelect() to determine those EditParts that are affected by the current marquee selection. In default and append mode, the edit parts returned here will become selected in the current viewer's new selection (which is calculated and set in performMarqueeSelect()), while in toggle mode their selection state will be inverted. Calculation is delegated to calculatePrimaryMarqueeSelectedEditParts() and calculateSecondaryMarqueeSelectedEditParts(Collection) to compute the set of marquee selected edit parts in a two step-process, where all directly affected edit parts are determined first, and those indirectly affected (related connections in case of BEHAVIOR_NODES_TOUCHED_AND_RELATED_CONNECTIONS, or BEHAVIOR_NODES_CONTAINED_AND_RELATED_CONNECTIONS) afterwards. Clients may overwrite to customize the calculation of marquee selected edit parts.
        Returns:
        A collection containing all edit parts that should be regarded as being included in the current marquee selection, i.e. which should get selected in default or append mode, and whose selection state should get inverted in toggle mode.
        Since:
        3.7
      • getCommandName

        protected java.lang.String getCommandName()
        Description copied from class: AbstractTool
        Returns the identifier of the command that is being sought. This name is also the named that will be logged in the debug view.
        Specified by:
        getCommandName in class AbstractTool
        Returns:
        the identifier for the command
        See Also:
        AbstractTool.getCommandName()
      • getCurrentMarqueeSelectionRectangle

        protected org.eclipse.draw2d.geometry.Rectangle getCurrentMarqueeSelectionRectangle()
        Returns the current marquee selection rectangle.
        Returns:
        A Rectangle representing the current marquee selection.
        Since:
        3.7
      • getCurrentSelectionMode

        protected int getCurrentSelectionMode()
        Returns the current selection mode, i.e. default, append, or toggle
        Returns:
        on of DEFAULT_MODE, APPEND_MODE, or TOGGLE_MODE
        Since:
        3.7
      • handleButtonDown

        protected boolean handleButtonDown​(int button)
        Description copied from class: AbstractTool
        Called when the mouse button has been pressed. By default, nothing happens and false is returned. Subclasses may override this method to interpret the meaning of a mouse down. Returning true indicates that the button down was handled in some way.
        Overrides:
        handleButtonDown in class AbstractTool
        Parameters:
        button - which button went down
        Returns:
        true if the buttonDown was handled
        See Also:
        AbstractTool.handleButtonDown(int)
      • handleButtonUp

        protected boolean handleButtonUp​(int button)
        Description copied from class: AbstractTool
        Called when the mouse button has been released. By default, nothing happens and false is returned. Subclasses may override this method to interpret the mouse up. Returning true indicates that the mouse up was handled in some way.
        Overrides:
        handleButtonUp in class AbstractTool
        Parameters:
        button - the button being released
        Returns:
        true if the button up was handled
        See Also:
        AbstractTool.handleButtonUp(int)
      • handleDragInProgress

        protected boolean handleDragInProgress()
        Description copied from class: AbstractTool
        Called whenever a mouse is being dragged and the drag threshold has been exceeded. Prior to the drag threshold being exceeded, only AbstractTool.handleDrag() is called. This method gets called repeatedly for every mouse move during the drag. By default, nothing happens and false is returned. Subclasses may override this method to interpret the drag. Returning true indicates that the drag was handled.
        Overrides:
        handleDragInProgress in class AbstractTool
        Returns:
        true if the drag was handled
        See Also:
        AbstractTool.handleDragInProgress()
      • handleFocusLost

        protected boolean handleFocusLost()
        Description copied from class: AbstractTool
        Handles high-level processing of a focus lost event. By default, nothing happens and false is returned. Subclasses may override this method to interpret the focus lost event. Return true to indicate that the event was processed.
        Overrides:
        handleFocusLost in class AbstractTool
        Returns:
        true if the event was handled
        See Also:
        AbstractTool.handleFocusLost()
      • handleInvalidInput

        protected boolean handleInvalidInput()
        This method is called when mouse or keyboard input is invalid and erases the feedback.
        Overrides:
        handleInvalidInput in class AbstractTool
        Returns:
        true
      • isMarqueeSelectable

        protected boolean isMarqueeSelectable​(GraphicalEditPart editPart)
        Decides whether the given edit part may potentially be included in the current marquee selection.
        Parameters:
        editPart - the EditPart of interest
        Returns:
        true if the given edit part may be included into the marquee selection, false otherwise
        Since:
        3.7
      • performMarqueeSelect

        protected void performMarqueeSelect()
        Calculates and sets a new viewer selection based on the current marquee selection. By default, this method delegates to calculateMarqueeSelectedEditParts() to obtain the set of edit parts, which should be regarded as being affected by the current marquee selection. It then calculates a new viewer selection based on the current selection state of all affected edit parts and the current selection mode of the tool ( getCurrentSelectionMode()), as well as the current selection of the viewer (in case of APPEND mode), which is then passed to the current viewer.
        Since:
        3.7