Package org.eclipse.handly.ui.viewer
Class DeferredElementTreeContentProvider
- java.lang.Object
-
- org.eclipse.handly.ui.viewer.DeferredTreeContentProvider
-
- org.eclipse.handly.ui.viewer.DeferredElementTreeContentProvider
-
- All Implemented Interfaces:
org.eclipse.jface.viewers.IContentProvider,org.eclipse.jface.viewers.IStructuredContentProvider,org.eclipse.jface.viewers.ITreeContentProvider
public class DeferredElementTreeContentProvider extends DeferredTreeContentProvider
A deferred content provider forIElements. Uses the existing structure of the elements.- Since:
- 1.5
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.Object[]NO_CHILDRENA zero-length array of the runtime typeObject[].
-
Constructor Summary
Constructors Constructor Description DeferredElementTreeContentProvider(org.eclipse.jface.viewers.AbstractTreeViewer viewer, org.eclipse.ui.IWorkbenchPartSite site)Creates a new instance of the content provider.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidfetchDeferredChildren(java.lang.Object parentElement, org.eclipse.ui.progress.IElementCollector collector, org.eclipse.core.runtime.IProgressMonitor monitor)Called by a job to fetch the child elements of the given parent element.java.lang.Object[]getChildren(java.lang.Object parentElement)java.lang.Object[]getElements(java.lang.Object inputElement)protected java.lang.Object[]getImmediateChildren(java.lang.Object parentElement)Returns the child elements of the given parent element.java.lang.ObjectgetParent(java.lang.Object element)protected org.eclipse.core.runtime.jobs.ISchedulingRulegetRule(java.lang.Object parentElement)Returns the rule used to schedule the deferred fetching of children for the given parent element.booleanhasChildren(java.lang.Object element)protected booleanshouldDefer(java.lang.Object element)Returns whether the given element should be processed via deferred tree content manager.-
Methods inherited from class org.eclipse.handly.ui.viewer.DeferredTreeContentProvider
getDeferredTreeContentManager, getLabel, inputChanged
-
-
-
-
Constructor Detail
-
DeferredElementTreeContentProvider
public DeferredElementTreeContentProvider(org.eclipse.jface.viewers.AbstractTreeViewer viewer, org.eclipse.ui.IWorkbenchPartSite site)Creates a new instance of the content provider.- Parameters:
viewer- the tree viewer that will use this content provider (notnull)site- the site of the containing workbench part (may benull)
-
-
Method Detail
-
getElements
public java.lang.Object[] getElements(java.lang.Object inputElement)
-
getChildren
public java.lang.Object[] getChildren(java.lang.Object parentElement)
-
getParent
public java.lang.Object getParent(java.lang.Object element)
-
hasChildren
public boolean hasChildren(java.lang.Object element)
-
shouldDefer
protected boolean shouldDefer(java.lang.Object element)
Returns whether the given element should be processed via deferred tree content manager.- Parameters:
element- an element- Returns:
trueif the given element should be processed via deferred tree content manager, andfalseotherwise
-
getImmediateChildren
protected java.lang.Object[] getImmediateChildren(java.lang.Object parentElement)
Returns the child elements of the given parent element.Default implementation invokes
Elements.getChildren((IElement)parentElement)if the parent element is an IElement. Subclasses may override or extend.- Parameters:
parentElement- the parent element- Returns:
- an array of child elements (not
null)
-
fetchDeferredChildren
protected void fetchDeferredChildren(java.lang.Object parentElement, org.eclipse.ui.progress.IElementCollector collector, org.eclipse.core.runtime.IProgressMonitor monitor)Description copied from class:DeferredTreeContentProviderCalled by a job to fetch the child elements of the given parent element. This method should report the fetched elements via the given collector.- Specified by:
fetchDeferredChildrenin classDeferredTreeContentProvider- Parameters:
parentElement- the parent elementcollector- the element collector (nevernull)monitor- a progress monitor to support reporting and cancellation (nevernull)
-
getRule
protected org.eclipse.core.runtime.jobs.ISchedulingRule getRule(java.lang.Object parentElement)
Returns the rule used to schedule the deferred fetching of children for the given parent element.DeferredElementTreeContentProvider's implementation of this method always returnsnull.- Overrides:
getRulein classDeferredTreeContentProvider- Parameters:
parentElement- the parent element- Returns:
- the scheduling rule. May be
null - See Also:
Job.setRule(ISchedulingRule)
-
-