diff options
author | Patrick Tasse | 2014-08-15 19:55:22 +0000 |
---|---|---|
committer | Patrick Tasse | 2014-08-19 21:09:41 +0000 |
commit | 83e215bb206bca6a03cd31106b2bc159a122fb9f (patch) | |
tree | d920b3755056f60d3c97bd91be067d69a0c39cf8 | |
parent | 5bbb3ba41be50cea6b73c0dee8258066a07fdbc3 (diff) | |
download | org.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.java | 24 |
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()]); } |