|
 |
|
|
org.eclipse.jface.viewers
Class AbstractTreeViewer
java.lang.Object
org.eclipse.jface.viewers.Viewer
org.eclipse.jface.viewers.ContentViewer
org.eclipse.jface.viewers.StructuredViewer
org.eclipse.jface.viewers.ColumnViewer
org.eclipse.jface.viewers.AbstractTreeViewer
-
All Implemented Interfaces:
-
IInputProvider,
IInputSelectionProvider,
IPostSelectionProvider,
ISelectionProvider
-
Direct Known Subclasses:
-
TableTreeViewer,
TreeViewer
-
public abstract class AbstractTreeViewer
- extends
ColumnViewer
Abstract base implementation for tree-structure-oriented viewers (trees and
table trees).
Nodes in the tree can be in either an expanded or a collapsed state,
depending on whether the children on a node are visible. This class
introduces public methods for controlling the expanding and collapsing of
nodes.
As of 3.2, AbstractTreeViewer supports multiple equal elements (each with a
different parent chain) in the tree. This support requires that clients
enable the element map by calling setUseHashLookup(true) .
Content providers for abstract tree viewers must implement one of the
interfaces ITreeContentProvider or (as of 3.2, to support
multiple equal elements) ITreePathContentProvider .
-
See Also:
-
TreeViewer
Field Summary
|
static int
|
ALL_LEVELS
Constant indicating that all levels of the tree should be expanded or
collapsed. |
Method Summary
|
void
|
add
(
Object parentElementOrTreePath,
Object childElement)
Adds the given child element to this viewer as a child of the given
parent element. |
void
|
add
(
Object parentElementOrTreePath,
Object[] childElements)
Adds the given child elements to this viewer as children of the given
parent element. |
protected void
|
addSelectionListener
(
Control control,
SelectionListener listener)
Deprecated.
|
protected abstract void
|
addTreeListener
(
Control control,
TreeListener listener)
Adds the given SWT tree listener to the given SWT control. |
void
|
addTreeListener
(
ITreeViewerListener listener)
Adds a listener for expand and collapse events in this viewer. |
protected void
|
assertContentProviderType
(
IContentProvider provider)
Assert that the content provider is of one of the
supported types. |
protected void
|
associate
(
Object element,
Item item)
Associates the given element with the given widget. |
protected void
|
buildLabel
(
ViewerLabel updateLabel,
Object elementOrPath)
This implementation of buildLabel handles tree paths as well as elements. |
void
|
collapseAll
()
Collapses all nodes of the viewer's tree, starting with the root. |
void
|
collapseToLevel
(
Object elementOrTreePath,
int level)
Collapses the subtree rooted at the given element or tree path to the
given level. |
protected void
|
createChildren
(
Widget widget)
Creates all children for the given widget. |
protected void
|
createTreeItem
(
Widget parent,
Object element,
int index)
Creates a single item for the given parent and synchronizes it with the
given element. |
protected
ColumnViewerEditor
|
createViewerEditor
()
This implementation of
createViewerEditor() returns null to ensure
API backwards compatibility. |
protected void
|
disassociate
(
Item item)
The AbstractTreeViewer implementation of this method also
recurses over children of the corresponding element. |
protected
Widget
|
doFindInputItem
(
Object element)
Returns the widget in this viewer's control which represents the given
element if it is the viewer's input. |
protected
Widget
|
doFindItem
(
Object element)
Returns the widget in this viewer's control which represent the given
element. |
protected int
|
doGetColumnCount
()
Returns the number of columns of this viewer. |
protected void
|
doUpdateItem
(
Item item,
Object element)
Copies the attributes of the given element into the given SWT item. |
protected void
|
doUpdateItem
(
Widget widget,
Object element,
boolean fullMap)
Copies the attributes of the given element into the given SWT item. |
void
|
expandAll
()
Expands all nodes of the viewer's tree, starting with the root. |
void
|
expandToLevel
(int level)
Expands the root of the viewer's tree to the given level. |
void
|
expandToLevel
(
Object elementOrTreePath,
int level)
Expands all ancestors of the given element or tree path so that the given
element becomes visible in this viewer's tree control, and then expands
the subtree rooted at the given element to the given level. |
protected void
|
fireTreeCollapsed
(
TreeExpansionEvent event)
Fires a tree collapsed event. |
protected void
|
fireTreeExpanded
(
TreeExpansionEvent event)
Fires a tree expanded event. |
int
|
getAutoExpandLevel
()
Returns the auto-expand level. |
protected
Item
|
getChild
(
Widget widget,
int index)
Get the child for the widget at index. |
protected abstract
Item[]
|
getChildren
(
Widget widget)
Returns the SWT child items for the given SWT widget. |
Item[]
|
getChildren
(
Widget widget,
Object[] elementChildren)
Deprecated. This method was inadvertently released as API but is not
intended to be called by clients.
|
protected
Widget
|
getColumnViewerOwner
(int columnIndex)
Returns the column widget at the given column index. |
protected abstract boolean
|
getExpanded
(
Item item)
Returns whether the given SWT item is expanded or collapsed. |
Object[]
|
getExpandedElements
()
Returns a list of elements corresponding to expanded nodes in this
viewer's tree, including currently hidden ones that are marked as
expanded but are under a collapsed ancestor. |
boolean
|
getExpandedState
(
Object elementOrTreePath)
Returns whether the node corresponding to the given element or tree path
is expanded or collapsed. |
TreePath[]
|
getExpandedTreePaths
()
Returns a list of tree paths corresponding to expanded nodes in this
viewer's tree, including currently hidden ones that are marked as
expanded but are under a collapsed ancestor. |
protected
Object[]
|
getFilteredChildren
(
Object parentElementOrTreePath)
Returns the filtered array of children of the given element. |
protected
Item
|
getItemAt
(
Point point)
This implementation of
getItemAt(Point) returns null to ensure
API backwards compatibility. |
protected abstract int
|
getItemCount
(
Control control)
Returns the number of child items of the given SWT control. |
protected abstract int
|
getItemCount
(
Item item)
Returns the number of child items of the given SWT item. |
protected abstract
Item[]
|
getItems
(
Item item)
Returns the child items of the given SWT item. |
protected
Item
|
getNextItem
(
Item item,
boolean includeChildren)
Returns the item after the given item in the tree, or null
if there is no next item. |
protected
Object
|
getParentElement
(
Object elementOrTreePath)
This method takes a tree path or an element. |
protected abstract
Item
|
getParentItem
(
Item item)
Returns the parent item of the given item in the tree, or
null if there is no parent item. |
protected
Item
|
getPreviousItem
(
Item item)
Returns the item before the given item in the tree, or null
if there is no previous item. |
protected
Object[]
|
getRawChildren
(
Object parentElementOrTreePath)
Returns the children of the given parent without sorting and filtering
them. |
ISelection
|
getSelection
()
This implementation of getSelection() returns an instance of
ITreeSelection. |
protected abstract
Item[]
|
getSelection
(
Control control)
Returns all selected items for the given SWT control. |
protected
List
|
getSelectionFromWidget
()
Retrieves the selection, as a List , from the underlying
widget. |
protected
Object[]
|
getSortedChildren
(
Object parentElementOrTreePath)
Returns the sorted and filtered set of children of the given element. |
protected
TreePath
|
getTreePathFromItem
(
Item item)
Returns the tree path for the given item. |
protected
ViewerRow
|
getViewerRowFromItem
(
Widget item)
Returns a
ViewerRow associated with the given row widget. |
Object[]
|
getVisibleExpandedElements
()
Gets the expanded elements that are visible to the user. |
protected void
|
handleDoubleSelect
(
SelectionEvent event)
Handles a double-click select event from the widget. |
protected void
|
handleTreeCollapse
(
TreeEvent event)
Handles a tree collapse event from the SWT widget. |
protected void
|
handleTreeExpand
(
TreeEvent event)
Handles a tree expand event from the SWT widget. |
protected void
|
hookControl
(
Control control)
Adds event listener hooks to the given control. |
protected int
|
indexForElement
(
Widget parent,
Object element)
Returns the index where the item should be inserted. |
protected void
|
inputChanged
(
Object input,
Object oldInput)
Internal hook method called when the input to this viewer is
initially set or subsequently changed. |
void
|
insert
(
Object parentElementOrTreePath,
Object element,
int position)
Inserts the given element as a new child element of the given parent
element at the given position. |
protected void
|
internalAdd
(
Widget widget,
Object parentElementOrTreePath,
Object[] childElements)
Adds the given child elements to this viewer as children of the given
parent element. |
protected void
|
internalCollapseToLevel
(
Widget widget,
int level)
Recursively collapses the subtree rooted at the given widget to the given
level. |
protected
Widget
|
internalExpand
(
Object elementOrPath,
boolean expand)
Tries to create a path of tree items for the given element or tree path. |
protected void
|
internalExpandToLevel
(
Widget widget,
int level)
Recursively expands the subtree rooted at the given widget to the given
level. |
protected
Widget[]
|
internalFindItems
(
Object parentElementOrTreePath)
Find the items for the given element of tree path |
protected
Widget
|
internalGetWidgetToSelect
(
Object elementOrTreePath)
Returns the widget to be selected for the given element or tree path. |
protected void
|
internalInitializeTree
(
Control tree)
Initializes the tree with root items, expanding to the appropriate
level if necessary. |
protected boolean
|
internalIsInputOrEmptyPath
(
Object elementOrTreePath)
Returns true if the given object is either the input or an empty tree path. |
protected void
|
internalRefresh
(
Object element)
Refreshes this viewer starting at the given element. |
protected void
|
internalRefresh
(
Object element,
boolean updateLabels)
Refreshes this viewer starting at the given element. |
protected void
|
internalRefresh
(
Widget widget,
Object element,
boolean doStruct,
boolean updateLabels)
Refreshes the tree starting at the given widget. |
protected void
|
internalRemove
(
Object[] elementsOrPaths)
Removes the given elements from this viewer. |
protected void
|
internalRemove
(
Object parent,
Object[] elements)
Removes the given elements from this viewer, whenever those elements
appear as children of the given parent. |
boolean
|
isExpandable
(
Object elementOrTreePath)
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
|
labelProviderChanged
()
Notifies that the label provider has changed. |
protected abstract
Item
|
newItem
(
Widget parent,
int style,
int index)
Creates a new item. |
void
|
remove
(
Object elementsOrTreePaths)
Removes the given element from the viewer. |
void
|
remove
(
Object[] elementsOrTreePaths)
Removes the given elements from this viewer. |
void
|
remove
(
Object parent,
Object[] elements)
Removes the given elements from this viewer whenever they appear as
children of the given parent element. |
protected abstract void
|
removeAll
(
Control control)
Removes all items from the given control. |
void
|
removeTreeListener
(
ITreeViewerListener listener)
Removes a listener for expand and collapse events in this viewer. |
void
|
reveal
(
Object elementOrTreePath)
This implementation of reveal() reveals the given element or tree path. |
Item
|
scrollDown
(int x,
int y)
Scrolls the viewer's control down by one item from the given
display-relative coordinates. |
Item
|
scrollUp
(int x,
int y)
Scrolls the viewer's control up by one item from the given
display-relative coordinates. |
void
|
setAutoExpandLevel
(int level)
Sets the auto-expand level to be used when the input of the viewer is set
using
StructuredViewer.setInput(Object) . |
void
|
setContentProvider
(
IContentProvider provider)
The AbstractTreeViewer implementation of this method
checks to ensure that the content provider is an
ITreeContentProvider . |
protected abstract void
|
setExpanded
(
Item item,
boolean expand)
Sets the expand state of the given item. |
void
|
setExpandedElements
(
Object[] elements)
Sets which nodes are expanded in this viewer's tree. |
void
|
setExpandedState
(
Object elementOrTreePath,
boolean expanded)
Sets whether the node corresponding to the given element or tree path is
expanded or collapsed. |
void
|
setExpandedTreePaths
(
TreePath[] treePaths)
Sets which nodes are expanded in this viewer's tree. |
protected abstract void
|
setSelection
(
List items)
Sets the selection to the given list of items. |
protected void
|
setSelectionToWidget
(
ISelection selection,
boolean reveal)
Converts the selection to a List and calls
setSelectionToWidget(List, boolean) . |
protected void
|
setSelectionToWidget
(
List v,
boolean reveal)
This implementation of setSelectionToWidget accepts a list of elements or
a list of tree paths. |
protected abstract void
|
showItem
(
Item item)
Shows the given item. |
protected void
|
updateChildren
(
Widget widget,
Object parent,
Object[] elementChildren)
Deprecated. this is no longer called by the framework
|
protected void
|
updatePlus
(
Item item,
Object element)
Updates the "+"/"-" icon of the tree node from the given element. |
Methods inherited from class org.eclipse.jface.viewers.
ColumnViewer
|
applyEditorValue,
cancelEditing,
checkBusy,
editElement,
getCell,
getCellEditors,
getCellModifier,
getColumnProperties,
getColumnViewerEditor,
getItem,
getLabelProvider,
getViewerRow,
hookEditingSupport,
isBusy,
isCellEditorActive,
refresh,
refresh,
setBusy,
setCellEditors,
setCellModifier,
setColumnProperties,
setColumnViewerEditor,
setLabelProvider,
triggerEditorActivationEvent,
update
|
Methods inherited from class org.eclipse.jface.viewers.
StructuredViewer
|
addDoubleClickListener,
addDragSupport,
addDropSupport,
addFilter,
addOpenListener,
addPostSelectionChangedListener,
assertElementsNotNull,
equals,
filter,
findItem,
findItems,
fireDoubleClick,
fireOpen,
firePostSelectionChanged,
getColorAndFontCollector,
getComparator,
getComparer,
getFilters,
getRoot,
getSorter,
handleDispose,
handleInvalidSelection,
handleLabelProviderChanged,
handleOpen,
handlePostSelect,
handleSelect,
hasFilters,
internalUpdate,
mapElement,
needsRefilter,
preservingSelection,
refresh,
refresh,
refreshItem,
removeDoubleClickListener,
removeFilter,
removeOpenListener,
removePostSelectionChangedListener,
resetFilters,
setComparator,
setComparer,
setFilters,
setInput,
setSelection,
setSorter,
setUseHashlookup,
testFindItem,
testFindItems,
unmapAllElements,
unmapElement,
unmapElement,
update,
updateItem,
updateSelection,
usingElementMap
|
Methods inherited from class org.eclipse.jface.viewers.
Viewer
|
addHelpListener,
addSelectionChangedListener,
fireHelpRequested,
fireSelectionChanged,
getControl,
getData,
handleHelpRequest,
removeHelpListener,
removeSelectionChangedListener,
setData,
setSelection
|
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
ALL_LEVELS
public static final int ALL_LEVELS
- Constant indicating that all levels of the tree should be expanded or
collapsed.
-
See Also:
-
expandToLevel(int) ,
collapseToLevel(Object, int) ,
Constant Field Values
AbstractTreeViewer
protected AbstractTreeViewer()
- Creates an abstract tree viewer. The viewer has no input, no content
provider, a default label provider, no sorter, no filters, and has
auto-expand turned off.
add
public void add(
Object parentElementOrTreePath,
Object[] childElements)
- Adds the given child elements to this viewer as children of the given
parent element. If this viewer does not have a sorter, the elements are
added at the end of the parent's list of children in the order given;
otherwise, the elements are inserted at the appropriate positions.
This method should be called (by the content provider) when elements have
been added to the model, in order to cause the viewer to accurately
reflect the model. This method only affects the viewer, not the model.
-
-
Parameters:
-
parentElementOrTreePath - the parent element -
childElements - the child elements to add
internalFindItems
protected final
Widget[] internalFindItems(
Object parentElementOrTreePath)
- Find the items for the given element of tree path
-
-
Parameters:
-
parentElementOrTreePath - the element or tree path
-
Returns:
- the items for that element
-
Since:
- 3.3
internalAdd
protected void internalAdd(
Widget widget,
Object parentElementOrTreePath,
Object[] childElements)
- Adds the given child elements to this viewer as children of the given
parent element.
EXPERIMENTAL. 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 favor of
proper support for multiple equal elements.
-
-
Parameters:
-
widget - the widget for the parent element -
parentElementOrTreePath - the parent element -
childElements - the child elements to add -
Since:
- 3.1
indexForElement
protected int indexForElement(
Widget parent,
Object element)
- Returns the index where the item should be inserted.
-
-
Parameters:
-
parent - The parent widget the element will be inserted into. -
element - The element to insert.
-
Returns:
- the index of the element
getSortedChildren
protected
Object[] getSortedChildren(
Object parentElementOrTreePath)
-
Description copied from class:
StructuredViewer
- Returns the sorted and filtered set of children of the given element. The
resulting array must not be modified, as it may come directly from the
model's internal state.
-
-
Overrides:
-
getSortedChildren
in class
StructuredViewer
-
-
Parameters:
-
parentElementOrTreePath - the parent element
-
Returns:
- a sorted and filtered array of child elements
getFilteredChildren
protected
Object[] getFilteredChildren(
Object parentElementOrTreePath)
-
Description copied from class:
StructuredViewer
- Returns the filtered array of children of the given element. The
resulting array must not be modified, as it may come directly from the
model's internal state.
-
-
Overrides:
-
getFilteredChildren
in class
StructuredViewer
-
-
Parameters:
-
parentElementOrTreePath - the parent element
-
Returns:
- a filtered array of child elements
add
public void add(
Object parentElementOrTreePath,
Object childElement)
- Adds the given child element to this viewer as a child of the given
parent element. If this viewer does not have a sorter, the element is
added at the end of the parent's list of children; otherwise, the element
is inserted at the appropriate position.
This method should be called (by the content provider) when a single
element has been added to the model, in order to cause the viewer to
accurately reflect the model. This method only affects the viewer, not
the model. Note that there is another method for efficiently processing
the simultaneous addition of multiple elements.
-
-
Parameters:
-
parentElementOrTreePath - the parent element or path -
childElement - the child element
addSelectionListener
protected void addSelectionListener(
Control control,
SelectionListener listener)
-
Deprecated.
- Adds the given SWT selection listener to the given SWT control.
-
-
Parameters:
-
control - the SWT control -
listener - the SWT selection listener
addTreeListener
public void addTreeListener(
ITreeViewerListener listener)
- Adds a listener for expand and collapse events in this viewer. Has no
effect if an identical listener is already registered.
-
-
Parameters:
-
listener - a tree viewer listener
addTreeListener
protected abstract void addTreeListener(
Control control,
TreeListener listener)
- Adds the given SWT tree listener to the given SWT control.
-
-
Parameters:
-
control - the SWT control -
listener - the SWT tree listener
associate
protected void associate(
Object element,
Item item)
-
Description copied from class:
StructuredViewer
- Associates the given element with the given widget. Sets the given item's
data to be the element, and maps the element to the item in the element
map (if enabled).
-
-
Overrides:
-
associate
in class
StructuredViewer
-
-
Parameters:
-
element - the element -
item - the widget
collapseAll
public void collapseAll()
- Collapses all nodes of the viewer's tree, starting with the root. This
method is equivalent to
collapseToLevel(ALL_LEVELS) .
-
collapseToLevel
public void collapseToLevel(
Object elementOrTreePath,
int level)
- Collapses the subtree rooted at the given element or tree path to the
given level.
-
-
Parameters:
-
elementOrTreePath - the element or tree path -
level - non-negative level, or ALL_LEVELS to collapse
all levels of the tree
createChildren
protected void createChildren(
Widget widget)
- Creates all children for the given widget.
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) .
-
-
Parameters:
-
widget - the widget
createTreeItem
protected void createTreeItem(
Widget parent,
Object element,
int index)
- Creates a single item for the given parent and synchronizes it with the
given element.
-
-
Parameters:
-
parent - the parent widget -
element - the element -
index - if non-negative, indicates the position to insert the item
into its parent
disassociate
protected void disassociate(
Item item)
- The
AbstractTreeViewer implementation of this method also
recurses over children of the corresponding element.
-
-
Overrides:
-
disassociate
in class
StructuredViewer
-
-
Parameters:
-
item - the widget
doFindInputItem
protected
Widget doFindInputItem(
Object element)
-
Description copied from class:
StructuredViewer
- Returns the widget in this viewer's control which represents the given
element if it is the viewer's input.
This method is internal to the framework; subclassers should not call
this method.
-
-
Specified by:
-
doFindInputItem
in class
StructuredViewer
-
-
Returns:
- the corresponding widget, or
null if none
doFindItem
protected
Widget doFindItem(
Object element)
-
Description copied from class:
StructuredViewer
- Returns the widget in this viewer's control which represent the given
element. This method searches all the children of the input element.
This method is internal to the framework; subclassers should not call
this method.
-
-
Specified by:
-
doFindItem
in class
StructuredViewer
-
-
Returns:
- the corresponding widget, or
null if none
doUpdateItem
protected void doUpdateItem(
Item item,
Object element)
- Copies the attributes of the given element into the given SWT item.
-
-
Parameters:
-
item - the SWT item -
element - the element
isSameSelection
protected boolean isSameSelection(
List items,
Item[] current)
- Returns
true if the given list and array of items refer to
the same model elements. Order is unimportant.
This method is not intended to be overridden by subclasses.
-
-
Parameters:
-
items - the list of items -
current - the array of items
-
Returns:
-
true if the refer to the same elements,
false otherwise -
Since:
- 3.1 in TreeViewer, moved to AbstractTreeViewer in 3.3
doUpdateItem
protected void doUpdateItem(
Widget widget,
Object element,
boolean fullMap)
-
Description copied from class:
StructuredViewer
- Copies the attributes of the given element into the given SWT item. The
element map is updated according to the value of
fullMap .
If fullMap is true then the current mapping
from element to widgets is removed and the new mapping is added. If
full map is false then only the new map gets installed.
Installing only the new map is necessary in cases where only the order of
elements changes but not the set of elements.
This method is internal to the framework; subclassers should not call
this method.
-
-
Specified by:
-
doUpdateItem
in class
StructuredViewer
-
-
element - element -
fullMap - true if mappings are added and removed, and
false if only the new map gets installed
expandAll
public void expandAll()
- Expands all nodes of the viewer's tree, starting with the root. This
method is equivalent to
expandToLevel(ALL_LEVELS) .
-
expandToLevel
public void expandToLevel(int level)
- Expands the root of the viewer's tree to the given level.
-
-
Parameters:
-
level - non-negative level, or ALL_LEVELS to expand all
levels of the tree
expandToLevel
public void expandToLevel(
Object elementOrTreePath,
int level)
- Expands all ancestors of the given element or tree path so that the given
element becomes visible in this viewer's tree control, and then expands
the subtree rooted at the given element to the given level.
-
-
Parameters:
-
elementOrTreePath - the element -
level - non-negative level, or ALL_LEVELS to expand all
levels of the tree
fireTreeCollapsed
protected void fireTreeCollapsed(
TreeExpansionEvent event)
- Fires a tree collapsed event. Only listeners registered at the time this
method is called are notified.
-
-
Parameters:
-
event - the tree expansion event -
See Also:
-
ITreeViewerListener.treeCollapsed(org.eclipse.jface.viewers.TreeExpansionEvent)
fireTreeExpanded
protected void fireTreeExpanded(
TreeExpansionEvent event)
- Fires a tree expanded event. Only listeners registered at the time this
method is called are notified.
-
-
Parameters:
-
event - the tree expansion event -
See Also:
-
ITreeViewerListener.treeExpanded(org.eclipse.jface.viewers.TreeExpansionEvent)
getAutoExpandLevel
public int getAutoExpandLevel()
- Returns the auto-expand level.
-
-
Returns:
- non-negative level, or
ALL_LEVELS if all levels of
the tree are expanded automatically -
See Also:
-
setAutoExpandLevel(int)
getChildren
protected abstract
Item[] getChildren(
Widget widget)
- Returns the SWT child items for the given SWT widget.
-
-
Parameters:
-
widget - the widget
-
Returns:
- the child items
getChild
protected
Item getChild(
Widget widget,
int index)
- Get the child for the widget at index. Note that the default
implementation is not very efficient and should be overridden if this
class is implemented.
-
-
Parameters:
-
widget - the widget to check -
index - the index of the widget
-
Returns:
- Item or
null if widget is not a type that can
contain items.
-
Throws:
-
ArrayIndexOutOfBoundsException
- if the index is not valid. -
Since:
- 3.1
getExpanded
protected abstract boolean getExpanded(
Item item)
- Returns whether the given SWT item is expanded or collapsed.
-
-
Parameters:
-
item - the item
-
Returns:
-
true if the item is considered expanded and
false if collapsed
getExpandedElements
public
Object[] getExpandedElements()
- Returns a list of elements corresponding to expanded nodes in this
viewer's tree, including currently hidden ones that are marked as
expanded but are under a collapsed ancestor.
This method is typically used when preserving the interesting state of a
viewer; setExpandedElements is used during the restore.
-
-
Returns:
- the array of expanded elements
-
See Also:
-
setExpandedElements(java.lang.Object[])
getExpandedState
public boolean getExpandedState(
Object elementOrTreePath)
- Returns whether the node corresponding to the given element or tree path
is expanded or collapsed.
-
-
Parameters:
-
elementOrTreePath - the element
-
Returns:
-
true if the node is expanded, and
false if collapsed
getItemCount
protected abstract int getItemCount(
Control control)
- Returns the number of child items of the given SWT control.
-
-
Parameters:
-
control - the control
-
Returns:
- the number of children
getItemCount
protected abstract int getItemCount(
Item item)
- Returns the number of child items of the given SWT item.
-
-
Parameters:
-
item - the item
-
Returns:
- the number of children
getItems
protected abstract
Item[] getItems(
Item item)
- Returns the child items of the given SWT item.
-
-
Parameters:
-
item - the item
-
Returns:
- the child items
getNextItem
protected
Item getNextItem(
Item item,
boolean includeChildren)
- Returns the item after the given item in the tree, or
null
if there is no next item.
-
-
Parameters:
-
item - the item -
includeChildren - true if the children are considered in
determining which item is next, and false if
subtrees are ignored
-
Returns:
- the next item, or
null if none
getParentItem
protected abstract
Item getParentItem(
Item item)
- Returns the parent item of the given item in the tree, or
null if there is no parent item.
-
-
Parameters:
-
item - the item
-
Returns:
- the parent item, or
null if none
getPreviousItem
protected
Item getPreviousItem(
Item item)
- Returns the item before the given item in the tree, or
null
if there is no previous item.
-
-
Parameters:
-
item - the item
-
Returns:
- the previous item, or
null if none
getRawChildren
protected
Object[] getRawChildren(
Object parentElementOrTreePath)
-
Description copied from class:
StructuredViewer
- Returns the children of the given parent without sorting and filtering
them. The resulting array must not be modified, as it may come directly
from the model's internal state.
Returns an empty array if the given parent is null .
-
-
Overrides:
-
getRawChildren
in class
ColumnViewer
-
-
Parameters:
-
parentElementOrTreePath - the parent element
-
Returns:
- the child elements
getSelection
protected abstract
Item[] getSelection(
Control control)
- Returns all selected items for the given SWT control.
-
-
Parameters:
-
control - the control
-
Returns:
- the list of selected items
getSelectionFromWidget
protected
List getSelectionFromWidget()
-
Description copied from class:
StructuredViewer
- Retrieves the selection, as a
List , from the underlying
widget.
-
-
Specified by:
-
getSelectionFromWidget
in class
StructuredViewer
-
-
Returns:
- the list of selected elements
handleDoubleSelect
protected void handleDoubleSelect(
SelectionEvent event)
-
Description copied from class:
StructuredViewer
- Handles a double-click select event from the widget.
This method is internal to the framework; subclassers should not call
this method.
-
-
Overrides:
-
handleDoubleSelect
in class
StructuredViewer
-
-
Parameters:
-
event - the SWT selection event
handleTreeCollapse
protected void handleTreeCollapse(
TreeEvent event)
- Handles a tree collapse event from the SWT widget.
-
-
Parameters:
-
event - the SWT tree event
handleTreeExpand
protected void handleTreeExpand(
TreeEvent event)
- Handles a tree expand event from the SWT widget.
-
-
Parameters:
-
event - the SWT tree event
hookControl
protected void hookControl(
Control control)
-
Description copied from class:
ContentViewer
- Adds event listener hooks to the given control.
All 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.
-
-
Overrides:
-
hookControl
in class
ColumnViewer
-
-
Parameters:
-
control - the control
inputChanged
protected void inputChanged(
Object input,
Object oldInput)
-
Description copied from class:
Viewer
- Internal hook method called when the input to this viewer is
initially set or subsequently changed.
The default implementation does nothing. Subclassers may override
this method to do something when a viewer's input is set.
A typical use is populate the viewer.
-
-
Overrides:
-
inputChanged
in class
Viewer
-
-
Parameters:
-
input - the new input of this viewer, or null if none -
oldInput - the old input element or null if there
was previously no input
internalInitializeTree
protected void internalInitializeTree(
Control tree)
- Initializes the tree with root items, expanding to the appropriate
level if necessary.
-
-
Parameters:
-
tree - the tree control -
Since:
- 3.3
internalCollapseToLevel
protected void internalCollapseToLevel(
Widget widget,
int level)
- Recursively collapses the subtree rooted at the given widget to the given
level.
Note that the default implementation of this method does not call
setRedraw .
-
-
Parameters:
-
widget - the widget -
level - non-negative level, or ALL_LEVELS to collapse
all levels of the tree
internalExpand
protected
Widget internalExpand(
Object elementOrPath,
boolean expand)
- Tries to create a path of tree items for the given element or tree path.
This method recursively walks up towards the root of the tree and in the
case of an element (rather than a tree path) assumes that
getParent returns the correct parent of an element.
-
-
Parameters:
-
elementOrPath - the element -
expand - true if all nodes on the path should be
expanded, and false otherwise
-
Returns:
- Widget
getParentElement
protected
Object getParentElement(
Object elementOrTreePath)
- This method takes a tree path or an element. If the argument is not a
tree path, returns the parent of the given element or
null
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 .
-
-
Parameters:
-
elementOrTreePath -
-
Returns:
- the parent element, or parent path, or
null
-
Since:
- 3.2
internalGetWidgetToSelect
protected
Widget internalGetWidgetToSelect(
Object elementOrTreePath)
- Returns the widget to be selected for the given element or tree path.
-
-
Parameters:
-
elementOrTreePath - the element or tree path to select
-
Returns:
- the widget to be selected, or
null if not found -
Since:
- 3.1
internalExpandToLevel
protected void internalExpandToLevel(
Widget widget,
int level)
- Recursively expands the subtree rooted at the given widget to the given
level.
Note that the default implementation of this method does not call
setRedraw .
-
-
Parameters:
-
widget - the widget -
level - non-negative level, or ALL_LEVELS to collapse
all levels of the tree
internalRefresh
protected void internalRefresh(
Object element)
-
Description copied from class:
StructuredViewer
- Refreshes this viewer starting at the given element.
-
-
Specified by:
-
internalRefresh
in class
StructuredViewer
-
-
Parameters:
-
element - the element
internalRefresh
protected void internalRefresh(
Object element,
boolean updateLabels)
-
Description copied from class:
StructuredViewer
- Refreshes this viewer starting at the given element. Labels are updated
as described in
refresh(boolean updateLabels) .
The default implementation simply calls
internalRefresh(element) , ignoring
updateLabels .
If this method is overridden to do the actual refresh, then
internalRefresh(Object element) should simply call
internalRefresh(element, true) .
-
-
Overrides:
-
internalRefresh
in class
StructuredViewer
-
-
Parameters:
-
element - the element -
updateLabels - true to update labels for existing elements,
false to only update labels as needed, assuming
that labels for existing elements are unchanged.
internalRefresh
protected void internalRefresh(
Widget widget,
Object element,
boolean doStruct,
boolean updateLabels)
- Refreshes the tree starting at the given widget.
EXPERIMENTAL. 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 favor of
proper support for multiple equal elements.
-
-
Parameters:
-
widget - the widget -
element - the element -
doStruct - true if structural changes are to be picked up,
and false if only label provider changes are of
interest -
updateLabels - true to update labels for existing elements,
false to only update labels as needed, assuming
that labels for existing elements are unchanged. -
Since:
- 3.1
internalRemove
protected void internalRemove(
Object[] elementsOrPaths)
- Removes the given elements from this viewer.
EXPERIMENTAL. 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 favor of
proper support for multiple equal elements.
-
-
Parameters:
-
elementsOrPaths - the elements or element paths to remove -
Since:
- 3.1
internalRemove
protected void internalRemove(
Object parent,
Object[] elements)
- Removes the given elements from this viewer, whenever those elements
appear as children of the given parent.
-
-
Parameters:
-
parent - the parent element -
elements - the elements to remove -
Since:
- 3.1
isExpandable
public boolean isExpandable(
Object elementOrTreePath)
- Return whether the tree node representing the given element or path can
be expanded. Clients should query expandability by path if the viewer's
content provider is an
ITreePathContentProvider .
The default implementation of this framework method calls
hasChildren on this viewer's content provider. It may be
overridden if necessary.
-
-
Parameters:
-
elementOrTreePath - the element or path
-
Returns:
-
true if the tree node representing the given
element can be expanded, or false if not
labelProviderChanged
protected void labelProviderChanged()
-
Description copied from class:
ContentViewer
- Notifies that the label provider has changed.
The ContentViewer implementation of this method calls refresh() .
Subclasses may reimplement or extend.
-
-
Overrides:
-
labelProviderChanged
in class
ContentViewer
-
newItem
protected abstract
Item newItem(
Widget parent,
int style,
int index)
- Creates a new item.
-
-
Parameters:
-
parent - the parent widget -
style - SWT style bits -
index - if non-negative, indicates the position to insert the item
into its parent
-
Returns:
- the newly-created item
remove
public void remove(
Object[] elementsOrTreePaths)
- Removes the given elements from this viewer. The selection is updated if
required.
This method should be called (by the content provider) when elements have
been removed from the model, in order to cause the viewer to accurately
reflect the model. This method only affects the viewer, not the model.
-
-
Parameters:
-
elementsOrTreePaths - the elements to remove
remove
public void remove(
Object parent,
Object[] elements)
- Removes the given elements from this viewer whenever they appear as
children of the given parent element. If the given elements also appear
as children of some other parent, the other parent will remain unchanged.
The selection is updated if required.
This method should be called (by the content provider) when elements have
been removed from the model, in order to cause the viewer to accurately
reflect the model. This method only affects the viewer, not the model.
-
-
Parameters:
-
parent - the parent of the elements to remove -
elements - the elements to remove -
Since:
- 3.2
remove
public void remove(
Object elementsOrTreePaths)
- Removes the given element from the viewer. The selection is updated if
necessary.
This method should be called (by the content provider) when a single
element has been removed from the model, in order to cause the viewer to
accurately reflect the model. This method only affects the viewer, not
the model. Note that there is another method for efficiently processing
the simultaneous removal of multiple elements.
-
-
Parameters:
-
elementsOrTreePaths - the element
removeAll
protected abstract void removeAll(
Control control)
- Removes all items from the given control.
-
-
Parameters:
-
control - the control
removeTreeListener
public void removeTreeListener(
ITreeViewerListener listener)
- Removes a listener for expand and collapse events in this viewer. Has no
affect if an identical listener is not registered.
-
-
Parameters:
-
listener - a tree viewer listener
reveal
public void reveal(
Object elementOrTreePath)
- This implementation of reveal() reveals the given element or tree path.
-
-
Specified by:
-
reveal
in class
StructuredViewer
-
-
Parameters:
-
elementOrTreePath - the element to reveal
scrollDown
public
Item scrollDown(int x,
int y)
-
Description copied from class:
Viewer
- Scrolls the viewer's control down by one item from the given
display-relative coordinates. Returns the newly revealed Item,
or
null if no scrolling occurred or if the viewer
doesn't represent an item-based widget.
-
-
Overrides:
-
scrollDown
in class
Viewer
-
-
Parameters:
-
x - horizontal coordinate -
y - vertical coordinate
-
Returns:
- the item scrolled down to
scrollUp
public
Item scrollUp(int x,
int y)
-
Description copied from class:
Viewer
- Scrolls the viewer's control up by one item from the given
display-relative coordinates. Returns the newly revealed Item,
or
null if no scrolling occurred or if the viewer
doesn't represent an item-based widget.
-
-
Overrides:
-
scrollUp
in class
Viewer
-
-
Parameters:
-
x - horizontal coordinate -
y - vertical coordinate
-
Returns:
- the item scrolled up to
setAutoExpandLevel
public void setAutoExpandLevel(int level)
- Sets the auto-expand level to be used when the input of the viewer is set
using
StructuredViewer.setInput(Object) . The value 0 means that there is no
auto-expand; 1 means that the invisible root element is expanded (since
most concrete subclasses do not show the root element, there is usually
no practical difference between using the values 0 and 1); 2 means that
top-level elements are expanded, but not their children; 3 means that
top-level elements are expanded, and their children, but not
grandchildren; and so on.
The value ALL_LEVELS means that all subtrees should be
expanded.
Note that in previous releases, the Javadoc for this method had an off-by
one error. See bug 177669 for details.
-
-
Parameters:
-
level - non-negative level, or ALL_LEVELS to expand all
levels of the tree
setContentProvider
public void setContentProvider(
IContentProvider provider)
- The
AbstractTreeViewer implementation of this method
checks to ensure that the content provider is an
ITreeContentProvider .
-
-
Overrides:
-
setContentProvider
in class
StructuredViewer
-
-
Parameters:
-
provider - the content provider -
See Also:
-
ContentViewer.getContentProvider()
assertContentProviderType
protected void assertContentProviderType(
IContentProvider provider)
-
Description copied from class:
StructuredViewer
- Assert that the content provider is of one of the
supported types.
-
-
Overrides:
-
assertContentProviderType
in class
StructuredViewer
-
setExpanded
protected abstract void setExpanded(
Item item,
boolean expand)
- Sets the expand state of the given item.
-
-
Parameters:
-
item - the item -
expand - the expand state of the item
setExpandedElements
public void setExpandedElements(
Object[] elements)
- Sets which nodes are expanded in this viewer's tree. The given list
contains the elements that are to be expanded; all other nodes are to be
collapsed.
This method is typically used when restoring the interesting state of a
viewer captured by an earlier call to getExpandedElements .
-
-
Parameters:
-
elements - the array of expanded elements -
See Also:
-
getExpandedElements()
setExpandedTreePaths
public void setExpandedTreePaths(
TreePath[] treePaths)
- Sets which nodes are expanded in this viewer's tree. The given list
contains the tree paths that are to be expanded; all other nodes are to
be collapsed.
This method is typically used when restoring the interesting state of a
viewer captured by an earlier call to getExpandedTreePaths .
-
-
Parameters:
-
treePaths - the array of expanded tree paths -
Since:
- 3.2
-
See Also:
-
getExpandedTreePaths()
setExpandedState
public void setExpandedState(
Object elementOrTreePath,
boolean expanded)
- Sets whether the node corresponding to the given element or tree path is
expanded or collapsed.
-
-
Parameters:
-
elementOrTreePath - the element -
expanded - true if the node is expanded, and
false if collapsed
setSelection
protected abstract void setSelection(
List items)
- Sets the selection to the given list of items.
-
-
Parameters:
-
items - list of items (element type:
org.eclipse.swt.widgets.Item )
setSelectionToWidget
protected void setSelectionToWidget(
List v,
boolean reveal)
- This implementation of setSelectionToWidget accepts a list of elements or
a list of tree paths.
-
-
Specified by:
-
setSelectionToWidget
in class
StructuredViewer
-
-
Parameters:
-
v - list of selected elements (element type: Object )
or null if the selection is to be cleared -
reveal - true if the selection is to be made visible,
and false otherwise
showItem
protected abstract void showItem(
Item item)
- Shows the given item.
-
-
Parameters:
-
item - the item
updateChildren
protected void updateChildren(
Widget widget,
Object parent,
Object[] elementChildren)
-
Deprecated. this is no longer called by the framework
- Updates the tree items to correspond to the child elements of the given
parent element. If null is passed for the children, this method obtains
them (only if needed).
-
-
Parameters:
-
widget - the widget -
parent - the parent element -
elementChildren - the child elements, or null
getChildren
public
Item[] getChildren(
Widget widget,
Object[] elementChildren)
-
Deprecated. This method was inadvertently released as API but is not
intended to be called by clients.
- Not to be called by clients. Return the items to be refreshed as part of
an update. elementChildren are the new elements.
-
-
Parameters:
-
widget - -
elementChildren -
-
Returns:
- Item[]
-
Since:
- 3.4
updatePlus
protected void updatePlus(
Item item,
Object element)
- Updates the "+"/"-" icon of the tree node from the given element. It
calls
isExpandable to determine whether an element is
expandable.
-
-
Parameters:
-
item - the item -
element - the element
getVisibleExpandedElements
public
Object[] getVisibleExpandedElements()
- Gets the expanded elements that are visible to the user. An expanded
element is only visible if the parent is expanded.
-
-
Returns:
- the visible expanded elements
-
Since:
- 2.0
getTreePathFromItem
protected
TreePath getTreePathFromItem(
Item item)
- Returns the tree path for the given item.
-
-
Parameters:
-
item -
-
Returns:
-
TreePath
-
Since:
- 3.2
getSelection
public
ISelection getSelection()
- This implementation of getSelection() returns an instance of
ITreeSelection.
-
-
Specified by:
-
getSelection
in interface
ISelectionProvider
-
Overrides:
-
getSelection
in class
StructuredViewer
-
-
Returns:
- ISelection
-
Since:
- 3.2
setSelectionToWidget
protected void setSelectionToWidget(
ISelection selection,
boolean reveal)
-
Description copied from class:
StructuredViewer
- Converts the selection to a
List and calls
setSelectionToWidget(List, boolean) . The selection is
expected to be an IStructuredSelection of elements. If
not, the selection is cleared.
Subclasses do not typically override this method, but implement
setSelectionToWidget(List, boolean) instead.
-
-
Overrides:
-
setSelectionToWidget
in class
StructuredViewer
-
-
Parameters:
-
selection - an IStructuredSelection of elements -
reveal - true to reveal the first element in the
selection, or false otherwise
getExpandedTreePaths
public
TreePath[] getExpandedTreePaths()
- Returns a list of tree paths corresponding to expanded nodes in this
viewer's tree, including currently hidden ones that are marked as
expanded but are under a collapsed ancestor.
This method is typically used when preserving the interesting state of a
viewer; setExpandedElements is used during the restore.
-
-
Returns:
- the array of expanded tree paths
-
Since:
- 3.2
-
See Also:
-
setExpandedElements(java.lang.Object[])
insert
public void insert(
Object parentElementOrTreePath,
Object element,
int position)
- Inserts the given element as a new child element of the given parent
element at the given position. If this viewer has a sorter, the position
is ignored and the element is inserted at the correct position in the
sort order.
This method should be called (by the content provider) when elements have
been added to the model, in order to cause the viewer to accurately
reflect the model. This method only affects the viewer, not the model.
-
-
Parameters:
-
parentElementOrTreePath - the parent element, or the tree path to the parent -
element - the element -
position - a 0-based position relative to the model, or -1 to indicate
the last position -
Since:
- 3.2
getColumnViewerOwner
protected
Widget getColumnViewerOwner(int columnIndex)
-
Description copied from class:
ColumnViewer
- Returns the column widget at the given column index.
-
-
Specified by:
-
getColumnViewerOwner
in class
ColumnViewer
-
-
Parameters:
-
columnIndex - the column index
-
Returns:
- Widget the column widget
getItemAt
protected
Item getItemAt(
Point point)
- This implementation of
getItemAt(Point) returns null to ensure
API backwards compatibility. Subclasses should override.
-
-
Specified by:
-
getItemAt
in class
ColumnViewer
-
-
Parameters:
-
point - the widget-relative coordinates
-
Returns:
- the
Item at the coordinates or null if there
is no item at the given coordinates -
Since:
- 3.3
createViewerEditor
protected
ColumnViewerEditor createViewerEditor()
- This implementation of
createViewerEditor() returns null to ensure
API backwards compatibility. Subclasses should override.
-
-
Specified by:
-
createViewerEditor
in class
ColumnViewer
-
-
Returns:
- the editor, or
null if this viewer does not support
editing cell contents. -
Since:
- 3.3
doGetColumnCount
protected int doGetColumnCount()
- Returns the number of columns of this viewer.
Subclasses should overwrite this method, which has a default
implementation (returning 0) for API backwards compatility reasons
-
-
Specified by:
-
doGetColumnCount
in class
ColumnViewer
-
-
Returns:
- the number of columns
-
Since:
- 3.3
buildLabel
protected void buildLabel(
ViewerLabel updateLabel,
Object elementOrPath)
- This implementation of buildLabel handles tree paths as well as elements.
-
-
Overrides:
-
buildLabel
in class
StructuredViewer
-
-
Parameters:
-
updateLabel - the ViewerLabel to collect the result in -
elementOrPath - the element or tree path for which a label should be built -
See Also:
-
StructuredViewer.buildLabel(org.eclipse.jface.viewers.ViewerLabel, java.lang.Object)
internalIsInputOrEmptyPath
protected final boolean internalIsInputOrEmptyPath(
Object elementOrTreePath)
- Returns true if the given object is either the input or an empty tree path.
-
-
Parameters:
-
elementOrTreePath - an element which could either be the viewer's input, or a tree path
-
Returns:
-
true if the given object is either the input or an empty tree path,
false otherwise. -
Since:
- 3.3
getViewerRowFromItem
protected
ViewerRow getViewerRowFromItem(
Widget item)
-
Description copied from class:
ColumnViewer
- Returns a
ViewerRow associated with the given row widget.
Implementations may re-use the same instance for different row widgets;
callers can only use the viewer row locally and until the next call to
this method.
-
-
Specified by:
-
getViewerRowFromItem
in class
ColumnViewer
-
-
Parameters:
-
item - the row widget
-
Returns:
- ViewerRow a viewer row object
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.
|
|
|