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