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.
`List<? extends TreeEditPart>`
`getChildren()`
Returns the List of children `EditParts`.
`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, getCommand, getEditPolicy, getEditPolicyIterable, getEditPolicyIterator, getEventListeners, getEventListenersIterable, 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, 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()`

### getChildren

public List<? extends TreeEditPart> getChildren()
Description copied from interface: `EditPart`
Returns the List of children `EditParts`. This method should rarely be called, and is only made public so that helper objects of this EditPart, such as EditPolicies, can obtain the children. The returned List may be by reference, and should never be modified.

Specified by:
  `getChildren` in interface `EditPart`
Overrides:
  `getChildren` in class `AbstractEditPart`
Returns:
  a `List` of children
See Also:
  - `EditPart.getChildren()`

### 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()` and must not return `null`.

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