01: /*******************************************************************************
02: * Copyright (c) 2005, 2006 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.ui.internal.dialogs;
11:
12: import org.eclipse.jface.viewers.Viewer;
13: import org.eclipse.ui.dialogs.PatternFilter;
14: import org.eclipse.ui.views.IViewCategory;
15: import org.eclipse.ui.views.IViewDescriptor;
16:
17: /**
18: * A class that handles filtering view node items based on a supplied
19: * matching string.
20: *
21: * @since 3.2
22: *
23: */
24: public class ViewPatternFilter extends PatternFilter {
25:
26: /**
27: * Create a new instance of a ViewPatternFilter
28: * @param isMatchItem
29: */
30: public ViewPatternFilter() {
31: super ();
32: }
33:
34: /*
35: * (non-Javadoc)
36: * @see org.eclipse.ui.internal.dialogs.PatternFilter#isElementSelectable(java.lang.Object)
37: */
38: public boolean isElementSelectable(Object element) {
39: return element instanceof IViewDescriptor;
40: }
41:
42: /* (non-Javadoc)
43: * @see org.eclipse.ui.dialogs.PatternFilter#isElementMatch(org.eclipse.jface.viewers.Viewer, java.lang.Object)
44: */
45: protected boolean isLeafMatch(Viewer viewer, Object element) {
46: if (element instanceof IViewCategory) {
47: return false;
48: }
49:
50: String text = null;
51: if (element instanceof IViewDescriptor) {
52: IViewDescriptor desc = (IViewDescriptor) element;
53: text = desc.getLabel();
54: if (wordMatches(text)) {
55: return true;
56: }
57: }
58:
59: return false;
60: }
61: }
|