org.eclipse.gef.editparts

## Class AbstractTreeEditPart

- java.lang.Object
- - org.eclipse.gef.editparts.AbstractEditPart
  - - org.eclipse.gef.editparts.AbstractTreeEditPart

All Implemented Interfaces:
  IAdaptable, EditPart, RequestConstants, TreeEditPart

    public abstract class AbstractTreeEditPart
    extends AbstractEditPart
    implements TreeEditPart

Default implementation for `TreeEditPart`s used in GEF `TreeViewer`s.

This is an implementation class, and the documentation here is targeted at subclassing this class. Callers of public API should refer to the interface's documentation.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.eclipse.gef.editparts.AbstractEditPart

`AbstractEditPart.EditPolicyIterator`

### Field Summary

Fields
`protected Widget` `widget` Either a Tree or TreeItem

### Fields inherited from class org.eclipse.gef.editparts.AbstractEditPart

`children, FLAG_ACTIVE, FLAG_FOCUS, MAX_FLAG`

### Fields inherited from interface org.eclipse.gef.EditPart

`SELECTED, SELECTED_NONE, SELECTED_PRIMARY`

### 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 and Description
`AbstractTreeEditPart()` Default constructor
`AbstractTreeEditPart(java.lang.Object model)` Constructs a new EditPart with the specified model.

### Method Summary

Methods
`protected void` `addChildVisual(EditPart childEditPart, int index)` Implemented to assign the child its `widget`.
`protected boolean` `checkTreeItem()` Convenience method that returns `true` if the widget is a TreeItem and is safe to use.
`protected void` `createEditPolicies()` Override this method to install the EditPolicies for your EditPart.
`DragTracker` `getDragTracker(Request req)` Returns a `DragTracker` for dragging this EditPart.
`protected Image` `getImage()` Override this method to return the `Image` for this EditPart's `widget`.
`protected java.lang.String` `getText()` Override this method to return the String to be used in this EditPart's `widget`.
`Widget` `getWidget()` Returns either a `Tree` or `TreeItem`.
`protected void` `refreshVisuals()` By default, this method will apply an `Image` and `String` to the widget if it is a `TreeItem`.
`protected void` `removeChildVisual(EditPart childEditPart)` Disposes the child's `widget` and sets it to `null` .
`protected void` `reorderChild(EditPart editpart, int index)` Moves a child `EditPart` into a lower index than it currently occupies.
`void` `setWidget(Widget widget)` Sets the `widget`.
`protected void` `setWidgetImage(Image image)` Sets a specified `Image` into the widget iff it is a `TreeItem`.
`protected void` `setWidgetText(java.lang.String text)` Sets a specified `String` into the widget iff it is a `TreeItem`.

### Methods inherited from class org.eclipse.gef.editparts.AbstractEditPart

`activate, activateEditPolicies, addChild, addEditPartListener, addNotify, createChild, deactivate, deactivateEditPolicies, debug, debugFeedback, eraseSourceFeedback, eraseTargetFeedback, fireActivated, fireChildAdded, fireDeactivated, fireRemovingChild, fireSelectionChanged, getAccessibleEditPart, getAdapter, getChildren, getCommand, getEditPolicy, getEditPolicyIterator, getEventListeners, getFlag, getModel, getModelChildren, getParent, getRoot, getSelected, getTargetEditPart, getViewer, hasFocus, installEditPolicy, isActive, isSelectable, performRequest, refresh, refreshChildren, register, registerAccessibility, registerModel, registerVisuals, removeChild, removeEditPartListener, removeEditPolicy, removeNotify, setFlag, setFocus, setModel, setParent, setSelected, showSourceFeedback, showTargetFeedback, toString, understandsRequest, unregister, unregisterAccessibility, unregisterModel, unregisterVisuals`

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

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

### Methods inherited from interface org.eclipse.gef.EditPart

`activate, addEditPartListener, addNotify, deactivate, eraseSourceFeedback, eraseTargetFeedback, getChildren, getCommand, getEditPolicy, getModel, getParent, getRoot, getSelected, getTargetEditPart, getViewer, hasFocus, installEditPolicy, isActive, isSelectable, performRequest, refresh, removeEditPartListener, removeEditPolicy, removeNotify, setFocus, setModel, setParent, setSelected, showSourceFeedback, showTargetFeedback, understandsRequest`

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Field Detail

#### widget

    protected Widget widget

Either a Tree or TreeItem

### Constructor Detail

#### AbstractTreeEditPart

    public AbstractTreeEditPart(java.lang.Object model)

Constructs a new EditPart with the specified model.

Parameters:
  `model` - the model

#### AbstractTreeEditPart

    public AbstractTreeEditPart()

Default constructor

### Method Detail

#### addChildVisual

    protected void addChildVisual(EditPart childEditPart,
                      int index)

Implemented to assign the child its `widget`. Subclasses should not call or override this method.

Specified by:
  `addChildVisual` in class `AbstractEditPart`
Parameters:
  `childEditPart` - The EditPart being added
  `index` - The child's position
See Also:
  `AbstractEditPart.addChildVisual(EditPart, int)`

#### checkTreeItem

    protected final boolean checkTreeItem()

Convenience method that returns `true` if the widget is a TreeItem and is safe to use.

Returns:
  `true` if the widget is a `TreeItem` and is not disposed

#### createEditPolicies

    protected void createEditPolicies()

Override this method to install the EditPolicies for your EditPart.

Specified by:
  `createEditPolicies` in class `AbstractEditPart`
See Also:
  `AbstractEditPart.createEditPolicies()`

#### getDragTracker

    public DragTracker getDragTracker(Request req)

Description copied from interface: `EditPart`
Returns a `DragTracker` for dragging this EditPart. The `SelectionTool` is the only Tool by default that calls this method. The SelectionTool will use a `SelectionRequest` to provide information such as which mouse button is down, and what modifier keys are pressed.

Specified by:
  `getDragTracker` in interface `EditPart`
Parameters:
  `req` - a `Request` indicating the context of the drag
Returns:
  `null` or a DragTracker
See Also:
  `EditPart.getDragTracker(Request)`

#### getImage

    protected Image getImage()

Override this method to return the `Image` for this EditPart's `widget`. This method is called from `refreshVisuals()`.

Returns:
  the Image to be displayed in the TreeItem

#### getText

    protected java.lang.String getText()

Override this method to return the String to be used in this EditPart's `widget`. This method is called from `refreshVisuals()`.

Returns:
  the String to be displayed by the TreeItem

#### getWidget

    public Widget getWidget()

Description copied from interface: `TreeEditPart`
Returns either a `Tree` or `TreeItem`.

Specified by:
  `getWidget` in interface `TreeEditPart`
Returns:
  the Widget
See Also:
  `TreeEditPart.getWidget()`

#### refreshVisuals

    protected void refreshVisuals()

By default, this method will apply an `Image` and `String` to the widget if it is a `TreeItem`. Subclasses should override `getImage()` and `getText()` to provide the `Image` and `String` used.

Subclasses might extend this method if they also want to change the TreeItem's foreground or background color.

Overrides:
  `refreshVisuals` in class `AbstractEditPart`
See Also:
  `AbstractEditPart.refreshVisuals()`

#### removeChildVisual

    protected void removeChildVisual(EditPart childEditPart)

Disposes the child's `widget` and sets it to `null` .

Specified by:
  `removeChildVisual` in class `AbstractEditPart`
Parameters:
  `childEditPart` - the child EditPart
See Also:
  `AbstractEditPart.removeChildVisual(EditPart)`

#### reorderChild

    protected void reorderChild(EditPart editpart,
                    int index)

Description copied from class: `AbstractEditPart`
Moves a child `EditPart` into a lower index than it currently occupies. This method is called from `AbstractEditPart.refreshChildren()`.

Overrides:
  `reorderChild` in class `AbstractEditPart`
Parameters:
  `editpart` - the child being reordered
  `index` - new index for the child
See Also:
  `AbstractEditPart.reorderChild(EditPart, int)`

#### setWidget

    public void setWidget(Widget widget)

Sets the `widget`.

Specified by:
  `setWidget` in interface `TreeEditPart`
Parameters:
  `widget` - the Widget
See Also:
  `TreeEditPart.setWidget(Widget)`

#### setWidgetImage

    protected final void setWidgetImage(Image image)

Sets a specified `Image` into the widget iff it is a `TreeItem`.

Parameters:
  `image` - the Image

#### setWidgetText

    protected final void setWidgetText(java.lang.String text)

Sets a specified `String` into the widget iff it is a `TreeItem`.

Parameters:
  `text` - the String