Package 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
Modifier and Type
Field
Description
`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
Description
`AbstractTreeEditPart()`
Default constructor
`AbstractTreeEditPart(Object model)`
Constructs a new EditPart with the specified model.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`addChildVisual(EditPart childEditPart, int index)`
Implemented to assign the child its `widget`.
`protected final 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 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 final void`
`setWidgetImage(Image image)`
Sets a specified `Image` into the widget iff it is a `TreeItem`.
`protected final void`
`setWidgetText(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 Details

### widget

protected Widget widget
Either a Tree or TreeItem

## Constructor Details

### AbstractTreeEditPart

public AbstractTreeEditPart(Object model)
Constructs a new EditPart with the specified model.

Parameters:
  `model` - the model

### AbstractTreeEditPart

public AbstractTreeEditPart()
Default constructor

## Method Details

### 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 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(String text)
Sets a specified `String` into the widget iff it is a `TreeItem`.

Parameters:
  `text` - the String