Package org.eclipse.jface.viewers
Interface ILazyTreePathContentProvider
- All Superinterfaces:
IContentProvider
The ILazyTreePathContentProvider is a tree path-based content provider for
tree viewers created using the SWT.VIRTUAL flag that only wish to return
their contents as they are queried.
- Since:
- 3.3
-
Method Summary
Modifier and TypeMethodDescriptionTreePath[]
getParents
(Object element) Return the possible parent paths for the given element.void
updateChildCount
(TreePath treePath, int currentChildCount) Called when the TreeViewer needs an up-to-date child count for the given tree path, for example fromStructuredViewer.refresh()
andStructuredViewer.setInput(Object)
.void
updateElement
(TreePath parentPath, int index) Called when a previously-blank item becomes visible in the TreeViewer.void
updateHasChildren
(TreePath path) Called when the TreeViewer needs up-to-date information whether the node at the given tree path can be expanded.Methods inherited from interface org.eclipse.jface.viewers.IContentProvider
dispose, inputChanged
-
Method Details
-
updateElement
Called when a previously-blank item becomes visible in the TreeViewer. If the content provider knows the child element for the given parent at this index, it should respond by callingTreeViewer.replace(Object, int, Object)
. The content provider should also update the child count for any replaced element by callingTreeViewer.setChildCount(Object, int)
. If the given current child count is already correct, setChildCount does not have to be called since a call to replace will not change the child count. If the content provider doesn't know the child count at this point, and can more efficiently determine if the element has any children, then it can instead callTreeViewer.setHasChildren(Object, boolean)
.NOTE #updateElement(int index) can be used to determine selection values. If TableViewer#replace(Object, int) is not called before returning from this method, selections may have missing or stale elements. In this situation it is suggested that the selection is asked for again after replace() has been called.
- Parameters:
parentPath
- The tree path of parent of the element, or if the element to update is a root element, an empty tree pathindex
- The index of the element to update in the tree
-
updateChildCount
Called when the TreeViewer needs an up-to-date child count for the given tree path, for example fromStructuredViewer.refresh()
andStructuredViewer.setInput(Object)
. If the content provider knows the element at the given tree path, it should respond by callingTreeViewer.setChildCount(Object, int)
. If the given current child count is already correct, no action has to be taken by this content provider.- Parameters:
treePath
- The tree path for which an up-to-date child count is needed, or if the number of root elements is requested, the empty tree pathcurrentChildCount
- The current child count for the element that needs updating
-
updateHasChildren
Called when the TreeViewer needs up-to-date information whether the node at the given tree path can be expanded. If the content provider knows the element at the given tree path, it should respond by callingTreeViewer.setHasChildren(Object, boolean)
. The content provider may also choose to callTreeViewer.setChildCount(Object, int)
instead if it knows the number of children.Intended as an optimization for when the viewer does not need the actual children. Clients may be able to implement this more efficiently than
updateChildCount
.- Parameters:
path
- The tree path for which up-to-date information about children is needed
-
getParents
Return the possible parent paths for the given element. An empty array can be returned if the paths cannot be computed. In this case the tree-structured viewer can't expand a given node correctly if requested. If the element is a potential child of the input of the viewer, an empty tree path should be an entry in the returned array.- Parameters:
element
- the element- Returns:
- the possible parent paths for the given element
-