Eclipse GEF
2.1

org.eclipse.gef.handles
Class AbstractHandle

java.lang.Object
  |
  +--org.eclipse.draw2d.Figure
        |
        +--org.eclipse.gef.handles.AbstractHandle
All Implemented Interfaces:
AncestorListener, Handle, IFigure
Direct Known Subclasses:
MoveHandle, SquareHandle

public abstract class AbstractHandle
extends Figure
implements Handle, 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.


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
AbstractHandle()
          Null constructor
AbstractHandle(GraphicalEditPart owner, Locator loc)
          Creates a handle for the given GraphicalEditPart using the given Locator.
AbstractHandle(GraphicalEditPart owner, Locator loc, Cursor c)
          Creates a handle for the given GraphicalEditPart using the given Locator and Cursor.
 
Method Summary
 void addNotify()
          Adds this as a FigureListener to the owner's Figure.
 void ancestorAdded(IFigure ancestor)
           
 void ancestorMoved(IFigure ancestor)
           
 void ancestorRemoved(IFigure ancestor)
           
protected abstract  DragTracker createDragTracker()
          Creates a new drag tracker to be returned by getDragTracker().
 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.
 Locator getLocator()
          Returns the Locator used to position this handle.
protected  GraphicalEditPart getOwner()
          Returns the GraphicalEditPart associated with this handle.
protected  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(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, addFigureListener, addFocusListener, addKeyListener, addListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, containsPoint, containsPoint, erase, findDescendantAtExcluding, findFigureAt, findFigureAt, findFigureAt, findFigureAtExcluding, findMouseEventTargetAt, findMouseEventTargetInDescendantsAt, fireMoved, firePropertyChange, firePropertyChange, firePropertyChange, getBackgroundColor, getBorder, getBounds, getChildren, getClientArea, getClientArea, getCursor, getFlag, getFont, getForegroundColor, getInsets, getLayoutManager, getListeners, getLocalBackgroundColor, getLocalForegroundColor, getLocation, getMaximumSize, getMinimumSize, getMinimumSize, getParent, getPreferredSize, getPreferredSize, getSize, getToolTip, getUpdateManager, handleFocusGained, handleFocusLost, handleKeyPressed, handleKeyReleased, handleMouseDoubleClicked, handleMouseDragged, handleMouseEntered, handleMouseExited, handleMouseHover, handleMouseMoved, handleMousePressed, handleMouseReleased, hasFocus, internalGetEventDispatcher, intersects, invalidate, invalidateTree, isEnabled, isFocusTraversable, isMouseEventTarget, isOpaque, isRequestFocusEnabled, isShowing, isValid, isValidationRoot, isVisible, layout, paint, paintBorder, paintChildren, paintClientArea, paintFigure, primTranslate, remove, removeAll, removeAncestorListener, removeFigureListener, removeFocusListener, removeKeyListener, removeListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, revalidate, setBackgroundColor, setBorder, setBounds, setChildrenDirection, setChildrenEnabled, setChildrenOrientation, 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, useLocalCoordinates
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractHandle

public AbstractHandle()
Null constructor


AbstractHandle

public AbstractHandle(GraphicalEditPart owner,
                      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,
                      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 Detail

addNotify

public void addNotify()
Adds this as a FigureListener to the owner's Figure.

Specified by:
addNotify in interface IFigure
Overrides:
addNotify in class Figure

ancestorMoved

public void ancestorMoved(IFigure ancestor)
Specified by:
ancestorMoved in interface AncestorListener
See Also:
AncestorListener.ancestorMoved(org.eclipse.draw2d.IFigure)

ancestorAdded

public void ancestorAdded(IFigure ancestor)
Specified by:
ancestorAdded in interface AncestorListener
See Also:
AncestorListener.ancestorAdded(org.eclipse.draw2d.IFigure)

ancestorRemoved

public void ancestorRemoved(IFigure ancestor)
Specified by:
ancestorRemoved in interface 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 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

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 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 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 IFigure
Overrides:
removeNotify in class Figure
See Also:
IFigure.removeNotify()

setDragCursor

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(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 IFigure
Overrides:
validate in class Figure
See Also:
IFigure.validate()

Eclipse GEF
2.1

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