tmf: add sorter to put analysis in a more user-friendly order
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / project / model / TmfViewerSorter.java
index b2db4e6586e53c2b64573588794883fff1b0ba32..a58ade370350a6da4e5c1511ea04e44faaf0c15b 100644 (file)
@@ -17,25 +17,36 @@ import org.eclipse.jface.viewers.ViewerSorter;
 /**
  * Viewer sorter for TMF project model elements
  */
-//TODO: Follow-up with Bug 484248
+// TODO: Follow-up with Bug 484248
 public class TmfViewerSorter extends ViewerSorter {
 
+    private static int UNSET_PRIO = Integer.MAX_VALUE;
+    private static int EXPERIMENT_FOLDER_PRIO = 0;
+    private static int TRACE_FOLDER_PRIO = 1;
+    private static int EXPERIMENT_ELEMENT_PRIO = 2;
+    private static int TRACE_ELEMENT_PRIO = 3;
+    private static int VIEWS_PRIO = 4;
+    private static int ON_DEMAND_ANALYSIS_PRIO = 5;
+    private static int REPORTS_PRIO = 6;
+
     @Override
     public int category(Object element) {
+        int prio = UNSET_PRIO;
         if (element instanceof TmfExperimentFolder) {
-            return 0;
-        }
-        if (element instanceof TmfTraceFolder) {
-            return 0;
-        }
-        if (element instanceof TmfExperimentElement) {
-            return 1;
+            prio = EXPERIMENT_FOLDER_PRIO;
+        } else if (element instanceof TmfTraceFolder) {
+            prio = TRACE_FOLDER_PRIO;
+        } else if (element instanceof TmfTraceElement) {
+            prio = TRACE_ELEMENT_PRIO;
+        } else if (element instanceof TmfExperimentElement) {
+            prio = EXPERIMENT_ELEMENT_PRIO;
+        } else if (element instanceof TmfViewsElement) {
+            prio = VIEWS_PRIO;
+        } else if (element instanceof TmfOnDemandAnalysesElement) {
+            prio = ON_DEMAND_ANALYSIS_PRIO;
+        } else if (element instanceof TmfReportsElement) {
+            prio = REPORTS_PRIO;
         }
-        if (element instanceof TmfTraceElement) {
-            return 1;
-        }
-        return 2;
+        return prio;
     }
-
-
 }
This page took 0.025833 seconds and 5 git commands to generate.