1 11 package org.eclipse.ui.internal.dialogs; 12 13 import org.eclipse.jface.viewers.AbstractTreeViewer; 14 import org.eclipse.jface.viewers.ITreeContentProvider; 15 import org.eclipse.jface.viewers.Viewer; 16 import org.eclipse.jface.viewers.ViewerFilter; 17 import org.eclipse.ui.wizards.IWizardDescriptor; 18 19 25 public class WizardTagFilter extends ViewerFilter { 26 27 private String [] myTags; 28 29 33 public WizardTagFilter(String [] tags) { 34 myTags = tags; 35 } 36 37 40 public boolean select(Viewer viewer, Object parentElement, Object element) { 41 if (element instanceof IWizardDescriptor) { 42 IWizardDescriptor desc = (IWizardDescriptor)element; 43 String [] tags = desc.getTags(); 44 for (int i = 0; i < tags.length; i++) { 45 for (int j = 0; j < myTags.length; j++) { 46 if (tags[i].equals(myTags[j])) { 47 return true; 48 } 49 } 50 } 51 return false; 52 } 53 Object [] children = ((ITreeContentProvider) ((AbstractTreeViewer) viewer) 54 .getContentProvider()).getChildren(element); 55 if (children.length > 0) { 56 return filter(viewer, element, children).length > 0; 57 } 58 59 return false; 60 } 61 } 62 | Popular Tags |