protected void updateLabels(ISynchronizationContext context, final IPath[] paths) { IResource[] resources = getResources(context, paths); if (resources.length > 0) ((AbstractTreeViewer)getViewer()).update(resources, null); }
protected void updateLabels(ISynchronizationContext context, final IPath[] paths) { IResource[] resources = getResources(context, paths); if (resources.length > 0) ((AbstractTreeViewer)getViewer()).update(resources, null); }
private void insert(Object child, boolean refreshViewer) { Object parent= getParent(child); while (parent != null) { if (insertChild(parent, child)) { if (refreshViewer) fTreeViewer.add(parent, child); } else { if (refreshViewer) fTreeViewer.update(parent, null); return; } child= parent; parent= getParent(child); } if (insertChild(fResult, child)) { if (refreshViewer) fTreeViewer.add(fResult, child); } }
@Override public synchronized void elementsChanged(Object[] updatedElements) { for (int i= 0; i < updatedElements.length; i++) { if (!(updatedElements[i] instanceof LineElement)) { // change events to elements are reported in file search if (fResult.getMatchCount(updatedElements[i]) > 0) insert(updatedElements[i], true); else remove(updatedElements[i], true); } else { // change events to line elements are reported in text search LineElement lineElement= (LineElement) updatedElements[i]; int nMatches= lineElement.getNumberOfMatches(fResult); if (nMatches > 0) { if (hasChild(lineElement.getParent(), lineElement)) { fTreeViewer.update(new Object[] { lineElement, lineElement.getParent() }, null); } else { insert(lineElement, true); } } else { remove(lineElement, true); } } } }