1 11 package org.eclipse.jdt.internal.debug.ui; 12 13 import org.eclipse.jface.viewers.ContentViewer; 14 import org.eclipse.jface.viewers.ILabelProvider; 15 import org.eclipse.jface.viewers.Viewer; 16 import org.eclipse.ui.model.WorkbenchViewerComparator; 17 18 public class FilterViewerComparator extends WorkbenchViewerComparator { 19 public int compare(Viewer viewer, Object e1, Object e2) { 20 ILabelProvider lprov = 21 (ILabelProvider) ((ContentViewer) viewer).getLabelProvider(); 22 String name1 = lprov.getText(e1); 23 String name2 = lprov.getText(e2); 24 if (name1 == null) { 25 name1 = ""; } 27 if (name2 == null) { 28 name2 = ""; } 30 if (name1.length() > 0 && name2.length() > 0) { 31 char char1 = name1.charAt(name1.length() - 1); 32 char char2 = name2.charAt(name2.length() - 1); 33 if (char1 == '*' && char1 != char2) { 34 return -1; 35 } 36 if (char2 == '*' && char2 != char1) { 37 return 1; 38 } 39 } 40 return name1.compareTo(name2); 41 } 42 } 43 | Popular Tags |