*fix
diff --git a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/internal/ui/scriptview/ScriptExplorerPart.java b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/internal/ui/scriptview/ScriptExplorerPart.java
index ff7618e..87b692d 100644
--- a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/internal/ui/scriptview/ScriptExplorerPart.java
+++ b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/internal/ui/scriptview/ScriptExplorerPart.java
@@ -1783,9 +1783,13 @@
private void setComparator() {
if (getRootMode() == ScriptExplorerPart.WORKING_SETS_AS_ROOTS) {
- fViewer.setComparator(new WorkingSetAwareModelElementSorter());
+ WorkingSetAwareModelElementSorter comparator = new WorkingSetAwareModelElementSorter();
+ comparator.setInnerElements(false);
+ fViewer.setComparator(comparator);
} else {
- fViewer.setComparator(new ModelElementSorter());
+ ModelElementSorter comparator = new ModelElementSorter();
+ comparator.setInnerElements(false);
+ fViewer.setComparator(comparator);
}
}
diff --git a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/ModelElementSorter.java b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/ModelElementSorter.java
index 596da8b..8ac9765 100644
--- a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/ModelElementSorter.java
+++ b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/ModelElementSorter.java
@@ -71,6 +71,7 @@
private MembersOrderPreferenceCache fMemberOrderCache;
private Collator fNewCollator; // collator from ICU
+ private boolean innerElements = true;
/**
* Constructor.
*/
@@ -80,6 +81,17 @@
.getMemberOrderPreferenceCache();
fNewCollator = null;
}
+
+
+ public boolean isInnerElements() {
+ return innerElements;
+ }
+
+
+ public void setInnerElements(boolean innerElements) {
+ this.innerElements = innerElements;
+ }
+
/*
* @see ViewerSorter#category
@@ -197,7 +209,14 @@
String name1 = getElementName(e1);
String name2 = getElementName(e2);
-
+
+ //If
+ if( !this.isInnerElements() && e1 instanceof IModelElement ) {
+ IModelElement me = (IModelElement) e1;
+ if( me.getElementType() > IModelElement.BINARY_MODULE ) {
+ return 0;
+ }
+ }
if (e1 instanceof IType) { // handle anonymous types
if (name1.length() == 0) {
if (name2.length() == 0) {