Package org.eclipse.gef.tools

# Class PanningSelectionTool

java.lang.Object
org.eclipse.gef.util.FlagSupport
org.eclipse.gef.tools.AbstractTool
org.eclipse.gef.tools.TargetingTool
org.eclipse.gef.tools.SelectionTool
org.eclipse.gef.tools.PanningSelectionTool

All Implemented Interfaces:
  `RequestConstants`, `Tool`

public class PanningSelectionTool extends SelectionTool
A subclass of the SelectionTool that allows panning by holding down the space bar.

## Nested Class Summary

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

`AbstractTool.Input`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final int`
`MAX_STATE`
Max state
`protected static final int`
`PAN`
The state to indicate that the space bar has been pressed but no drag has been initiated.
`protected static final int`
`PAN_IN_PROGRESS`
The state to indicate that a pan is in progress.

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

`MAX_FLAG, 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
`PanningSelectionTool()`

## Method Summary

Modifier and Type
Method
Description
`protected boolean`
`acceptSpaceBar(KeyEvent e)`
Returns `true` if spacebar condition was accepted.
`protected String`
`getDebugName()`
Returns the debug name for this tool.
`protected String`
`getDebugNameForState(int state)`
Returns a String representation of the given state for debug purposes.
`protected Cursor`
`getDefaultCursor()`
Returns the cursor used under normal conditions.
`protected boolean`
`handleButtonDown(int which)`
If there is a `Handle` under the mouse, this method sets the drag tracker returned from the handle.
`protected boolean`
`handleButtonUp(int which)`
Resets this tool when the last button is released.
`protected boolean`
`handleDrag()`
Called whenever the mouse is being dragged.
`protected boolean`
`handleFocusLost()`
Sets the drag tracker to `null` and goes into the initial state when focus is lost.
`protected boolean`
`handleKeyDown(KeyEvent e)`
Processes key down events.
`protected boolean`
`handleKeyUp(KeyEvent e)`
If in the initial state and the viewer has a `KeyHandler`, calls `KeyHandler.keyReleased(KeyEvent)` sending it the given key event.

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

`createHoverRequest, createTargetRequest, deactivate, eraseHoverFeedback, getCommandName, getDragTracker, getTargetHoverRequest, getTargetingConditional, handleCommandStackChanged, handleHover, handleHoverStop, handleMove, handleNativeDragFinished, handleNativeDragStarted, handleViewerExited, 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, 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, activate, addFeedback, applyProperty, calculateCursor, commitDrag, createOperationSet, debug, executeCommand, executeCurrentCommand, focusGained, focusLost, getCurrentCommand, getCurrentInput, getCurrentViewer, getDisabledCursor, getDomain, getDragMoveDelta, getLocation, getOperationSet, getStartLocation, getState, handleDoubleClick, 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`

## Field Details

### PAN

protected static final int PAN
The state to indicate that the space bar has been pressed but no drag has been initiated.

See Also:
  - Constant Field Values

### PAN_IN_PROGRESS

protected static final int PAN_IN_PROGRESS
The state to indicate that a pan is in progress.

See Also:
  - Constant Field Values

### MAX_STATE

protected static final int MAX_STATE
Max state

See Also:
  - Constant Field Values

## Constructor Details

### PanningSelectionTool

public PanningSelectionTool()

## Method Details

### acceptSpaceBar

protected boolean acceptSpaceBar(KeyEvent e)
Returns `true` if spacebar condition was accepted.

Parameters:
  `e` - the key event
Returns:
  true if the space bar was the key event.

### getDebugName

protected String getDebugName()
Description copied from class: `AbstractTool`
Returns the debug name for this tool.

Overrides:
  `getDebugName` in class `SelectionTool`
Returns:
  the debug name
See Also:
  - `AbstractTool.getDebugName()`

### getDebugNameForState

protected String getDebugNameForState(int state)
Description copied from class: `AbstractTool`
Returns a String representation of the given state for debug purposes.

Overrides:
  `getDebugNameForState` in class `SelectionTool`
Parameters:
  `state` - the state
Returns:
  the string for the given state
See Also:
  - `AbstractTool.getDebugNameForState(int)`

### getDefaultCursor

protected Cursor getDefaultCursor()
Returns the cursor used under normal conditions.

Overrides:
  `getDefaultCursor` in class `AbstractTool`
Returns:
  the default cursor
See Also:
  - `AbstractTool.setDefaultCursor(Cursor)`

### handleButtonDown

protected boolean handleButtonDown(int which)
Description copied from class: `SelectionTool`
If there is a `Handle` under the mouse, this method sets the drag tracker returned from the handle. If there's an `EditPart` under the mouse, this method sets the drag tracker returned from the edit part.

Overrides:
  `handleButtonDown` in class `SelectionTool`
Parameters:
  `which` - which button went down
Returns:
  `true` if the buttonDown was handled
See Also:
  - `SelectionTool.handleButtonDown(int)`

### handleButtonUp

protected boolean handleButtonUp(int which)
Description copied from class: `SelectionTool`
Resets this tool when the last button is released.

Overrides:
  `handleButtonUp` in class `SelectionTool`
Parameters:
  `which` - the button being released
Returns:
  `true` if the button up was handled
See Also:
  - `SelectionTool.handleButtonUp(int)`

### handleDrag

protected boolean handleDrag()
Description copied from class: `AbstractTool`
Called whenever the mouse is being dragged. This method continues to be called even once `AbstractTool.handleDragInProgress()` starts getting called. By default, nothing happens, and `false` is returned. Subclasses may override this method to interpret a drag. Returning `true` indicates that the drag was handled in some way.

Overrides:
  `handleDrag` in class `AbstractTool`
Returns:
  `true` if the drag is handled
See Also:
  - `AbstractTool.handleDrag()`

### handleFocusLost

protected boolean handleFocusLost()
Description copied from class: `SelectionTool`
Sets the drag tracker to `null` and goes into the initial state when focus is lost.

Overrides:
  `handleFocusLost` in class `SelectionTool`
Returns:
  `true` if the event was handled
See Also:
  - `SelectionTool.handleFocusLost()`

### handleKeyDown

protected boolean handleKeyDown(KeyEvent e)
Description copied from class: `SelectionTool`
Processes key down events. Specifically, arrow keys for moving edit parts, the ESC key for aborting a drag, the period '.' key for traversing handles, and the ENTER key for committing a drag. If none of these keys were pressed and the current viewer has a `KeyHandler`, it calls `KeyHandler.keyPressed(KeyEvent)`.

Overrides:
  `handleKeyDown` in class `SelectionTool`
Parameters:
  `e` - the key event
Returns:
  `true` if the key down was handled.
See Also:
  - `SelectionTool.handleKeyDown(org.eclipse.swt.events.KeyEvent)`

### handleKeyUp

protected boolean handleKeyUp(KeyEvent e)
Description copied from class: `SelectionTool`
If in the initial state and the viewer has a `KeyHandler`, calls `KeyHandler.keyReleased(KeyEvent)` sending it the given key event.

Overrides:
  `handleKeyUp` in class `SelectionTool`
Parameters:
  `e` - the key event
Returns:
  `true` if the event was handled
See Also:
  - `SelectionTool.handleKeyUp(org.eclipse.swt.events.KeyEvent)`