Fix for bug334572
authorFrancois Chouinard <fchouinard@gmail.com>
Fri, 24 Feb 2012 22:06:24 +0000 (17:06 -0500)
committerFrancois Chouinard <fchouinard@gmail.com>
Fri, 24 Feb 2012 22:07:27 +0000 (17:07 -0500)
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/event/TmfEvent.java
org.eclipse.linuxtools.tmf.ui/plugin.properties
org.eclipse.linuxtools.tmf.ui/plugin.xml
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/TracePropertyTester.java [new file with mode: 0644]
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java

index 375067f1ffe9ad1898cd2cd4eedd40dddf984744..57a4510fb544f4c0e7a7fa9f6a7441c4b6c4dc55 100644 (file)
@@ -126,7 +126,7 @@ public class TmfEvent implements ITmfEvent {
     /**
      * Constructor - no rank, no content, no trace
      */
-    public TmfEvent(TmfTimestamp timestamp, String source, ITmfEventType type, String reference)
+    public TmfEvent(ITmfTimestamp timestamp, String source, ITmfEventType type, String reference)
     {
         this(null, -1, timestamp, source, type, null, reference);
     }
index 8466aa0862b656e661386f7b6a6931797e893c99..97245dcbcf14025550bcdf27082c9123b6f768c9 100644 (file)
@@ -64,6 +64,10 @@ commands.trace.delete = Delete
 commands.trace.delete.mnemonic = D
 commands.trace.delete.description = Delete a Trace
 
+commands.trace.remove = Remove
+commands.trace.remove.mnemonic = D
+commands.trace.remove.description = Remove a Trace from Experiment
+
 commands.trace.select_trace_type = Select Trace Type...
 commands.trace.select_trace_type.mnemonic = T
 commands.trace.select_trace_type.description = Select a trace type
@@ -104,7 +108,7 @@ commands.experiment.rename.mnemonic = R
 commands.experiment.rename.description = Rename a Tracing Experiment
 
 commands.experiment.delete = Delete
-ommands.experiment.delete.mnemonic = D
+commands.experiment.delete.mnemonic = D
 commands.experiment.delete.description = Delete a Tracing Experiment
 
 commands.experiment.refresh = Refresh
index 918d0ce836d45f3d3d9fcbb779d2baade17d2a5c..8ac10e8028a9096ceaed5349879da6588de80920 100644 (file)
                icon="icons/etool16/import.gif"\r
                label="%commands.trace_folder.import"\r
                mnemonic="%commands.trace_folder.import.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.trace_folder.import.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                   <count\r
                         value="1">\r
                   </count>\r
-                  <iterate>\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">\r
-                        </instanceof>\r
-                     </and>\r
+                  <iterate\r
+                        operator="and">\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="icons/elcl16/refresh.gif"\r
                label="%commands.trace_folder.refresh"\r
                mnemonic="%commands.trace_folder.refresh.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.trace_folder.refresh.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                         value="1">\r
                   </count>\r
                   <iterate\r
-                        ifEmpty="true"\r
+                        ifEmpty="false"\r
                         operator="and">\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">\r
-                        </instanceof>\r
-                     </and>\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceFolder">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="icons/elcl16/open.gif"\r
                label="%commands.trace.open"\r
                mnemonic="%commands.trace.open.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.trace.open.descritption">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                   <count\r
                         value="1">\r
                   </count>\r
-                  <iterate>\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">\r
-                        </instanceof></and>\r
+                  <iterate\r
+                        ifEmpty="false"\r
+                        operator="and">\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="IMG_TOOL_COPY"\r
                label="%commands.trace.copy"\r
                mnemonic="%commands.trace.copy.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.trace.copy.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                   <count\r
                         value="1">\r
                   </count>\r
-                  <iterate>\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">\r
-                        </instanceof></and>\r
+                  <iterate\r
+                        ifEmpty="false"\r
+                        operator="and">\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="icons/elcl16/rename.gif"\r
                label="%commands.trace.rename"\r
                mnemonic="%commands.trace.rename.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.trace.rename.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                   <count\r
                         value="1">\r
                   </count>\r
+                  <iterate\r
+                        ifEmpty="false"\r
+                        operator="and">\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">\r
+                     </instanceof>\r
+                  </iterate>\r
+               </with>\r
+            </visibleWhen>\r
+         </command>\r
+         <command\r
+               commandId="org.eclipse.linuxtools.tmf.ui.command.project.trace.delete"\r
+               disabledIcon="IMG_ETOOL_DELETE_DISABLED"\r
+               icon="IMG_ETOOL_DELETE"\r
+               label="%commands.trace.delete"\r
+               mnemonic="%commands.trace.delete.mnemonic"\r
+               style="push"\r
+               tooltip="%commands.trace.delete.description">\r
+            <visibleWhen\r
+                  checkEnabled="false">\r
+               <with\r
+                     variable="selection">\r
                   <iterate\r
                         ifEmpty="false"\r
                         operator="and">\r
                         <instanceof\r
                               value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">\r
                         </instanceof>\r
+                        <not>\r
+                           <test\r
+                                 forcePluginActivation="true"\r
+                                 property="org.eclipse.linuxtools.tmf.ui.isExperimentTrace">\r
+                           </test>\r
+                        </not>\r
                      </and>\r
                   </iterate>\r
                </with>\r
                commandId="org.eclipse.linuxtools.tmf.ui.command.project.trace.delete"\r
                disabledIcon="IMG_ETOOL_DELETE_DISABLED"\r
                icon="IMG_ETOOL_DELETE"\r
-               label="%commands.trace.delete"\r
-               mnemonic="%commands.trace.delete.mnemonic"\r
-               style="push">\r
+               label="%commands.trace.remove"\r
+               mnemonic="%commands.trace.remove.mnemonic"\r
+               style="push"\r
+               tooltip="%commands.trace.remove.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                         <instanceof\r
                               value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">\r
                         </instanceof>\r
+                        <test\r
+                              forcePluginActivation="true"\r
+                              property="org.eclipse.linuxtools.tmf.ui.isExperimentTrace">\r
+                        </test>\r
                      </and>\r
                   </iterate>\r
                </with>\r
          </separator>\r
          <menu\r
                label="%commands.trace.select_trace_type"\r
-               mnemonic="%commands.trace.select_trace_type.mnemonic">\r
+               mnemonic="%commands.trace.select_trace_type.mnemonic"\r
+               tooltip="%commands.trace.select_trace_type.description">\r
             <dynamic\r
                   class="org.eclipse.linuxtools.tmf.ui.project.handlers.SelectTraceTypeContributionItem"\r
                   id="org.eclipse.linuxtools.tmf.ui.command.project.trace.select_trace_type.dynamic">\r
                   <iterate\r
                         ifEmpty="false"\r
                         operator="and">\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">\r
-                        </instanceof>\r
-                     </and>\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="icons/etool16/new.gif"\r
                label="%commands.experiment_folder.new"\r
                mnemonic="%commands.experiment_folder.new.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.trace.select_trace_type">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                   <iterate\r
                         ifEmpty="false"\r
                         operator="and">\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder">\r
-                        </instanceof>\r
-                     </and>\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="icons/elcl16/refresh.gif"\r
                label="%commands.experiment_folder.refresh"\r
                mnemonic="%commands.experiment_folder.refresh.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.experiment_folder.refresh.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                         value="1">\r
                   </count>\r
                   <iterate\r
-                        ifEmpty="true"\r
+                        ifEmpty="false"\r
                         operator="and">\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder">\r
-                        </instanceof>\r
-                     </and>\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="IMG_OBJ_ADD"\r
                label="%commands.experiment.selecttraces"\r
                mnemonic="%commands.experiment.selecttraces.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.experiment.selecttraces.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                   <iterate\r
                         ifEmpty="false"\r
                         operator="and">\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
-                        </instanceof>\r
-                     </and>\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="icons/elcl16/open.gif"\r
                label="%commands.experiment.open"\r
                mnemonic="%commands.experiment.open.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.experiment.open.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                   <iterate\r
                         ifEmpty="false"\r
                         operator="and">\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
-                        </instanceof>\r
-                     </and>\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="IMG_TOOL_COPY"\r
                label="%commands.experiment.copy"\r
                mnemonic="%commands.experiment.copy.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.experiment.copy.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                   <iterate\r
                         ifEmpty="false"\r
                         operator="and">\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
-                        </instanceof>\r
-                     </and>\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="icons/elcl16/rename.gif"\r
                label="%commands.experiment.rename"\r
                mnemonic="%commands.experiment.rename.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.experiment.rename.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                   <iterate\r
                         ifEmpty="false"\r
                         operator="and">\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
-                        </instanceof>\r
-                     </and>\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="IMG_ETOOL_DELETE"\r
                label="%commands.experiment.delete"\r
                mnemonic="%commands.experiment.delete.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.experiment.delete.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                   <iterate\r
                         ifEmpty="false"\r
                         operator="and">\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
-                        </instanceof>\r
-                     </and>\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
                icon="icons/elcl16/refresh.gif"\r
                label="%commands.experiment.refresh"\r
                mnemonic="%commands.experiment.refresh.mnemonic"\r
-               style="push">\r
+               style="push"\r
+               tooltip="%commands.experiment.refresh.description">\r
             <visibleWhen\r
                   checkEnabled="false">\r
                <with\r
                         value="1">\r
                   </count>\r
                   <iterate\r
-                        ifEmpty="true"\r
+                        ifEmpty="false"\r
                         operator="and">\r
-                     <and>\r
-                        <instanceof\r
-                              value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
-                        </instanceof>\r
-                     </and>\r
+                     <instanceof\r
+                           value="org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement">\r
+                     </instanceof>\r
                   </iterate>\r
                </with>\r
             </visibleWhen>\r
             type="org.eclipse.jface.viewers.ISelection">\r
       </propertyTester>\r
    </extension>\r
+   <extension\r
+         point="org.eclipse.core.expressions.propertyTesters">\r
+      <propertyTester\r
+            class="org.eclipse.linuxtools.tmf.ui.TracePropertyTester"\r
+            id="org.eclipse.linuxtools.tmf.ui.tracePropertyTester"\r
+            namespace="org.eclipse.linuxtools.tmf.ui"\r
+            properties="isExperimentTrace"\r
+            type="org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement">\r
+      </propertyTester>\r
+   </extension>\r
 \r
 </plugin>\r
diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/TracePropertyTester.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/TracePropertyTester.java
new file mode 100644 (file)
index 0000000..76d48da
--- /dev/null
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *   Francois Chouinard - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.tmf.ui;
+
+import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement;
+import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
+
+/**
+ * <b><u>TracePropertyTester</u></b>
+ * <p>
+ */
+public class TracePropertyTester extends PropertyTester {
+
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+    
+    private static String isExperimentTrace = "isExperimentTrace"; //$NON-NLS-1$
+    
+    // ------------------------------------------------------------------------
+    // Constructor
+    // ------------------------------------------------------------------------
+
+    /**
+     * Default constructor
+     */
+    public TracePropertyTester() {
+    }
+
+    // ------------------------------------------------------------------------
+    // IPropertyTester
+    // ------------------------------------------------------------------------
+
+    /* (non-Javadoc)
+     * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
+     */
+    @Override
+    public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
+        
+        // Check if the parent of a trace element is an experiment
+        if (receiver != null && receiver instanceof TmfTraceElement) {
+            TmfTraceElement trace = (TmfTraceElement) receiver;
+            if (isExperimentTrace.equals(property)) {
+                return trace.getParent() instanceof TmfExperimentElement;
+            }
+        }
+
+        return false;
+    }
+
+}
index 260bfdb557d396ed60aaa4625068fc336e11baae..0ad0701218b77ccf0b5ac1dc2cd5528abd646d3b 100644 (file)
@@ -333,6 +333,7 @@ public class TmfEventsTable extends TmfComponent implements IGotoMarker, IColorS
 \r
         final Listener bookmarkListener = new Listener () {\r
             Shell tooltipShell = null;\r
+            @Override\r
             public void handleEvent(Event event) {\r
                 switch (event.type) {\r
                 case SWT.MouseHover:\r
@@ -1371,16 +1372,21 @@ public class TmfEventsTable extends TmfComponent implements IGotoMarker, IColorS
      * \r
      *         FIXME: Add support for column selection\r
      */\r
-    //TmfEventContent content, String id, Object value\r
     protected ITmfEventField[] extractItemFields(TmfEvent event) {\r
         ITmfEventField[] fields = new TmfEventField[0];\r
         if (event != null) {\r
+            String timestamp = ((Long) event.getTimestamp().getValue()).toString();\r
+            String source = event.getSource();\r
+            String type = event.getType().getName();\r
+            String reference = event.getReference();\r
+            ITmfEventField content = event.getContent();\r
+            String value = (content.getValue() != null) ? content.getValue().toString() : content.toString();\r
             fields = new TmfEventField[] {\r
-                     new TmfEventField(ITmfEvent.EVENT_FIELD_TIMESTAMP, ((Long) event.getTimestamp().getValue()).toString()),\r
-                     new TmfEventField(ITmfEvent.EVENT_FIELD_SOURCE, event.getSource()),\r
-                     new TmfEventField(ITmfEvent.EVENT_FIELD_TYPE, event.getType().getName()),\r
-                     new TmfEventField(ITmfEvent.EVENT_FIELD_REFERENCE, event.getReference()),\r
-                     new TmfEventField(ITmfEvent.EVENT_FIELD_CONTENT, event.getContent().toString())\r
+                     new TmfEventField(ITmfEvent.EVENT_FIELD_TIMESTAMP, timestamp),\r
+                     new TmfEventField(ITmfEvent.EVENT_FIELD_SOURCE, source),\r
+                     new TmfEventField(ITmfEvent.EVENT_FIELD_TYPE, type),\r
+                     new TmfEventField(ITmfEvent.EVENT_FIELD_REFERENCE, reference),\r
+                     new TmfEventField(ITmfEvent.EVENT_FIELD_CONTENT, value)\r
                     };\r
         }\r
         return fields;\r
This page took 0.034341 seconds and 5 git commands to generate.