Class AbstractTreeViewer
- All Implemented Interfaces:
- IInputProvider,- IInputSelectionProvider,- IPostSelectionProvider,- ISelectionProvider
- Direct Known Subclasses:
- TreeViewer
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.
 
This class is not intended to be subclassed outside of the JFace viewers framework.
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from class org.eclipse.jface.viewers.StructuredViewerStructuredViewer.ColorAndFontCollector, StructuredViewer.ColorAndFontCollectorWithProviders
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intConstant indicating that all levels of the tree should be expanded or collapsed.static final intConstant indicating that no level of the tree should be expanded or collapsedFields inherited from class org.eclipse.jface.viewers.ViewerWIDGET_DATA_KEY
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidAdds the given child element to this viewer as a child of the given parent element.voidAdds the given child elements to this viewer as children of the given parent element.protected voidaddSelectionListener(Control control, SelectionListener listener) Deprecated.voidaddTreeListener(ITreeViewerListener listener) Adds a listener for expand and collapse events in this viewer.protected abstract voidaddTreeListener(Control control, TreeListener listener) Adds the given SWT tree listener to the given SWT control.protected voidassertContentProviderType(IContentProvider provider) Assert that the content provider is of one of the supported types.protected voidAssociates the given element with the given widget.protected voidbuildLabel(ViewerLabel updateLabel, Object elementOrPath) This implementation of buildLabel handles tree paths as well as elements.voidCollapses all nodes of the viewer's tree, starting with the root.voidcollapseToLevel(Object elementOrTreePath, int level) Collapses the subtree rooted at the given element or tree path to the given level.booleanReturns true if the element is present in the viewer.protected voidcreateChildren(Widget widget) Creates all children for the given widget.protected voidcreateTreeItem(Widget parent, Object element, int index) Creates a single item for the given parent and synchronizes it with the given element.protected ColumnViewerEditorThis implementation ofcreateViewerEditor()returns null to ensure API backwards compatibility.protected voiddisassociate(Item item) TheAbstractTreeViewerimplementation of this method also recurses over children of the corresponding element.protected WidgetdoFindInputItem(Object element) Returns the widget in this viewer's control which represents the given element if it is the viewer's input.protected WidgetdoFindItem(Object element) Returns the widget in this viewer's control which represent the given element.protected intReturns the number of columns of this viewer.protected voiddoUpdateItem(Item item, Object element) Copies the attributes of the given element into the given SWT item.protected voiddoUpdateItem(Widget widget, Object element, boolean fullMap) Copies the attributes of the given element into the given SWT item.voidExpands all nodes of the viewer's tree, starting with the root.voidexpandAll(boolean disableRedraw) Expands all nodes of the viewer's tree, starting with the root.voidexpandToLevel(int level) Expands the root of the viewer's tree to the given level.voidexpandToLevel(int level, boolean disableRedraw) Expands the root of the viewer's tree to the given level.voidexpandToLevel(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.voidexpandToLevel(Object elementOrTreePath, int level, boolean disableRedraw) 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 voidFires a tree collapsed event.protected voidFires a tree expanded event.intReturns the auto-expand level.intprotected ItemGet 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 WidgetgetColumnViewerOwner(int columnIndex) Returns the column widget at the given column index.protected abstract booleangetExpanded(Item item) Returns whether the given SWT item is expanded or collapsed.Object[]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.booleangetExpandedState(Object elementOrTreePath) Returns whether the node corresponding to the given element or tree path is expanded or collapsed.TreePath[]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 ItemThis implementation ofgetItemAt(Point)returns null to ensure API backwards compatibility.protected abstract intgetItemCount(Control control) Returns the number of child items of the given SWT control.protected abstract intgetItemCount(Item item) Returns the number of child items of the given SWT item.protected abstract Item[]Returns the child items of the given SWT item.protected ItemgetNextItem(Item item, boolean includeChildren) Returns the item after the given item in the tree, ornullif there is no next item.protected ObjectgetParentElement(Object elementOrTreePath) This method takes a tree path or an element.protected abstract ItemgetParentItem(Item item) Returns the parent item of the given item in the tree, ornullif there is no parent item.protected ItemgetPreviousItem(Item item) Returns the item before the given item in the tree, ornullif there is no previous item.protected Object[]getRawChildren(Object parentElementOrTreePath) Returns the children of the given parent without sorting and filtering them.TheAbstractTreeViewerimplementation of this method returns the result as anITreeSelection.protected abstract Item[]getSelection(Control control) Returns all selected items for the given SWT control.protected ListRetrieves the selection, as aList, from the underlying widget.protected Object[]getSortedChildren(Object parentElementOrTreePath) Returns the sorted and filtered set of children of the given element.Returns theITreeSelectionof this viewer.protected TreePathgetTreePathFromItem(Item item) Returns the tree path for the given item.protected ViewerRowgetViewerRowFromItem(Widget item) Returns aViewerRowassociated with the given row widget.Object[]Gets the expanded elements that are visible to the user.protected voidhandleDoubleSelect(SelectionEvent event) Handles a double-click select event from the widget.protected voidhandleTreeCollapse(TreeEvent event) Handles a tree collapse event from the SWT widget.protected voidhandleTreeExpand(TreeEvent event) Handles a tree expand event from the SWT widget.protected voidhookControl(Control control) Adds event listener hooks to the given control.protected intindexForElement(Widget parent, Object element) Returns the index where the item should be inserted.protected voidinputChanged(Object input, Object oldInput) Internal hook method called when the input to this viewer is initially set or subsequently changed.voidInserts the given element as a new child element of the given parent element at the given position.protected voidinternalAdd(Widget widget, Object parentElementOrTreePath, Object[] childElements) Adds the given child elements to this viewer as children of the given parent element.protected voidinternalCollapseToLevel(Widget widget, int level) Recursively collapses the subtree rooted at the given widget to the given level.protected WidgetinternalExpand(Object elementOrPath, boolean expand) Tries to create a path of tree items for the given element or tree path.protected voidinternalExpandToLevel(Widget widget, int level) Recursively expands the subtree rooted at the given widget to the given level.protected final Widget[]internalFindItems(Object parentElementOrTreePath) Find the items for the given element of tree pathprotected WidgetinternalGetWidgetToSelect(Object elementOrTreePath) Returns the widget to be selected for the given element or tree path.protected voidInitializes the tree with root items, expanding to the appropriate level if necessary.protected final booleaninternalIsInputOrEmptyPath(Object elementOrTreePath) Returns true if the given object is either the input or an empty tree path.protected voidinternalRefresh(Object element) Refreshes this viewer starting at the given element.protected voidinternalRefresh(Object element, boolean updateLabels) Refreshes this viewer starting at the given element.protected voidinternalRefresh(Widget widget, Object element, boolean doStruct, boolean updateLabels) Refreshes the tree starting at the given widget.protected voidinternalRemove(Object[] elementsOrPaths) Removes the given elements from this viewer.protected voidinternalRemove(Object parent, Object[] elements) Removes the given elements from this viewer, whenever those elements appear as children of the given parent.booleanisExpandable(Object elementOrTreePath) Return whether the tree node representing the given element or path can be expanded.protected booleanisSameSelection(List<Item> items, Item[] current) Returnstrueif the given list and array of items refer to the same model elements.protected voidNotifies that the label provider has changed.protected abstract ItemCreates a new item.voidRemoves the given element from the viewer.voidRemoves the given elements from this viewer.voidRemoves the given elements from this viewer whenever they appear as children of the given parent element.protected abstract voidRemoves all items from the given control.voidremoveTreeListener(ITreeViewerListener listener) Removes a listener for expand and collapse events in this viewer.voidThis implementation of reveal() reveals the given element or tree path.scrollDown(int x, int y) Scrolls the viewer's control down by one item from the given display-relative coordinates.scrollUp(int x, int y) Scrolls the viewer's control up by one item from the given display-relative coordinates.voidsetAutoExpandLevel(int level) Sets the auto-expand level to be used when the input of the viewer is set usingStructuredViewer.setInput(Object).voidsetAutoExpandOnSingleChildLevels(int level) Sets the maximum number of levels to automatically expand whenever a widget is expanded that only has a single child element.voidsetContentProvider(IContentProvider provider) Sets the content provider used by thisAbstractTreeViewer.protected abstract voidsetExpanded(Item item, boolean expand) Sets the expand state of the given item.voidsetExpandedElements(Object... elements) Sets which nodes are expanded in this viewer's tree.voidsetExpandedState(Object elementOrTreePath, boolean expanded) Sets whether the node corresponding to the given element or tree path is expanded or collapsed.voidsetExpandedStateWithAutoExpandOnSingleChild(Object elementOrTreePath, boolean expanded) Behaves likesetExpandedState(Object, boolean)but additionally also respects expansion of paths of of single child elements if set up bysetAutoExpandOnSingleChildLevels(int).voidsetExpandedTreePaths(TreePath... treePaths) Sets which nodes are expanded in this viewer's tree.voidsetExpandPreCheckFilters(boolean checkFilters) InstructsisExpandable(Object)to consult filters to more accurately determine if an item can be expanded.protected abstract voidsetSelection(List<Item> items) Sets the selection to the given list of items.protected voidsetSelectionToWidget(List v, boolean reveal) This implementation of setSelectionToWidget accepts a list of elements or a list of tree paths.protected voidsetSelectionToWidget(ISelection selection, boolean reveal) Converts the selection to aListand callssetSelectionToWidget(List, boolean).protected abstract voidShows the given item.protected voidupdateChildren(Widget widget, Object parent, Object[] elementChildren) Deprecated.this is no longer called by the frameworkprotected voidupdatePlus(Item item, Object element) Updates the "+"/"-" icon of the tree node from the given element.Methods inherited from class org.eclipse.jface.viewers.ColumnViewerapplyEditorValue, cancelEditing, checkBusy, editElement, firePostSelectionChanged, getCell, getCellEditors, getCellModifier, getColumnProperties, getColumnViewerEditor, getItem, getLabelProvider, getViewerRow, handleDispose, hookEditingSupport, isBusy, isCellEditorActive, isExpandableNode, refresh, refresh, setBusy, setCellEditors, setCellModifier, setColumnProperties, setColumnViewerEditor, setDisplayIncrementally, setLabelProvider, triggerEditorActivationEvent, unmapAllElements, update, updateSelectionMethods inherited from class org.eclipse.jface.viewers.StructuredVieweraddDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertElementsNotNull, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, getColorAndFontCollector, getComparator, getComparer, getFilteredChildren, getFilters, getRoot, getSorter, 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, unmapElement, unmapElement, update, updateItem, usingElementMapMethods inherited from class org.eclipse.jface.viewers.ContentViewergetContentProvider, getInput, getLabelProviderMethods inherited from class org.eclipse.jface.viewers.VieweraddHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getControl, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, setData, setSelectionMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.jface.viewers.ISelectionProvideraddSelectionChangedListener, removeSelectionChangedListener, setSelection
- 
Field Details- 
ALL_LEVELSpublic static final int ALL_LEVELSConstant indicating that all levels of the tree should be expanded or collapsed.- See Also:
 
- 
NO_EXPANDpublic static final int NO_EXPANDConstant indicating that no level of the tree should be expanded or collapsed- Since:
- 3.34
- See Also:
 
 
- 
- 
Constructor Details- 
AbstractTreeViewerprotected 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.
 
- 
- 
Method Details- 
addAdds 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. If a child already exists under the given parent, the child gets refreshed and not added twice.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
 
- 
internalFindItemsFind 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
 
- 
internalAddAdds 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. This method cannot be removed without breaking binary backwards compatibility, but should not be called by clients. - Parameters:
- widget- the widget for the parent element
- parentElementOrTreePath- the parent element
- childElements- the child elements to add
- Since:
- 3.1
 
- 
indexForElementReturns 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
 
- 
getSortedChildrenDescription copied from class:StructuredViewerReturns 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:
- getSortedChildrenin class- ColumnViewer
- Parameters:
- parentElementOrTreePath- the parent element
- Returns:
- a sorted and filtered array of child elements
 
- 
addAdds 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. If the child already exists under the given parent, the child gets refreshed and not added twice.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
 
- 
addSelectionListenerDeprecated.Adds the given SWT selection listener to the given SWT control.- Parameters:
- control- the SWT control
- listener- the SWT selection listener
 
- 
addTreeListenerAdds 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
 
- 
addTreeListenerAdds the given SWT tree listener to the given SWT control.- Parameters:
- control- the SWT control
- listener- the SWT tree listener
 
- 
associateDescription copied from class:StructuredViewerAssociates 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:
- associatein class- StructuredViewer
- Parameters:
- element- the element
- item- the widget
 
- 
collapseAllpublic void collapseAll()Collapses all nodes of the viewer's tree, starting with the root. This method is equivalent tocollapseToLevel(ALL_LEVELS).
- 
collapseToLevelCollapses the subtree rooted at the given element or tree path to the given level.Note that the default implementation of this method does turn redraw off via this operation via a call to setRedraw- Parameters:
- elementOrTreePath- the element or tree path
- level- non-negative level, or- ALL_LEVELSto collapse all levels of the tree
 
- 
createChildrenCreates 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 callparent.setExpanded(true).- Parameters:
- widget- the widget
 
- 
createTreeItemCreates a single item for the given parent and synchronizes it with the given element. The fastest way to insert many items is documented inTreeItem(Tree,int,int)- Parameters:
- parent- the parent widget
- element- the element
- index- if non-negative, indicates the position to insert the item into its parent
- See Also:
 
- 
disassociateTheAbstractTreeViewerimplementation of this method also recurses over children of the corresponding element.- Overrides:
- disassociatein class- ColumnViewer
- Parameters:
- item- the widget
 
- 
doFindInputItemDescription copied from class:StructuredViewerReturns 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:
- doFindInputItemin class- StructuredViewer
- Parameters:
- element- the element to find the representing widget for
- Returns:
- the corresponding widget, or nullif none
 
- 
doFindItemDescription copied from class:StructuredViewerReturns 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:
- doFindItemin class- StructuredViewer
- Parameters:
- element- the element to find the representing widget for
- Returns:
- the corresponding widget, or nullif none
 
- 
doUpdateItemCopies the attributes of the given element into the given SWT item.- Parameters:
- item- the SWT item
- element- the element
 
- 
isSameSelectionReturnstrueif 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:
- trueif the refer to the same elements,- falseotherwise
- Since:
- 3.1 in TreeViewer, moved to AbstractTreeViewer in 3.3
 
- 
doUpdateItemDescription copied from class:StructuredViewerCopies the attributes of the given element into the given SWT item. The element map is updated according to the value offullMap. IffullMapistruethen the current mapping from element to widgets is removed and the new mapping is added. If full map isfalsethen 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:
- doUpdateItemin class- StructuredViewer
- Parameters:
- widget- widget item to update
- element- the element to represent
- fullMap-- trueif mappings are added and removed, and- falseif only the new map gets installed
 
- 
expandAllpublic void expandAll()Expands all nodes of the viewer's tree, starting with the root. This method is equivalent toexpandToLevel(ALL_LEVELS).
- 
expandAllpublic void expandAll(boolean disableRedraw) Expands all nodes of the viewer's tree, starting with the root. This method is equivalent toexpandToLevel(ALL_LEVELS).- Parameters:
- disableRedraw-- truewhen drawing operations should be disabled during expansion.
- Since:
- 3.14
 
- 
expandToLevelpublic void expandToLevel(int level) Expands the root of the viewer's tree to the given level.- Parameters:
- level- non-negative level, or- ALL_LEVELSto expand all levels of the tree
 
- 
expandToLevelpublic void expandToLevel(int level, boolean disableRedraw) Expands the root of the viewer's tree to the given level.- Parameters:
- level- non-negative level, or- ALL_LEVELSto expand all levels of the tree
- disableRedraw-- truewhen drawing operations should be disabled during expansion.- truewhen drawing operations should be enabled during expansion. Prefer using true as this results in a faster UI
- Since:
- 3.14
 
- 
expandToLevelExpands 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_LEVELSto expand all levels of the tree
 
- 
expandToLevelExpands 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_LEVELSto expand all levels of the tree
- disableRedraw-- truewhen drawing operations should be disabled during expansion.- falsewhen drawing operations should be enabled during expansion. Prefer true as this results in a faster UI.
- Since:
- 3.14
 
- 
fireTreeCollapsedFires a tree collapsed event. Only listeners registered at the time this method is called are notified.- Parameters:
- event- the tree expansion event
- See Also:
 
- 
fireTreeExpandedFires a tree expanded event. Only listeners registered at the time this method is called are notified.- Parameters:
- event- the tree expansion event
- See Also:
 
- 
getAutoExpandLevelpublic int getAutoExpandLevel()Returns the auto-expand level.- Returns:
- non-negative level, or ALL_LEVELSif all levels of the tree are expanded automatically
- See Also:
 
- 
getAutoExpandOnSingleChildLevelspublic int getAutoExpandOnSingleChildLevels()- Returns:
- NO_EXPANDfor disabled,- ALL_LEVELSfor infinite expansion or any integer value for a specific number of levels to expand.
- Since:
- 3.34
 
- 
getChildrenReturns the SWT child items for the given SWT widget.- Parameters:
- widget- the widget
- Returns:
- the child items
 
- 
getChildGet 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 nullif widget is not a type that can contain items.
- Throws:
- ArrayIndexOutOfBoundsException- if the index is not valid.
- Since:
- 3.1
 
- 
getExpandedReturns whether the given SWT item is expanded or collapsed.- Parameters:
- item- the item
- Returns:
- trueif the item is considered expanded and- falseif collapsed
 
- 
getExpandedElementsReturns 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; setExpandedElementsis used during the restore.- Returns:
- the array of expanded elements
- See Also:
 
- 
getExpandedStateReturns whether the node corresponding to the given element or tree path is expanded or collapsed.- Parameters:
- elementOrTreePath- the element
- Returns:
- trueif the node is expanded, and- falseif collapsed
 
- 
getItemCountReturns the number of child items of the given SWT control.- Parameters:
- control- the control
- Returns:
- the number of children
 
- 
getItemCountReturns the number of child items of the given SWT item.- Parameters:
- item- the item
- Returns:
- the number of children
 
- 
getItemsReturns the child items of the given SWT item.- Parameters:
- item- the item
- Returns:
- the child items
 
- 
getNextItemReturns the item after the given item in the tree, ornullif there is no next item.- Parameters:
- item- the item
- includeChildren-- trueif the children are considered in determining which item is next, and- falseif subtrees are ignored
- Returns:
- the next item, or nullif none
 
- 
getParentItemReturns the parent item of the given item in the tree, ornullif there is no parent item.- Parameters:
- item- the item
- Returns:
- the parent item, or nullif none
 
- 
getPreviousItemReturns the item before the given item in the tree, ornullif there is no previous item.- Parameters:
- item- the item
- Returns:
- the previous item, or nullif none
 
- 
getRawChildrenDescription copied from class:StructuredViewerReturns 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:
- getRawChildrenin class- ColumnViewer
- Parameters:
- parentElementOrTreePath- the parent element
- Returns:
- the child elements
 
- 
getSelectionReturns all selected items for the given SWT control.- Parameters:
- control- the control
- Returns:
- the list of selected items
 
- 
getSelectionFromWidgetDescription copied from class:StructuredViewerRetrieves the selection, as aList, from the underlying widget.- Specified by:
- getSelectionFromWidgetin class- StructuredViewer
- Returns:
- the list of selected elements
 
- 
handleDoubleSelectDescription copied from class:StructuredViewerHandles a double-click select event from the widget.This method is internal to the framework; subclassers should not call this method. - Overrides:
- handleDoubleSelectin class- ColumnViewer
- Parameters:
- event- the SWT selection event
 
- 
handleTreeCollapseHandles a tree collapse event from the SWT widget.- Parameters:
- event- the SWT tree event
 
- 
handleTreeExpandHandles a tree expand event from the SWT widget.- Parameters:
- event- the SWT tree event
 
- 
hookControlDescription copied from class:ContentViewerAdds event listener hooks to the given control.All subclasses must call this method when their control is first established. The ContentViewerimplementation of this method hooks dispose events for the given control. Subclasses may override if they need to add other control hooks; however,super.hookControlmust be invoked.- Overrides:
- hookControlin class- ColumnViewer
- Parameters:
- control- the control
 
- 
inputChangedDescription copied from class:ViewerInternal 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:
- inputChangedin class- Viewer
- Parameters:
- input- the new input of this viewer, or- nullif none
- oldInput- the old input element or- nullif there was previously no input
 
- 
internalInitializeTreeInitializes the tree with root items, expanding to the appropriate level if necessary.- Parameters:
- tree- the tree control
- Since:
- 3.3
 
- 
internalCollapseToLevelRecursively collapses the subtree rooted at the given widget to the given level.- Parameters:
- widget- the widget
- level- non-negative level, or- ALL_LEVELSto collapse all levels of the tree
 
- 
internalExpandTries 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 thatgetParentreturns the correct parent of an element.- Parameters:
- elementOrPath- the element
- expand-- trueif all nodes on the path should be expanded, and- falseotherwise
- Returns:
- Widget
 
- 
getParentElementThis method takes a tree path or an element. If the argument is not a tree path, returns the parent of the given element ornullif the parent is not known. If the argument is a tree path with more than one segment, returns its parent tree path, otherwise returnsnull.- Parameters:
- elementOrTreePath- the element or path to find parent for
- Returns:
- the parent element, or parent path, or null
- Since:
- 3.2
 
- 
internalGetWidgetToSelectReturns 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 nullif not found
- Since:
- 3.1
 
- 
internalExpandToLevelRecursively 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_LEVELSto expand all levels of the tree
 
- 
internalRefreshDescription copied from class:StructuredViewerRefreshes this viewer starting at the given element.- Specified by:
- internalRefreshin class- StructuredViewer
- Parameters:
- element- the element
 
- 
internalRefreshDescription copied from class:StructuredViewerRefreshes this viewer starting at the given element. Labels are updated as described inrefresh(boolean updateLabels).The default implementation simply calls internalRefresh(element), ignoringupdateLabels.If this method is overridden to do the actual refresh, then internalRefresh(Object element)should simply callinternalRefresh(element, true).- Overrides:
- internalRefreshin class- StructuredViewer
- Parameters:
- element- the element
- updateLabels-- trueto update labels for existing elements,- falseto only update labels as needed, assuming that labels for existing elements are unchanged.
 
- 
internalRefreshprotected 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. This method cannot be removed without breaking binary backwards compatibility, but should not be called by clients. - Parameters:
- widget- the widget
- element- the element
- doStruct-- trueif structural changes are to be picked up, and- falseif only label provider changes are of interest
- updateLabels-- trueto update labels for existing elements,- falseto only update labels as needed, assuming that labels for existing elements are unchanged.
- Since:
- 3.1
 
- 
internalRemoveRemoves 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. This method cannot be removed without breaking binary backwards compatibility, but should not be called by clients. - Parameters:
- elementsOrPaths- the elements or element paths to remove
- Since:
- 3.1
 
- 
internalRemoveRemoves 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
 
- 
isExpandableReturn 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 anITreePathContentProvider.The default implementation of this framework method calls hasChildrenon this viewer's content provider. It may be overridden if necessary.- Parameters:
- elementOrTreePath- the element or path
- Returns:
- trueif the tree node representing the given element can be expanded, or- falseif not
- See Also:
 
- 
labelProviderChangedprotected void labelProviderChanged()Description copied from class:ContentViewerNotifies that the label provider has changed.The ContentViewerimplementation of this method callsrefresh(). Subclasses may reimplement or extend.- Overrides:
- labelProviderChangedin class- ContentViewer
 
- 
newItemCreates 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
 
- 
removeRemoves 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
 
- 
removeRemoves 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
 
- 
removeRemoves 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
 
- 
removeAllRemoves all items from the given control.- Parameters:
- control- the control
 
- 
removeTreeListenerRemoves a listener for expand and collapse events in this viewer. Has no effect if an identical listener is not registered.- Parameters:
- listener- a tree viewer listener
 
- 
revealThis implementation of reveal() reveals the given element or tree path.- Specified by:
- revealin class- StructuredViewer
- Parameters:
- elementOrTreePath- the element to reveal
 
- 
scrollDownDescription copied from class:ViewerScrolls the viewer's control down by one item from the given display-relative coordinates. Returns the newly revealed Item, ornullif no scrolling occurred or if the viewer doesn't represent an item-based widget.- Overrides:
- scrollDownin class- Viewer
- Parameters:
- x- horizontal coordinate
- y- vertical coordinate
- Returns:
- the item scrolled down to
 
- 
scrollUpDescription copied from class:ViewerScrolls the viewer's control up by one item from the given display-relative coordinates. Returns the newly revealed Item, ornullif no scrolling occurred or if the viewer doesn't represent an item-based widget.
- 
setAutoExpandLevelpublic void setAutoExpandLevel(int level) Sets the auto-expand level to be used when the input of the viewer is set usingStructuredViewer.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_LEVELSmeans 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_LEVELSto expand all levels of the tree
 
- 
setAutoExpandOnSingleChildLevelspublic void setAutoExpandOnSingleChildLevels(int level) Sets the maximum number of levels to automatically expand whenever a widget is expanded that only has a single child element. The expansion is recursively applied for the given number of levels if the widget at each of the according levels only has a single child.This behavior applies when expanding a widget using the method setExpandedStateWithAutoExpandOnSingleChild(Object, boolean)or when anSWTevent is triggered on the underlying tree. The behavior is such, that a level of 0 or 1 represents opening the current widget itself. Thus, only alevelof 2 or greater will have any additional effect.NO_EXPANDmeans that such paths are not automatically expanded.The expansion is recursively applied for the given number of levels if the widget at each of the according levels only has a single child and is off by default. Turning this behavior on should be done cautiously on trees with lazy-loaded child-nodes. Using ALL_LEVELSas argument will recursively expand as many levels as possible until a widget at the according level has more than a single child.- Parameters:
- level-- NO_EXPANDfor disabled,- ALL_LEVELSfor infinite expansion or any positive integer value to set a level to which expansion is recursively applied for the given number of levels if the widget at each of the according levels only has a single child.
- Since:
- 3.34
 
- 
setContentProviderSets the content provider used by thisAbstractTreeViewer.Content providers for abstract tree viewers must implement either ITreeContentProviderorITreePathContentProvider.- Overrides:
- setContentProviderin class- StructuredViewer
- Parameters:
- provider- the content provider
- See Also:
 
- 
assertContentProviderTypeDescription copied from class:StructuredViewerAssert that the content provider is of one of the supported types.- Overrides:
- assertContentProviderTypein class- StructuredViewer
- Parameters:
- provider- content provider to check
 
- 
setExpandedSets the expand state of the given item.- Parameters:
- item- the item
- expand- the expand state of the item
 
- 
setExpandedElementsSets 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:
 
- 
setExpandedTreePathsSets 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:
 
- 
setExpandedStateSets whether the node corresponding to the given element or tree path is expanded or collapsed.- Parameters:
- elementOrTreePath- the element
- expanded-- trueif the node is expanded, and- falseif collapsed
 
- 
setExpandedStateWithAutoExpandOnSingleChildBehaves likesetExpandedState(Object, boolean)but additionally also respects expansion of paths of of single child elements if set up bysetAutoExpandOnSingleChildLevels(int).- Parameters:
- elementOrTreePath- the widget to expand
- expanded- the new expanded state of- elementOrTreePath
- Since:
- 3.34
 
- 
setSelectionSets the selection to the given list of items.- Parameters:
- items- list of items (element type:- org.eclipse.swt.widgets.Item)
 
- 
setSelectionToWidgetThis implementation of setSelectionToWidget accepts a list of elements or a list of tree paths.- Specified by:
- setSelectionToWidgetin class- StructuredViewer
- Parameters:
- v- list of selected elements (element type:- Object) or- nullif the selection is to be cleared
- reveal-- trueif the selection is to be made visible, and- falseotherwise
 
- 
showItemShows the given item.- Parameters:
- item- the item
 
- 
updateChildrenDeprecated.this is no longer called by the frameworkUpdates 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
 
- 
getChildrenDeprecated.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- widget to get children for
- elementChildren- unused
- Returns:
- Item[]
- Since:
- 3.4
 
- 
updatePlusUpdates the "+"/"-" icon of the tree node from the given element. It callsisExpandableto determine whether an element is expandable.- Parameters:
- item- the item
- element- the element
 
- 
getVisibleExpandedElementsGets 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
 
- 
getTreePathFromItemReturns the tree path for the given item.- Parameters:
- item- item to get path for
- Returns:
- TreePath
- Since:
- 3.2
 
- 
getSelectionTheAbstractTreeViewerimplementation of this method returns the result as anITreeSelection.Call Subclasses do not typically override this method, but implementgetStructuredSelection()instead to get an instance ofITreeSelectiondirectly.getSelectionFromWidget(List)instead. If they override this method, they should return anITreeSelectionas well.- Specified by:
- getSelectionin interface- ISelectionProvider
- Overrides:
- getSelectionin class- StructuredViewer
- Returns:
- ISelection
- Since:
- 3.2
 
- 
getStructuredSelectionReturns theITreeSelectionof this viewer.Subclasses whose getSelection()specifies to return a more specific type should also override this method and return that type.- Overrides:
- getStructuredSelectionin class- StructuredViewer
- Returns:
- ITreeSelection
- Throws:
- ClassCastException- if the selection of the viewer is not an instance of ITreeSelection
- Since:
- 3.11
 
- 
setSelectionToWidgetDescription copied from class:StructuredViewerConverts the selection to aListand callssetSelectionToWidget(List, boolean). The selection is expected to be anIStructuredSelectionof elements. If not, the selection is cleared.Subclasses do not typically override this method, but implement setSelectionToWidget(List, boolean)instead.- Overrides:
- setSelectionToWidgetin class- StructuredViewer
- Parameters:
- selection- an IStructuredSelection of elements
- reveal-- trueto reveal the first element in the selection, or- falseotherwise
 
- 
getExpandedTreePathsReturns 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; setExpandedElementsis used during the restore.- Returns:
- the array of expanded tree paths
- Since:
- 3.2
- See Also:
 
- 
insertInserts 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
 
- 
getColumnViewerOwnerDescription copied from class:ColumnViewerReturns the column widget at the given column index.- Specified by:
- getColumnViewerOwnerin class- ColumnViewer
- Parameters:
- columnIndex- the column index
- Returns:
- Widget the column widget
 
- 
getItemAtThis implementation ofgetItemAt(Point)returns null to ensure API backwards compatibility. Subclasses should override.- Specified by:
- getItemAtin class- ColumnViewer
- Parameters:
- point- the widget-relative coordinates
- Returns:
- the Itemat the coordinates ornullif there is no item at the given coordinates
- Since:
- 3.3
 
- 
createViewerEditorThis implementation ofcreateViewerEditor()returns null to ensure API backwards compatibility. Subclasses should override.- Specified by:
- createViewerEditorin class- ColumnViewer
- Returns:
- the editor, or nullif this viewer does not support editing cell contents.
- Since:
- 3.3
 
- 
doGetColumnCountprotected 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:
- doGetColumnCountin class- ColumnViewer
- Returns:
- the number of columns
- Since:
- 3.3
 
- 
buildLabelThis implementation of buildLabel handles tree paths as well as elements.- Overrides:
- buildLabelin 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:
 
- 
internalIsInputOrEmptyPathReturns 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:
- trueif the given object is either the input or an empty tree path,- falseotherwise.
- Since:
- 3.3
 
- 
getViewerRowFromItemDescription copied from class:ColumnViewerReturns aViewerRowassociated 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:
- getViewerRowFromItemin class- ColumnViewer
- Parameters:
- item- the row widget
- Returns:
- ViewerRow a viewer row object
 
- 
setExpandPreCheckFilterspublic void setExpandPreCheckFilters(boolean checkFilters) InstructsisExpandable(Object)to consult filters to more accurately determine if an item can be expanded.Setting this value to truewill affect performance of the tree viewer.To improve performance, by default the tree viewer does not consult filters when determining if a tree node could be expanded. - Parameters:
- checkFilters-- trueto instruct tree viewer to consult filters
- Since:
- 3.8
- See Also:
 
- 
containsReturns true if the element is present in the viewer. If the viewer has incremental display set then the element is searched inside expandable node also. i.e. it searches inside the remaining elements to be populated.- Parameters:
- parent- model element which corresponds to any visible widget on the viewer
- element- model element
- Returns:
- if given model element is contained in the viewer
- Since:
- 3.31
 
 
-