Package org.eclipse.handly.ui.outline
Class ProblemMarkerListenerContribution
java.lang.Object
org.eclipse.handly.ui.outline.OutlineContribution
org.eclipse.handly.ui.outline.ResourceChangeListenerContribution
org.eclipse.handly.ui.outline.ProblemMarkerListenerContribution
- All Implemented Interfaces:
IOutlineContribution
Refreshes the outline when problem markers attached to the underlying
resource change.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanReturns whether the given resource change event affects the outline's input element.protected IContentAdapterReturns the installed content adapter, or aNullContentAdapterif none.protected booleanhasProblemMarkerChanges(org.eclipse.core.resources.IResourceDelta delta) Returns whether the given resource delta describes problem marker changes.protected voidresourceChanged(org.eclipse.core.resources.IResourceChangeEvent event) Notifies that the outline page is affected in some way by the given resource change event.Methods inherited from class org.eclipse.handly.ui.outline.ResourceChangeListenerContribution
dispose, initMethods inherited from class org.eclipse.handly.ui.outline.OutlineContribution
getOutlinePage
-
Constructor Details
-
ProblemMarkerListenerContribution
public ProblemMarkerListenerContribution()
-
-
Method Details
-
resourceChanged
protected void resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event) Notifies that the outline page is affected in some way by the given resource change event.Note: This method may be called in any thread. The event object (and the delta within it) is valid only for the duration of the invocation of this method.
This implementation schedules a full refresh of the outline page's tree viewer in the UI thread.
- Specified by:
resourceChangedin classResourceChangeListenerContribution- Parameters:
event- nevernull
-
affects
protected boolean affects(org.eclipse.core.resources.IResourceChangeEvent event, Object inputElement) Returns whether the given resource change event affects the outline's input element.This implementation checks whether the given resource change event affects problem markers attached to the corresponding resource of the input element. It uses
hasProblemMarkerChanges(IResourceDelta)to check the corresponding resource delta. The corresponding resource is determined as follows:-
If the input element is an
IResource, the corresponding resource is the element itself. -
Otherwise, if the input element could be adapted to an
IElementthrough thecontent adapter, the corresponding resource is obtained viaElements.getResource(IElement). -
Otherwise, the input element is adapted to an
IResourceviaResourceUtil.getResource(Object).
- Specified by:
affectsin classResourceChangeListenerContribution- Parameters:
event- nevernullinputElement- nevernull- Returns:
trueif the given resource change event affects the outline's input element, andfalseotherwise
-
If the input element is an
-
hasProblemMarkerChanges
protected boolean hasProblemMarkerChanges(org.eclipse.core.resources.IResourceDelta delta) Returns whether the given resource delta describes problem marker changes.- Parameters:
delta- the resource delta (nevernull)- Returns:
trueif the given resource delta describes problem marker changes, andfalseotherwise
-
getContentAdapter
Returns the installed content adapter, or aNullContentAdapterif none.This implementation returns the content adapter provided by the outline page, if the outline page is an
IContentAdapterProvider.- Returns:
- an
IContentAdapter(nevernull)
-