|
Lines 10-15
Link Here
|
| 10 |
*******************************************************************************/ |
10 |
*******************************************************************************/ |
| 11 |
package org.eclipse.ui.dialogs; |
11 |
package org.eclipse.ui.dialogs; |
| 12 |
|
12 |
|
|
|
13 |
import com.ibm.icu.text.Collator; |
| 14 |
|
| 13 |
import java.io.IOException; |
15 |
import java.io.IOException; |
| 14 |
import java.io.StringReader; |
16 |
import java.io.StringReader; |
| 15 |
import java.io.StringWriter; |
17 |
import java.io.StringWriter; |
|
Lines 18-34
Link Here
|
| 18 |
import java.util.Comparator; |
20 |
import java.util.Comparator; |
| 19 |
import java.util.List; |
21 |
import java.util.List; |
| 20 |
|
22 |
|
|
|
23 |
import org.eclipse.core.runtime.CoreException; |
| 24 |
import org.eclipse.core.runtime.IPath; |
| 25 |
import org.eclipse.core.runtime.IProgressMonitor; |
| 26 |
import org.eclipse.core.runtime.IStatus; |
| 27 |
import org.eclipse.core.runtime.ListenerList; |
| 28 |
import org.eclipse.core.runtime.Status; |
| 29 |
|
| 21 |
import org.eclipse.core.resources.IContainer; |
30 |
import org.eclipse.core.resources.IContainer; |
| 22 |
import org.eclipse.core.resources.IResource; |
31 |
import org.eclipse.core.resources.IResource; |
| 23 |
import org.eclipse.core.resources.IResourceProxy; |
32 |
import org.eclipse.core.resources.IResourceProxy; |
| 24 |
import org.eclipse.core.resources.IResourceProxyVisitor; |
33 |
import org.eclipse.core.resources.IResourceProxyVisitor; |
| 25 |
import org.eclipse.core.resources.IWorkspace; |
34 |
import org.eclipse.core.resources.IWorkspace; |
| 26 |
import org.eclipse.core.resources.ResourcesPlugin; |
35 |
import org.eclipse.core.resources.ResourcesPlugin; |
| 27 |
import org.eclipse.core.runtime.CoreException; |
36 |
|
| 28 |
import org.eclipse.core.runtime.IProgressMonitor; |
37 |
import org.eclipse.swt.graphics.Image; |
| 29 |
import org.eclipse.core.runtime.IStatus; |
38 |
import org.eclipse.swt.widgets.Composite; |
| 30 |
import org.eclipse.core.runtime.ListenerList; |
39 |
import org.eclipse.swt.widgets.Control; |
| 31 |
import org.eclipse.core.runtime.Status; |
40 |
import org.eclipse.swt.widgets.Shell; |
|
|
41 |
|
| 32 |
import org.eclipse.jface.action.Action; |
42 |
import org.eclipse.jface.action.Action; |
| 33 |
import org.eclipse.jface.action.IAction; |
43 |
import org.eclipse.jface.action.IAction; |
| 34 |
import org.eclipse.jface.action.IMenuManager; |
44 |
import org.eclipse.jface.action.IMenuManager; |
|
Lines 44-53
Link Here
|
| 44 |
import org.eclipse.jface.viewers.LabelProviderChangedEvent; |
54 |
import org.eclipse.jface.viewers.LabelProviderChangedEvent; |
| 45 |
import org.eclipse.jface.viewers.Viewer; |
55 |
import org.eclipse.jface.viewers.Viewer; |
| 46 |
import org.eclipse.jface.viewers.ViewerFilter; |
56 |
import org.eclipse.jface.viewers.ViewerFilter; |
| 47 |
import org.eclipse.swt.graphics.Image; |
57 |
|
| 48 |
import org.eclipse.swt.widgets.Composite; |
|
|
| 49 |
import org.eclipse.swt.widgets.Control; |
| 50 |
import org.eclipse.swt.widgets.Shell; |
| 51 |
import org.eclipse.ui.IMemento; |
58 |
import org.eclipse.ui.IMemento; |
| 52 |
import org.eclipse.ui.IWorkbenchPage; |
59 |
import org.eclipse.ui.IWorkbenchPage; |
| 53 |
import org.eclipse.ui.IWorkbenchWindow; |
60 |
import org.eclipse.ui.IWorkbenchWindow; |
|
Lines 66-73
Link Here
|
| 66 |
import org.eclipse.ui.model.WorkbenchLabelProvider; |
73 |
import org.eclipse.ui.model.WorkbenchLabelProvider; |
| 67 |
import org.eclipse.ui.statushandlers.StatusManager; |
74 |
import org.eclipse.ui.statushandlers.StatusManager; |
| 68 |
|
75 |
|
| 69 |
import com.ibm.icu.text.Collator; |
|
|
| 70 |
|
| 71 |
/** |
76 |
/** |
| 72 |
* Shows a list of resources to the user with a text entry field for a string |
77 |
* Shows a list of resources to the user with a text entry field for a string |
| 73 |
* pattern used to filter the list of resources. |
78 |
* pattern used to filter the list of resources. |
|
Lines 407-415
Link Here
|
| 407 |
String s2 = resource2.getName(); |
412 |
String s2 = resource2.getName(); |
| 408 |
int comparability = collator.compare(s1, s2); |
413 |
int comparability = collator.compare(s1, s2); |
| 409 |
if (comparability == 0) { |
414 |
if (comparability == 0) { |
| 410 |
s1 = resource1.getFullPath().toString(); |
415 |
IPath p1 = resource1.getFullPath(); |
| 411 |
s2 = resource2.getFullPath().toString(); |
416 |
IPath p2 = resource2.getFullPath(); |
| 412 |
comparability = collator.compare(s1, s2); |
417 |
int c1 = p1.segmentCount(); |
|
|
418 |
int c2 = p2.segmentCount(); |
| 419 |
for (int i= 0; i < c1 && i < c2; i++) { |
| 420 |
comparability = collator.compare(p1.segment(i), p2.segment(i)); |
| 421 |
if (comparability != 0) |
| 422 |
return comparability; |
| 423 |
} |
| 424 |
comparability = c2 - c1; |
| 413 |
} |
425 |
} |
| 414 |
|
426 |
|
| 415 |
return comparability; |
427 |
return comparability; |