|
Eclipse Platform Release 3.2 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.eclipse.jface.viewers.Viewer
org.eclipse.jface.viewers.ContentViewer
org.eclipse.jface.viewers.StructuredViewer
org.eclipse.jface.viewers.AbstractTreeViewer
org.eclipse.jface.viewers.TreeViewer
public class TreeViewer
A concrete viewer based on an SWT Tree control.
This class is not intended to be subclassed outside the viewer framework. It is designed to be instantiated with a pre-existing SWT tree control and configured with a domain-specific content provider, label provider, element filter (optional), and element sorter (optional).
Content providers for tree viewers must implement either the
ITreeContentProvider interface or (as of 3.2) the
ILazyTreeContentProvider interface. If the content provider is an
ILazyTreeContentProvider, the underlying Tree must be created
using the SWT.VIRTUAL style bit, and the tree viewer will not support
sorting or filtering.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.eclipse.jface.viewers.StructuredViewer |
|---|
StructuredViewer.ColorAndFontCollector, StructuredViewer.ColorAndFontCollectorWithProviders |
| Field Summary |
|---|
| Fields inherited from class org.eclipse.jface.viewers.AbstractTreeViewer |
|---|
ALL_LEVELS |
| Fields inherited from class org.eclipse.jface.viewers.Viewer |
|---|
WIDGET_DATA_KEY |
| Constructor Summary | |
|---|---|
TreeViewer(Composite parent)
Creates a tree viewer on a newly-created tree control under the given parent. |
|
TreeViewer(Composite parent,
int style)
Creates a tree viewer on a newly-created tree control under the given parent. |
|
TreeViewer(Tree tree)
Creates a tree viewer on the given tree control. |
|
| Method Summary | |
|---|---|
protected void |
addTreeListener(Control c,
TreeListener listener)
Adds the given SWT tree listener to the given SWT control. |
protected void |
assertContentProviderType(IContentProvider provider)
Assert that the content provider is of one of the supported types. |
protected void |
buildLabel(ViewerLabel updateLabel,
Object elementOrPath)
Override to handle tree paths. |
void |
cancelEditing()
Cancels a currently active cell editor. |
protected void |
createChildren(Widget widget)
Creates all children for the given widget. |
protected void |
doUpdateItem(Item item,
Object element)
Copies the attributes of the given element into the given SWT item. |
void |
editElement(Object element,
int column)
Starts editing the given element. |
CellEditor[] |
getCellEditors()
Returns the cell editors of this tree viewer. |
ICellModifier |
getCellModifier()
Returns the cell modifier of this tree viewer. |
protected Item |
getChild(Widget widget,
int index)
Get the child for the widget at index. |
protected Item[] |
getChildren(Widget o)
Returns the SWT child items for the given SWT widget. |
Object[] |
getColumnProperties()
Returns the column properties of this tree viewer. |
Control |
getControl()
Returns the primary control associated with this viewer. |
protected boolean |
getExpanded(Item item)
Returns whether the given SWT item is expanded or collapsed. |
protected Item |
getItem(int x,
int y)
Returns the item at the given display-relative coordinates, or null if there is no item at that location. |
protected int |
getItemCount(Control widget)
Returns the number of child items of the given SWT control. |
protected int |
getItemCount(Item item)
Returns the number of child items of the given SWT item. |
protected Item[] |
getItems(Item item)
Returns the child items of the given SWT item. |
IBaseLabelProvider |
getLabelProvider()
The tree viewer implementation of this Viewer framework
method ensures that the given label provider is an instance of either
ITableLabelProvider or ILabelProvider. |
protected Object |
getParentElement(Object element)
This method takes a tree path or an element. |
protected Item |
getParentItem(Item item)
Returns the parent item of the given item in the tree, or null
if there is no parent item. |
protected Object[] |
getRawChildren(Object parent)
Returns the children of the given parent without sorting and filtering them. |
protected Item[] |
getSelection(Control widget)
Returns all selected items for the given SWT control. |
Tree |
getTree()
Returns this tree viewer's tree control. |
protected void |
hookControl(Control control)
Adds event listener hooks to the given control. |
protected void |
internalAdd(Widget widget,
Object parentElement,
Object[] childElements)
Adds the given child elements to this viewer as children of the given parent element. |
protected void |
internalRefreshStruct(Widget widget,
Object element,
boolean updateLabels)
Update the structure and recurse. |
boolean |
isCellEditorActive()
Returns whether there is an active cell editor. |
boolean |
isExpandable(Object element)
Return whether the tree node representing the given element or path can be expanded. |
protected boolean |
isSameSelection(List items,
Item[] current)
Returns true if the given list and array of items refer to
the same model elements. |
protected void |
mapElement(Object element,
Widget item)
Adds the element item pair to the element map. |
protected Item |
newItem(Widget parent,
int flags,
int ix)
Creates a new item. |
protected void |
removeAll(Control widget)
Removes all items from the given control. |
void |
replace(Object parent,
int index,
Object element)
For a TreeViewer with a tree with the VIRTUAL style bit set, replace the given parent's child at index with the given element. |
void |
setCellEditors(CellEditor[] editors)
Sets the cell editors of this tree viewer. |
void |
setCellModifier(ICellModifier modifier)
Sets the cell modifier of this tree viewer. |
void |
setChildCount(Object element,
int count)
For a TreeViewer with a tree with the VIRTUAL style bit set, set the number of children of the given element. |
void |
setColumnProperties(String[] columnProperties)
Sets the column properties of this tree viewer. |
protected void |
setExpanded(Item node,
boolean expand)
Sets the expand state of the given item. |
void |
setLabelProvider(IBaseLabelProvider labelProvider)
The tree viewer implementation of this Viewer framework
method ensures that the given label provider is an instance of either
ITableLabelProvider or ILabelProvider. |
protected void |
setSelection(List items)
Sets the selection to the given list of items. |
protected void |
showItem(Item item)
Shows the given item. |
| Methods inherited from class org.eclipse.jface.viewers.ContentViewer |
|---|
getContentProvider, getInput, handleDispose |
| Methods inherited from class org.eclipse.jface.viewers.Viewer |
|---|
addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, setData, setSelection |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.eclipse.jface.viewers.ISelectionProvider |
|---|
addSelectionChangedListener, removeSelectionChangedListener, setSelection |
| Constructor Detail |
|---|
public TreeViewer(Composite parent)
MULTI, H_SCROLL, V_SCROLL, and BORDER. The
viewer has no input, no content provider, a default label provider, no
sorter, and no filters.
parent - the parent control
public TreeViewer(Composite parent,
int style)
parent - the parent controlstyle - the SWT style bits used to create the tree.public TreeViewer(Tree tree)
tree - the tree control| Method Detail |
|---|
protected void addTreeListener(Control c,
TreeListener listener)
AbstractTreeViewer
addTreeListener in class AbstractTreeViewerc - the SWT controllistener - the SWT tree listenerpublic void cancelEditing()
protected void doUpdateItem(Item item,
Object element)
AbstractTreeViewer
doUpdateItem in class AbstractTreeVieweritem - the SWT itemelement - the element
protected void buildLabel(ViewerLabel updateLabel,
Object elementOrPath)
buildLabel in class StructuredViewerupdateLabel - The ViewerLabel to collect the result inelementOrPath - The element being decorated.StructuredViewer.buildLabel(org.eclipse.jface.viewers.ViewerLabel, java.lang.Object)
public void editElement(Object element,
int column)
element - the elementcolumn - the column numberpublic CellEditor[] getCellEditors()
public ICellModifier getCellModifier()
protected Item[] getChildren(Widget o)
AbstractTreeViewer
getChildren in class AbstractTreeViewero - the widget
public Object[] getColumnProperties()
public Control getControl()
Viewer
getControl in class Viewerprotected boolean getExpanded(Item item)
AbstractTreeViewer
getExpanded in class AbstractTreeVieweritem - the item
true if the item is considered expanded and
false if collapsed
protected Item getItem(int x,
int y)
StructuredViewernull if there is no item at that location.
The default implementation of this method returns null.
getItem in class StructuredViewerx - horizontal coordinatey - vertical coordinate
null if there is no item at the given
coordinatesprotected int getItemCount(Control widget)
AbstractTreeViewer
getItemCount in class AbstractTreeViewerwidget - the control
protected int getItemCount(Item item)
AbstractTreeViewer
getItemCount in class AbstractTreeVieweritem - the item
protected Item[] getItems(Item item)
AbstractTreeViewer
getItems in class AbstractTreeVieweritem - the item
public IBaseLabelProvider getLabelProvider()
Viewer framework
method ensures that the given label provider is an instance of either
ITableLabelProvider or ILabelProvider. If
it is an ITableLabelProvider, then it provides a separate
label text and image for each column. If it is an
ILabelProvider, then it provides only the label text and
image for the first column, and any remaining columns are blank.
getLabelProvider in class ContentViewerprotected Item getParentItem(Item item)
AbstractTreeViewernull
if there is no parent item.
getParentItem in class AbstractTreeVieweritem - the item
null if noneprotected Item[] getSelection(Control widget)
AbstractTreeViewer
getSelection in class AbstractTreeViewerwidget - the control
public Tree getTree()
protected void hookControl(Control control)
ContentViewerAll subclasses must call this method when their control is first established.
The ContentViewer implementation of this method hooks
dispose events for the given control.
Subclasses may override if they need to add other control hooks;
however, super.hookControl must be invoked.
hookControl in class AbstractTreeViewercontrol - the controlpublic boolean isCellEditorActive()
true if there is an active cell editor, and
false otherwise
protected Item newItem(Widget parent,
int flags,
int ix)
AbstractTreeViewer
newItem in class AbstractTreeViewerparent - the parent widgetflags - SWT style bitsix - if non-negative, indicates the position to insert the item
into its parent
protected void removeAll(Control widget)
AbstractTreeViewer
removeAll in class AbstractTreeViewerwidget - the controlpublic void setCellEditors(CellEditor[] editors)
editors - the list of cell editorspublic void setCellModifier(ICellModifier modifier)
modifier - the cell modifierpublic void setColumnProperties(String[] columnProperties)
columnProperties - the list of column properties
protected void setExpanded(Item node,
boolean expand)
AbstractTreeViewer
setExpanded in class AbstractTreeViewernode - the itemexpand - the expand state of the itempublic void setLabelProvider(IBaseLabelProvider labelProvider)
Viewer framework
method ensures that the given label provider is an instance of either
ITableLabelProvider or ILabelProvider.
If the label provider is an ITableLabelProvider, then it
provides a separate label text and image for each column. Implementers of
ITableLabelProvider may also implement
ITableColorProvider and/or ITableFontProvider to provide
colors and/or fonts. Note that the underlying Tree must be
configured with TreeColumn objects in this case.
If the label provider is an ILabelProvider, then it
provides only the label text and image for the first column, and any
remaining columns are blank. Implementers of ILabelProvider
may also implement IColorProvider and/or IFontProvider to
provide colors and/or fonts.
setLabelProvider in class StructuredViewerlabelProvider - the label provider, or null if noneprotected void setSelection(List items)
AbstractTreeViewer
setSelection in class AbstractTreeVieweritems - list of items (element type: org.eclipse.swt.widgets.Item)
protected boolean isSameSelection(List items,
Item[] current)
true if the given list and array of items refer to
the same model elements. Order is unimportant.
items - the list of itemscurrent - the array of items
true if the refer to the same elements,
false otherwiseprotected void showItem(Item item)
AbstractTreeViewer
showItem in class AbstractTreeVieweritem - the item
protected Item getChild(Widget widget,
int index)
AbstractTreeViewer
getChild in class AbstractTreeViewerwidget - the widget to checkindex - the index of the widget
null if widget is not a type
that can contain items.protected void assertContentProviderType(IContentProvider provider)
StructuredViewer
assertContentProviderType in class AbstractTreeViewerprotected Object[] getRawChildren(Object parent)
StructuredViewer
Returns an empty array if the given parent is null.
getRawChildren in class AbstractTreeViewerparent - the parent element
public void setChildCount(Object element,
int count)
element - count - EXPERIMENTAL. This class or interface has been added as
part of a work in progress. There is no guarantee that this API will remain
unchanged during the 3.2 release cycle. Please do not use this API without
consulting with the Platform/UI team.
public void replace(Object parent,
int index,
Object element)
This method should be called by implementers of ILazyTreeContentProvider to populate this viewer.
parent - the parent of the element that should be updatedindex - the index in the parent's childrenelement - the new elementsetChildCount(Object, int),
EXPERIMENTAL. This class or interface has been added as
part of a work in progress. There is no guarantee that this API will remain
unchanged during the 3.2 release cycle. Please do not use this API without
consulting with the Platform/UI team.
public boolean isExpandable(Object element)
AbstractTreeViewerITreePathContentProvider.
The default implementation of this framework method calls hasChildren
on this viewer's content provider. It may be overridden if necessary.
isExpandable in class AbstractTreeViewerelement - the element or path
true if the tree node representing the given
element can be expanded, or false if notprotected Object getParentElement(Object element)
AbstractTreeViewernull
if the parent is not known. If the argument is a tree path with more than
one segment, returns its parent tree path, otherwise returns
null.
getParentElement in class AbstractTreeViewernullprotected void createChildren(Widget widget)
AbstractTreeViewer
The default implementation of this framework method assumes that widget.getData()
returns the element corresponding to the node. Note: the node is not
visually expanded! You may have to call parent.setExpanded(true).
createChildren in class AbstractTreeViewerwidget - the widget
protected void internalAdd(Widget widget,
Object parentElement,
Object[] childElements)
AbstractTreeViewerEXPERIMENTAL. Not to be used except by JDT. This method was added to support JDT's explorations into grouping by working sets, which requires viewers to support multiple equal elements. See bug 76482 for more details. This support will likely be removed in Eclipse 3.2 in favour of proper support for multiple equal elements.
internalAdd in class AbstractTreeViewerwidget - the widget for the parent elementparentElement - the parent elementchildElements - the child elements to add
protected void internalRefreshStruct(Widget widget,
Object element,
boolean updateLabels)
AbstractTreeViewer
protected void mapElement(Object element,
Widget item)
StructuredViewerThis method is internal to the framework; subclassers should not call this method.
mapElement in class StructuredViewerelement - the elementitem - the corresponding widget
|
Eclipse Platform Release 3.2 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.