Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Eclipse GEF
3.3

org.eclipse.gef.tools
Class SelectEditPartTracker

java.lang.Object
  extended by

org.eclipse.gef.util.FlagSupport
      extended by

org.eclipse.gef.tools.AbstractTool
          extended by

org.eclipse.gef.tools.TargetingTool
              extended by
org.eclipse.gef.tools.SelectEditPartTracker
All Implemented Interfaces:
DragTracker, RequestConstants, Tool
Direct Known Subclasses:
DeselectAllTracker, DragEditPartsTracker, DragTreeItemsTracker

public class SelectEditPartTracker
extends TargetingTool
implements DragTracker

DragTracker used to select, edit, and open EditParts.


Nested Class Summary
 
Nested classes inherited from class org.eclipse.gef.tools. AbstractTool
AbstractTool.Input
 
Field Summary
protected static int FLAG_SELECTION_PERFORMED
          Flag to indicate selection has been performed.
protected static int MAX_FLAG
          Max flag
 
Fields inherited from class org.eclipse.gef.tools. AbstractTool
MAX_STATE, 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
SelectEditPartTracker ( EditPart owner)
          Constructs a new SelectEditPartTracker with the given edit part as the source.
 
Method Summary
protected  Cursor calculateCursor ()
          Returns the appropriate cursor for the tools current state.
protected  java.lang.String getCommandName ()
          Returns the identifier of the command that is being sought.
protected  java.lang.String getDebugName ()
          Returns the debug name for this tool.
protected   EditPart getSourceEditPart ()
          Returns the source edit part.
protected  boolean handleButtonDown (int button)
          Performs a conditional selection if needed (if right or left mouse button have been pressed) and goes into the drag state.
protected  boolean handleButtonUp (int button)
          If in the drag state, the tool selects the source edit part.
protected  boolean handleDoubleClick (int button)
          Calls performOpen() if the double click was with mouse button 1.
protected  boolean handleDragStarted ()
          Called only one time during a drag when the drag threshold has been exceeded.
protected  boolean hasSelectionOccurred ()
          Returns true if selection has already occured.
protected  void performConditionalSelection ()
          Calls performSelection() if the source is not selected.
protected  void performDirectEdit ()
          Creates a DirectEditRequest and sends it to a DelayedDirectEditHelper to allow the user to directly edit the edit part.
protected  void performOpen ()
          Creates a SelectionRequest and sends it to the source edit part via EditPart.performRequest(Request).
protected  void performSelection ()
          Performs the appropriate selection action based on the selection state of the source and the modifiers (CTRL and SHIFT).
protected  void resetFlags ()
          Extended to reset the target lock flag.
protected  void setSourceEditPart ( EditPart part)
          Sets the source edit part.
 
Methods inherited from class org.eclipse.gef.tools. TargetingTool
createTargetRequest, deactivate, doAutoexpose, eraseTargetFeedback, getAutoexposeHelper, getCommand, getExclusionSet, getTargetEditPart, getTargetingConditional, getTargetRequest, handleAutoexpose, handleEnteredEditPart, handleExitingEditPart, handleHoverStop, handleInvalidInput, handleLeavingEditPart, handleViewerExited, isShowingTargetFeedback, isTargetLocked, lockTargetEditPart, resetHover, setAutoexposeHelper, setTargetEditPart, setTargetRequest, showTargetFeedback, unlockTargetEditPart, updateAutoexposeHelper, updateTargetRequest, updateTargetUnderMouse
 
Methods inherited from class org.eclipse.gef.tools. AbstractTool
acceptArrowKey, activate, addFeedback, applyProperty, commitDrag, createOperationSet, debug, executeCommand, executeCurrentCommand, focusGained, focusLost, getCurrentCommand, getCurrentInput, getCurrentViewer, getDebugNameForState, getDefaultCursor, getDisabledCursor, getDomain, getDragMoveDelta, getLocation, getOperationSet, getStartLocation, getState, handleCommandStackChanged, handleDrag, handleDragInProgress, handleFinished, handleFocusGained, handleFocusLost, handleHover, handleKeyDown, handleKeyTraversed, handleKeyUp, handleMove, handleNativeDragFinished, handleNativeDragStarted, handleViewerEntered, isActive, isHoverActive, isInState, isViewerImportant, keyDown, keyTraversed, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, movedPastThreshold, nativeDragFinished, nativeDragStarted, performViewerMouseWheel, placeMouseInViewer, reactivate, refreshCursor, 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
 
Methods inherited from interface org.eclipse.gef. DragTracker
commitDrag
 
Methods inherited from interface org.eclipse.gef. Tool
activate, deactivate, focusGained, focusLost, keyDown, keyTraversed, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, nativeDragFinished, nativeDragStarted, setEditDomain, setProperties, setViewer, viewerEntered, viewerExited
 

Field Detail

FLAG_SELECTION_PERFORMED

protected static final int FLAG_SELECTION_PERFORMED
Flag to indicate selection has been performed.

See Also:
Constant Field Values

MAX_FLAG

protected static final int MAX_FLAG
Max flag

See Also:
Constant Field Values
Constructor Detail

SelectEditPartTracker

public SelectEditPartTracker(
EditPart owner)
Constructs a new SelectEditPartTracker with the given edit part as the source.

Parameters:
owner - the source edit part
Method Detail

calculateCursor

protected Cursor calculateCursor()
Description copied from class: AbstractTool
Returns the appropriate cursor for the tools current state. If the tool is in its terminal state, null is returned. Otherwise, either the default or disabled cursor is returned, based on the existence of a current command, and whether that current command is executable.

Subclasses may override or extend this method to calculate the appropriate cursor based on other conditions.

Overrides:
calculateCursor in class AbstractTool
Returns:
null or a cursor to be displayed.
See Also:
AbstractTool.calculateCursor()

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()

getDebugName

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

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

getSourceEditPart

protected 
EditPart getSourceEditPart()
Returns the source edit part.

Returns:
the source edit part

handleButtonDown

protected boolean handleButtonDown(int button)
Performs a conditional selection if needed (if right or left mouse button have been pressed) and goes into the drag state. If any other button has been pressed, the tool goes into the invalid state.

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)
If in the drag state, the tool selects the source edit part. If the edit part was already selected, performDirectEdit() is called. If the edit part is newly selected and not completely visible, EditPartViewer.reveal(EditPart) is called to show the selected edit part.

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

handleDoubleClick

protected boolean handleDoubleClick(int button)
Calls performOpen() if the double click was with mouse button 1.

Overrides:
handleDoubleClick in class AbstractTool
Parameters:
button - which button was double-clicked
Returns:
true if the event was handled
See Also:
AbstractTool.handleDoubleClick(int)

handleDragStarted

protected boolean handleDragStarted()
Description copied from class: AbstractTool
Called only one time during a drag when the drag threshold has been exceeded. By default, nothing happens and false is returned. Subclasses may override to interpret the drag starting. Returning true indicates that the event was handled.

Overrides:
handleDragStarted in class AbstractTool
Returns:
true if the drag starting was handled
See Also:
AbstractTool.handleDragStarted()

hasSelectionOccurred

protected boolean hasSelectionOccurred()
Returns true if selection has already occured.

Returns:
true if selection has occured

performConditionalSelection

protected void performConditionalSelection()
Calls performSelection() if the source is not selected. If the source is selected and there are no modifier keys pressed (i.e. the user isn't selecting multiple edit parts or deselecting edit parts), sets the direct edit flag so that when the mouse is released, a direct edit will be performed.


performDirectEdit

protected void performDirectEdit()
Creates a DirectEditRequest and sends it to a DelayedDirectEditHelper to allow the user to directly edit the edit part.


performOpen

protected void performOpen()
Creates a SelectionRequest and sends it to the source edit part via EditPart.performRequest(Request). Possible uses are to open the selected item in another editor or replace the current editor's contents based on the selected item.


performSelection

protected void performSelection()
Performs the appropriate selection action based on the selection state of the source and the modifiers (CTRL and SHIFT). If no modifier key is pressed, the source will be set as the only selection. If the CTRL key is pressed and the edit part is already selected, it will be deselected. If the CTRL key is pressed and the edit part is not selected, it will be appended to the selection set. If the SHIFT key is pressed, the source will be appended to the selection.


resetFlags

protected void resetFlags()
Description copied from class: TargetingTool
Extended to reset the target lock flag.

Overrides:
resetFlags in class TargetingTool
See Also:
AbstractTool.resetFlags()

setSourceEditPart

protected void setSourceEditPart(
EditPart part)
Sets the source edit part.

Parameters:
part - the source edit part

Eclipse GEF
3.3

Copyright (c) IBM Corp. and others 2000, 2007. All Rights Reserved.

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire