Class RuntimePatchedSelectionTool

java.lang.Object
org.eclipse.gef.util.FlagSupport
org.eclipse.gef.tools.AbstractTool
org.eclipse.gef.tools.TargetingTool
org.eclipse.gef.tools.SelectionTool
org.csstudio.opibuilder.runmode.RuntimePatchedSelectionTool
All Implemented Interfaces:
org.eclipse.gef.RequestConstants, org.eclipse.gef.Tool

public class RuntimePatchedSelectionTool extends org.eclipse.gef.tools.SelectionTool
Custom selection tool for OPI Runtime. Copies PV name to pastebuffer on middle click. Also patches behaviour on right-click.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.eclipse.gef.tools.AbstractTool

    org.eclipse.gef.tools.AbstractTool.Input
  • Field Summary

    Fields inherited from class org.eclipse.gef.tools.SelectionTool

    MAX_FLAG, MAX_STATE, STATE_TRAVERSE_HANDLE

    Fields inherited from class org.eclipse.gef.tools.AbstractTool

    MOUSE_BUTTON_ANY, MOUSE_BUTTON1, MOUSE_BUTTON2, MOUSE_BUTTON3, PROPERTY_UNLOAD_WHEN_FINISHED, STATE_ACCESSIBLE_DRAG, STATE_ACCESSIBLE_DRAG_IN_PROGRESS, STATE_DRAG, STATE_DRAG_IN_PROGRESS, STATE_INITIAL, STATE_INVALID, STATE_TERMINAL

    Fields inherited from interface org.eclipse.gef.RequestConstants

    REQ_ADD, REQ_ALIGN, REQ_ALIGN_CHILDREN, REQ_CLONE, REQ_CONNECTION_END, REQ_CONNECTION_START, REQ_CREATE, REQ_CREATE_BENDPOINT, REQ_DELETE, REQ_DELETE_DEPENDANT, REQ_DIRECT_EDIT, REQ_MOVE, REQ_MOVE_BENDPOINT, REQ_MOVE_CHILDREN, REQ_OPEN, REQ_ORPHAN, REQ_ORPHAN_CHILDREN, REQ_RECONNECT_SOURCE, REQ_RECONNECT_TARGET, REQ_RESIZE, REQ_RESIZE_CHILDREN, REQ_SELECTION, REQ_SELECTION_HOVER
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    handleButtonDown(int button)
    Intercept middle clicks and copy PV name to pastebuffer if available.
    protected boolean
    handleButtonUp(int button)
    Intercept middle clicks and restore original cursor if it has changed.
    protected boolean
    Work around a bug in GEF: right click is recognized as mouse exit event in LightWeightSystem, so handleButtonUp() will not be invoked for right click button up.

    Methods inherited from class org.eclipse.gef.tools.SelectionTool

    createHoverRequest, createTargetRequest, deactivate, eraseHoverFeedback, getCommandName, getDebugName, getDebugNameForState, getDragTracker, getTargetHoverRequest, getTargetingConditional, handleCommandStackChanged, handleFocusLost, handleHover, handleHoverStop, handleKeyDown, handleKeyUp, handleMove, handleNativeDragFinished, handleNativeDragStarted, keyDown, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, refreshCursor, setDragTracker, showHoverFeedback, updateHoverRequest, updateTargetRequest

    Methods inherited from class org.eclipse.gef.tools.TargetingTool

    doAutoexpose, eraseTargetFeedback, getAutoexposeHelper, getCommand, getDirection, getExclusionSet, getTargetEditPart, getTargetRequest, handleAutoexpose, handleEnteredEditPart, handleExitingEditPart, handleInvalidInput, handleLeavingEditPart, isShowingTargetFeedback, isTargetLocked, lockTargetEditPart, resetFlags, resetHover, setAutoexposeHelper, setTargetEditPart, setTargetRequest, showTargetFeedback, unlockTargetEditPart, updateAutoexposeHelper, updateTargetUnderMouse

    Methods inherited from class org.eclipse.gef.tools.AbstractTool

    acceptArrowKey, accGetStep, accStepIncrement, accStepReset, activate, addFeedback, applyProperty, calculateCursor, commitDrag, createOperationSet, debug, executeCommand, executeCurrentCommand, focusGained, focusLost, getCurrentCommand, getCurrentInput, getCurrentViewer, getDefaultCursor, getDisabledCursor, getDomain, getDragMoveDelta, getLocation, getOperationSet, getStartLocation, getState, handleDoubleClick, handleDrag, handleDragInProgress, handleDragStarted, handleFinished, handleFocusGained, handleKeyTraversed, handleViewerEntered, isActive, isHoverActive, isInState, isViewerImportant, keyTraversed, movedPastThreshold, nativeDragFinished, nativeDragStarted, performViewerMouseWheel, placeMouseInViewer, reactivate, releaseToolCapture, removeFeedback, setCurrentCommand, setCursor, setDefaultCursor, setDisabledCursor, setEditDomain, setHoverActive, setProperties, setStartLocation, setState, setToolCapture, setUnloadWhenFinished, setViewer, stateTransition, unloadWhenFinished, viewerEntered, viewerExited

    Methods inherited from class org.eclipse.gef.util.FlagSupport

    getFlag, setFlag

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RuntimePatchedSelectionTool

      public RuntimePatchedSelectionTool()
  • Method Details

    • handleViewerExited

      protected boolean handleViewerExited()
      Work around a bug in GEF: right click is recognized as mouse exit event in LightWeightSystem, so handleButtonUp() will not be invoked for right click button up. This will cause unexpected select behavior.
      Overrides:
      handleViewerExited in class org.eclipse.gef.tools.SelectionTool
    • handleButtonDown

      protected boolean handleButtonDown(int button)
      Intercept middle clicks and copy PV name to pastebuffer if available. Change cursor to copy symbol.
      Overrides:
      handleButtonDown in class org.eclipse.gef.tools.SelectionTool
    • handleButtonUp

      protected boolean handleButtonUp(int button)
      Intercept middle clicks and restore original cursor if it has changed.
      Overrides:
      handleButtonUp in class org.eclipse.gef.tools.SelectionTool