Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Tasse2014-08-15 19:55:22 +0000
committerPatrick Tasse2014-08-19 21:09:41 +0000
commit83e215bb206bca6a03cd31106b2bc159a122fb9f (patch)
treed920b3755056f60d3c97bd91be067d69a0c39cf8
parent5bbb3ba41be50cea6b73c0dee8258066a07fdbc3 (diff)
downloadorg.eclipse.linuxtools-83e215bb206bca6a03cd31106b2bc159a122fb9f.tar.gz
org.eclipse.linuxtools-83e215bb206bca6a03cd31106b2bc159a122fb9f.tar.xz
org.eclipse.linuxtools-83e215bb206bca6a03cd31106b2bc159a122fb9f.zip
tmf: Sort items in Select Trace Type menu
Categories sub-menus appear first, sorted alphabetically. Uncategorized trace types appear last, sorted alphabetically. Trace types in category sub-menus are not sorted and appear in the order they are defined in their respective plug-in extension. Change-Id: I87fe46b3c3a1e1d8ee490ef902d8244dde7801d2 Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com> Reviewed-on: https://git.eclipse.org/r/31778 Tested-by: Hudson CI
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectElementTypeContributionItem.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectElementTypeContributionItem.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectElementTypeContributionItem.java
index c1d3c2324a..7ee71631f2 100644
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectElementTypeContributionItem.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/SelectElementTypeContributionItem.java
@@ -13,6 +13,8 @@
package org.eclipse.linuxtools.internal.tmf.ui.project.handlers;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
@@ -142,7 +144,28 @@ public class SelectElementTypeContributionItem extends CompoundContributionItem
}
}
+ Comparator<IContributionItem> comparator = new Comparator<IContributionItem>() {
+ @Override
+ public int compare(IContributionItem o1, IContributionItem o2) {
+ if (o1 instanceof MenuManager) {
+ if (o2 instanceof MenuManager) {
+ MenuManager m1 = (MenuManager) o1;
+ MenuManager m2 = (MenuManager) o2;
+ return m1.getMenuText().compareTo(m2.getMenuText());
+ }
+ return -1;
+ }
+ if (o2 instanceof MenuManager) {
+ return 1;
+ }
+ CommandContributionItem c1 = (CommandContributionItem) o1;
+ CommandContributionItem c2 = (CommandContributionItem) o2;
+ return c1.getData().label.compareTo(c2.getData().label);
+ }
+ };
+
if (forExperiments) {
+ Collections.sort(list, comparator);
return list.toArray(new IContributionItem[list.size()]);
}
@@ -187,6 +210,7 @@ public class SelectElementTypeContributionItem extends CompoundContributionItem
addContributionItem(list, traceBundle, traceTypeId, traceIcon, label, selected, subMenu);
}
+ Collections.sort(list, comparator);
return list.toArray(new IContributionItem[list.size()]);
}

Back to the top