1 9 package org.eclipse.help.ui.internal.search; 10 import org.eclipse.jface.viewers.*; 11 import org.eclipse.search.ui.text.*; 12 public class ResultTableContentProvider implements IStructuredContentProvider { 13 protected final Object [] EMPTY_ARRAY = new Object [0]; 14 private AbstractTextSearchResult searchResult; 15 private TableViewer tableViewer; 16 public Object [] getElements(Object inputElement) { 17 if (inputElement instanceof AbstractTextSearchResult) 18 return ((AbstractTextSearchResult) inputElement).getElements(); 19 return EMPTY_ARRAY; 20 } 21 public void dispose() { 22 } 23 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { 24 tableViewer = (TableViewer) viewer; 25 searchResult = (AbstractTextSearchResult) newInput; 26 } 27 public void elementsChanged(Object [] updatedElements) { 28 for (int i = 0; i < updatedElements.length; i++) { 29 if (searchResult.getMatchCount(updatedElements[i]) > 0) { 30 if (tableViewer.testFindItem(updatedElements[i]) != null) 31 tableViewer.refresh(updatedElements[i]); 32 else 33 tableViewer.add(updatedElements[i]); 34 } else { 35 tableViewer.remove(updatedElements[i]); 36 } 37 } 38 } 39 public void clear() { 40 tableViewer.refresh(); 41 } 42 } | Popular Tags |