Package org.eclipse.gef.handles

# Class AbstractHandle

java.lang.Object
org.eclipse.draw2d.Figure
org.eclipse.gef.handles.AbstractHandle

All Implemented Interfaces:
  `org.eclipse.draw2d.AncestorListener`, `org.eclipse.draw2d.IFigure`, `Handle`

Direct Known Subclasses:
  `MoveHandle`, `SquareHandle`

public abstract class AbstractHandle extends org.eclipse.draw2d.Figure implements Handle, org.eclipse.draw2d.AncestorListener
Base implementation for handles. This class keeps track of the typical data needed by a handle, such as a drag tracker, a locator to place the handle, a cursor, and the editpart to which the handle belongs. AbstractHandle will add an `AncestorListener` to the owner's figure, and will automatically revalidate this handle whenever the owner's figure moves.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.eclipse.draw2d.Figure

`org.eclipse.draw2d.Figure.FigureIterator, org.eclipse.draw2d.Figure.IdentitySearch, org.eclipse.draw2d.Figure.ReverseFigureChildrenIterator`

## Nested classes/interfaces inherited from interface org.eclipse.draw2d.AncestorListener

`org.eclipse.draw2d.AncestorListener.Stub`

## Nested classes/interfaces inherited from interface org.eclipse.draw2d.IFigure

`org.eclipse.draw2d.IFigure.NoInsets`

## Field Summary

### Fields inherited from class org.eclipse.draw2d.Figure

`bgColor, border, bounds, fgColor, flags, font, MAX_FLAG, maxSize, minSize, NO_MANAGER, prefSize, toolTip`

### Fields inherited from interface org.eclipse.draw2d.IFigure

`MAX_DIMENSION, MIN_DIMENSION, NO_INSETS`

## Constructor Summary

Constructors
Constructor
Description
`AbstractHandle()`
Null constructor
`AbstractHandle(GraphicalEditPart owner, org.eclipse.draw2d.Locator loc)`
Creates a handle for the given `GraphicalEditPart` using the given `Locator`.
`AbstractHandle(GraphicalEditPart owner, org.eclipse.draw2d.Locator loc, Cursor c)`
Creates a handle for the given `GraphicalEditPart` using the given `Locator` and `Cursor`.

## Method Summary

Modifier and Type
Method
Description
`void`
`addNotify()`
Adds this as an `AncestorListener` to the owner's `Figure`.
`void`
`ancestorAdded(org.eclipse.draw2d.IFigure ancestor)`
`void`
`ancestorMoved(org.eclipse.draw2d.IFigure ancestor)`
`void`
`ancestorRemoved(org.eclipse.draw2d.IFigure ancestor)`
`protected abstract DragTracker`
`createDragTracker()`
Creates a new drag tracker to be returned by getDragTracker().
`org.eclipse.draw2d.geometry.Point`
`getAccessibleLocation()`
By default, the center of the handle is returned.
`Cursor`
`getDragCursor()`
Deprecated.
use getCursor()
`DragTracker`
`getDragTracker()`
Returns the drag tracker to use when the user clicks on this handle.
`org.eclipse.draw2d.Locator`
`getLocator()`
Returns the `Locator` used to position this handle.
`protected GraphicalEditPart`
`getOwner()`
Returns the `GraphicalEditPart` associated with this handle.
`protected org.eclipse.draw2d.IFigure`
`getOwnerFigure()`
Convenience method to return the owner's figure.
`void`
`removeNotify()`
`void`
`setDragCursor(Cursor c)`
Deprecated.
use setCursor()
`void`
`setDragTracker(DragTracker t)`
Sets the drag tracker for this handle.
`protected void`
`setLocator(org.eclipse.draw2d.Locator locator)`
Sets the locator which position this handle.
`protected void`
`setOwner(GraphicalEditPart editpart)`
Sets the owner editpart associated with this handle.
`void`
`validate()`
Extends validate() to place the handle using its locator.

### Methods inherited from class org.eclipse.draw2d.Figure

`add, add, add, add, addAncestorListener, addCoordinateListener, addFigureListener, addFocusListener, addKeyListener, addLayoutListener, addListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, containsPoint, containsPoint, erase, findDescendantAtExcluding, findFigureAt, findFigureAt, findFigureAt, findFigureAtExcluding, findMouseEventTargetAt, findMouseEventTargetInDescendantsAt, fireCoordinateSystemChanged, fireFigureMoved, fireMoved, firePropertyChange, firePropertyChange, firePropertyChange, getBackgroundColor, getBorder, getBounds, getChildren, getChildrenRevIterable, getClientArea, getClientArea, getClippingStrategy, getCursor, getFlag, getFont, getForegroundColor, getInsets, getLayoutManager, getListeners, getListenersIterable, getLocalBackgroundColor, getLocalFont, getLocalForegroundColor, getLocation, getMaximumSize, getMinimumSize, getMinimumSize, getParent, getPreferredSize, getPreferredSize, getSize, getToolTip, getUpdateManager, handleFocusGained, handleFocusLost, handleKeyPressed, handleKeyReleased, handleMouseDoubleClicked, handleMouseDragged, handleMouseEntered, handleMouseExited, handleMouseHover, handleMouseMoved, handleMousePressed, handleMouseReleased, handleMouseWheelScrolled, hasFocus, internalGetEventDispatcher, internalGetLightweightSystem, intersects, invalidate, invalidateTree, isCoordinateSystem, isEnabled, isFocusTraversable, isMirrored, isMouseEventTarget, isOpaque, isRequestFocusEnabled, isShowing, isValid, isValidationRoot, isVisible, layout, optimizeClip, paint, paintBorder, paintChildren, paintClientArea, paintFigure, primTranslate, remove, removeAll, removeAncestorListener, removeCoordinateListener, removeFigureListener, removeFocusListener, removeKeyListener, removeLayoutListener, removeListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, revalidate, setBackgroundColor, setBorder, setBounds, setChildrenDirection, setChildrenEnabled, setChildrenOrientation, setClippingStrategy, setConstraint, setCursor, setEnabled, setFlag, setFocusTraversable, setFont, setForegroundColor, setLayoutManager, setLocation, setMaximumSize, setMinimumSize, setOpaque, setParent, setPreferredSize, setPreferredSize, setRequestFocusEnabled, setSize, setSize, setToolTip, setValid, setVisible, translate, translateFromParent, translateToAbsolute, translateToParent, translateToRelative, useDoublePrecision, useLocalCoordinates`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### AbstractHandle

public AbstractHandle()
Null constructor

### AbstractHandle

public AbstractHandle(GraphicalEditPart owner, org.eclipse.draw2d.Locator loc)
Creates a handle for the given `GraphicalEditPart` using the given `Locator`.

Parameters:
  `owner` - The editpart which provided this handle
  `loc` - The locator to position the handle

### AbstractHandle

public AbstractHandle(GraphicalEditPart owner, org.eclipse.draw2d.Locator loc, Cursor c)
Creates a handle for the given `GraphicalEditPart` using the given `Locator` and `Cursor`.

Parameters:
  `owner` - The editpart which provided this handle
  `loc` - The locator to position the handle
  `c` - The cursor to display when the mouse is over the handle

## Method Details

### addNotify

public void addNotify()
Adds this as an `AncestorListener` to the owner's `Figure`.

Specified by:
  `addNotify` in interface `org.eclipse.draw2d.IFigure`
Overrides:
  `addNotify` in class `org.eclipse.draw2d.Figure`

### ancestorMoved

public void ancestorMoved(org.eclipse.draw2d.IFigure ancestor)

Specified by:
  `ancestorMoved` in interface `org.eclipse.draw2d.AncestorListener`
See Also:
  - `AncestorListener.ancestorMoved(org.eclipse.draw2d.IFigure)`

### ancestorAdded

public void ancestorAdded(org.eclipse.draw2d.IFigure ancestor)

Specified by:
  `ancestorAdded` in interface `org.eclipse.draw2d.AncestorListener`
See Also:
  - `AncestorListener.ancestorAdded(org.eclipse.draw2d.IFigure)`

### ancestorRemoved

public void ancestorRemoved(org.eclipse.draw2d.IFigure ancestor)

Specified by:
  `ancestorRemoved` in interface `org.eclipse.draw2d.AncestorListener`
See Also:
  - `AncestorListener.ancestorRemoved(org.eclipse.draw2d.IFigure)`

### createDragTracker

protected abstract DragTracker createDragTracker()
Creates a new drag tracker to be returned by getDragTracker().

Returns:
  a new drag tracker

### getAccessibleLocation

public org.eclipse.draw2d.geometry.Point getAccessibleLocation()
By default, the center of the handle is returned.

Specified by:
  `getAccessibleLocation` in interface `Handle`
Returns:
  `null` or the absolute location
See Also:
  - `Handle.getAccessibleLocation()`

### getDragCursor

@Deprecated public Cursor getDragCursor()
Deprecated.
use getCursor()
Returns the cursor. The cursor is displayed whenever the mouse is over the handle.

Returns:
  the cursor

### getDragTracker

public DragTracker getDragTracker()
Returns the drag tracker to use when the user clicks on this handle. If the drag tracker has not been set, it will be lazily created by calling `createDragTracker()`.

Specified by:
  `getDragTracker` in interface `Handle`
Returns:
  the drag tracker

### getLocator

public org.eclipse.draw2d.Locator getLocator()
Returns the `Locator` used to position this handle.

Returns:
  the locator

### getOwner

protected GraphicalEditPart getOwner()
Returns the `GraphicalEditPart` associated with this handle.

Returns:
  the owner editpart

### getOwnerFigure

protected org.eclipse.draw2d.IFigure getOwnerFigure()
Convenience method to return the owner's figure.

Returns:
  the owner editpart's figure

### removeNotify

public void removeNotify()

Specified by:
  `removeNotify` in interface `org.eclipse.draw2d.IFigure`
Overrides:
  `removeNotify` in class `org.eclipse.draw2d.Figure`
See Also:
  - `IFigure.removeNotify()`

### setDragCursor

@Deprecated public void setDragCursor(Cursor c) throws Exception
Deprecated.
use setCursor()
Sets the Cursor for the handle.

Parameters:
  `c` - the cursor
Throws:
  `Exception` - a bogus excpetion declaration

### setDragTracker

public void setDragTracker(DragTracker t)
Sets the drag tracker for this handle.

Parameters:
  `t` - the drag tracker

### setLocator

protected void setLocator(org.eclipse.draw2d.Locator locator)
Sets the locator which position this handle.

Parameters:
  `locator` - the new locator

### setOwner

protected void setOwner(GraphicalEditPart editpart)
Sets the owner editpart associated with this handle.

Parameters:
  `editpart` - the owner

### validate

public void validate()
Extends validate() to place the handle using its locator.

Specified by:
  `validate` in interface `org.eclipse.draw2d.IFigure`
Overrides:
  `validate` in class `org.eclipse.draw2d.Figure`
See Also:
  - `IFigure.validate()`