tmf/lttng: Remove unneeded (non-Javadoc) comments
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / widgets / timegraph / TimeGraphViewer.java
index c1cf32663f1257bbc55007d7330264fde30395e5..06634b4a4e50344c8ca57987b2019c6d801b5a78 100644 (file)
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2007, 2008 Intel Corporation, 2009, 2010, 2011, 2012 Ericsson.
+ * Copyright (c) 2007, 2013 Intel Corporation, 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
@@ -11,7 +11,6 @@
  *   Alexander N. Alexeev, Intel - Add monitors statistics support
  *   Alvaro Sanchez-Leon - Adapted for TMF
  *   Patrick Tasse - Refactoring
- *
  *****************************************************************************/
 
 package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
@@ -20,6 +19,7 @@ import java.util.ArrayList;
 
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.ViewerFilter;
 import org.eclipse.linuxtools.internal.tmf.ui.Activator;
 import org.eclipse.linuxtools.internal.tmf.ui.ITmfImageConstants;
 import org.eclipse.linuxtools.internal.tmf.ui.Messages;
@@ -32,11 +32,13 @@ import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl;
 import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphScale;
 import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphTooltipHandler;
 import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils;
+import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.Utils.TimeFormat;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ControlAdapter;
 import org.eclipse.swt.events.ControlEvent;
 import org.eclipse.swt.events.KeyAdapter;
 import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.MenuDetectListener;
 import org.eclipse.swt.events.MouseEvent;
 import org.eclipse.swt.events.MouseWheelListener;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -88,9 +90,8 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
     ArrayList<ITimeGraphTimeListener> fTimeListeners = new ArrayList<ITimeGraphTimeListener>();
     ArrayList<ITimeGraphRangeListener> fRangeListeners = new ArrayList<ITimeGraphRangeListener>();
 
-    // Calender Time format, using Epoch reference or Relative time
-    // format(default
-    private boolean calendarTimeFormat = false;
+    // Time format, using Epoch reference, Relative time format(default) or Number
+    private TimeFormat timeFormat = TimeFormat.RELATIVE;
     private int borderWidth = 0;
     private int timeScaleHeight = 22;
 
@@ -131,19 +132,21 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
      * Sets or clears the input for this time graph viewer.
      * The input array should only contain top-level elements.
      *
-     * @param input the input of this time graph viewer, or <code>null</code> if none
+     * @param input The input of this time graph viewer, or <code>null</code> if none
      */
     public void setInput(ITimeGraphEntry[] input) {
-        if (null != _stateCtrl) {
-            if (null == input) {
-                input = new ITimeGraphEntry[0];
+        ITimeGraphEntry[] realInput = input;
+
+        if (_stateCtrl != null) {
+            if (realInput == null) {
+                realInput = new ITimeGraphEntry[0];
             }
-            setTimeRange(input);
+            setTimeRange(realInput);
             _verticalScrollBar.setEnabled(true);
             setTopIndex(0);
             _selectedTime = 0;
             _selectedEntry = null;
-            refreshAllData(input);
+            refreshAllData(realInput);
         }
     }
 
@@ -202,15 +205,18 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
         }
     }
 
+    /**
+     * @return The string representing the view type
+     */
     protected String getViewTypeStr() {
         return "viewoption.threads"; //$NON-NLS-1$
     }
 
-    int getMarginWidth(int idx) {
+    int getMarginWidth() {
         return 0;
     }
 
-    int getMarginHeight(int idx) {
+    int getMarginHeight() {
         return 0;
     }
 
@@ -225,6 +231,15 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
         Utils.saveIntOption(getPreferenceString("namewidth"), _nameWidth); //$NON-NLS-1$
     }
 
+    /**
+     * Create a data viewer.
+     *
+     * @param parent
+     *            Parent composite
+     * @param style
+     *            Style to use
+     * @return The new data viewer
+     */
     protected Control createDataViewer(Composite parent, int style) {
         loadOptions();
         _colors = new TimeGraphColorScheme();
@@ -258,7 +273,7 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
         });
         _verticalScrollBar.setEnabled(false);
 
-        _stateCtrl = createTimeGraphControl();
+        _stateCtrl = createTimeGraphControl(_dataViewer, _colors);
 
         _stateCtrl.setTimeProvider(this);
         _stateCtrl.addSelectionListener(this);
@@ -304,8 +319,19 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
         _colors.dispose();
     }
 
-    protected TimeGraphControl createTimeGraphControl() {
-        return new TimeGraphControl(_dataViewer, _colors);
+    /**
+     * Create a new time graph control.
+     *
+     * @param parent
+     *            The parent composite
+     * @param colors
+     *            The color scheme
+     * @return The new TimeGraphControl
+     * @since 2.0
+     */
+    protected TimeGraphControl createTimeGraphControl(Composite parent,
+            TimeGraphColorScheme colors) {
+        return new TimeGraphControl(parent, colors);
     }
 
     /**
@@ -381,19 +407,21 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
      * @param end
      */
     void updateInternalData(ITimeGraphEntry[] traces, long start, long end) {
-        if (null == traces) {
-            traces = new ITimeGraphEntry[0];
+        ITimeGraphEntry[] realTraces = traces;
+
+        if (null == realTraces) {
+            realTraces = new ITimeGraphEntry[0];
         }
         if ((start == 0 && end == 0) || start < 0 || end < 0) {
             // Start and end time are unspecified and need to be determined from
             // individual processes
-            setTimeRange(traces);
+            setTimeRange(realTraces);
         } else {
             _beginTime = start;
             _endTime = end;
         }
 
-        refreshAllData(traces);
+        refreshAllData(realTraces);
     }
 
     /**
@@ -470,9 +498,9 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
     @Override
     public void setNameSpace(int width) {
         _nameWidth = width;
-        width = _stateCtrl.getClientArea().width;
-        if (_nameWidth > width - 6) {
-            _nameWidth = width - 6;
+        int w = _stateCtrl.getClientArea().width;
+        if (_nameWidth > w - 6) {
+            _nameWidth = w - 6;
         }
         if (_nameWidth < 6) {
             _nameWidth = 6;
@@ -513,35 +541,17 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
         return _time0_;
     }
 
-    /*
-     * (non-Javadoc)
-     *
-     * @see
-     * org.eclipse.linuxtools.tmf.ui.viewers.timeAnalysis.widgets.ITimeDataProvider
-     * #setStartFinishTimeNotify(long, long)
-     */
     @Override
     public void setStartFinishTimeNotify(long time0, long time1) {
         setStartFinishTime(time0, time1);
         notifyRangeListeners(time0, time1);
     }
 
-
-    /* (non-Javadoc)
-     * @see org.eclipse.linuxtools.tmf.ui.viewers.timeAnalysis.widgets.ITimeDataProvider#notifyStartFinishTime()
-     */
     @Override
     public void notifyStartFinishTime() {
         notifyRangeListeners(_time0, _time1);
     }
 
-    /*
-     * (non-Javadoc)
-     *
-     * @see
-     * org.eclipse.linuxtools.tmf.ui.viewers.timeAnalysis.widgets.ITimeDataProvider
-     * #setStartFinishTime(long, long)
-     */
     @Override
     public void setStartFinishTime(long time0, long time1) {
         _time0 = time0;
@@ -585,7 +595,7 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
 
     @Override
     public void resetStartFinishTime() {
-        setStartFinishTimeNotify(_time0_, _time1_);
+        setStartFinishTime(_time0_, _time1_);
         _timeRangeFixed = false;
     }
 
@@ -894,18 +904,19 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
     }
 
     /**
-     * Set the calendar format
-     *
-     * @param toAbsoluteCaltime
-     *            True for absolute time, false for relative
+     * @since 2.0
      */
-    public void setTimeCalendarFormat(boolean toAbsoluteCaltime) {
-        calendarTimeFormat = toAbsoluteCaltime;
+    @Override
+    public TimeFormat getTimeFormat() {
+        return timeFormat;
     }
 
-    @Override
-    public boolean isCalendarFormat() {
-        return calendarTimeFormat;
+    /**
+     * @param tf the {@link TimeFormat} used to display timestamps
+     * @since 2.0
+     */
+    public void setTimeFormat(TimeFormat tf) {
+        this.timeFormat = tf;
     }
 
     /**
@@ -1040,6 +1051,30 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
         return _timeScaleCtrl;
     }
 
+    /**
+     * Return the x coordinate corresponding to a time
+     *
+     * @param time the time
+     * @return the x coordinate corresponding to the time
+     *
+     * @since 2.0
+     */
+    public int getXForTime(long time) {
+        return _stateCtrl.getXForTime(time);
+    }
+
+    /**
+     * Return the time corresponding to an x coordinate
+     *
+     * @param x the x coordinate
+     * @return the time corresponding to the x coordinate
+     *
+     * @since 2.0
+     */
+    public long getTimeAtX(int x) {
+        return _stateCtrl.getTimeAtX(x);
+    }
+
     /**
      * Get the selection provider
      *
@@ -1110,6 +1145,26 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
         adjustVerticalScrollBar();
     }
 
+    /**
+     * Collapses all nodes of the viewer's tree, starting with the root.
+     *
+     * @since 2.0
+     */
+    public void collapseAll() {
+        _stateCtrl.collapseAll();
+        adjustVerticalScrollBar();
+    }
+
+    /**
+     * Expands all nodes of the viewer's tree, starting with the root.
+     *
+     * @since 2.0
+     */
+    public void expandAll() {
+        _stateCtrl.expandAll();
+        adjustVerticalScrollBar();
+    }
+
     /**
      * Get the number of sub-elements when expanded
      *
@@ -1160,6 +1215,7 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
                 @Override
                 public void run() {
                     resetStartFinishTime();
+                    notifyStartFinishTime();
                 }
             };
             resetScale.setText(Messages.TmfTimeGraphViewer_ResetScaleActionNameText);
@@ -1335,6 +1391,58 @@ public class TimeGraphViewer implements ITimeDataProvider, SelectionListener {
         _verticalScrollBar.setValues(selection, min, max, thumb, increment, pageIncrement);
     }
 
+    /**
+     * @param listener a {@link MenuDetectListener}
+     * @see org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl#addTimeGraphEntryMenuListener(org.eclipse.swt.events.MenuDetectListener)
+     * @since 1.2
+     */
+    public void addTimeGraphEntryMenuListener(MenuDetectListener listener) {
+        _stateCtrl.addTimeGraphEntryMenuListener(listener);
+    }
 
+    /**
+     * @param listener a {@link MenuDetectListener}
+     * @see org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl#removeTimeGraphEntryMenuListener(org.eclipse.swt.events.MenuDetectListener)
+     * @since 1.2
+     */
+    public void removeTimeGraphEntryMenuListener(MenuDetectListener listener) {
+        _stateCtrl.removeTimeGraphEntryMenuListener(listener);
+    }
+
+    /**
+     * @param listener a {@link MenuDetectListener}
+     * @see org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl#addTimeEventMenuListener(org.eclipse.swt.events.MenuDetectListener)
+     * @since 1.2
+     */
+    public void addTimeEventMenuListener(MenuDetectListener listener) {
+        _stateCtrl.addTimeEventMenuListener(listener);
+    }
+
+    /**
+     * @param listener a {@link MenuDetectListener}
+     * @see org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphControl#removeTimeEventMenuListener(org.eclipse.swt.events.MenuDetectListener)
+     * @since 1.2
+     */
+    public void removeTimeEventMenuListener(MenuDetectListener listener) {
+        _stateCtrl.removeTimeEventMenuListener(listener);
+    }
+
+    /**
+     * @param filter The filter object to be attached to the view
+     * @since 2.0
+     */
+    public void addFilter(ViewerFilter filter) {
+        _stateCtrl.addFilter(filter);
+        refresh();
+    }
+
+    /**
+     * @param filter The filter object to be attached to the view
+     * @since 2.0
+     */
+    public void removeFilter(ViewerFilter filter) {
+        _stateCtrl.removeFilter(filter);
+        refresh();
+    }
 
 }
This page took 0.028038 seconds and 5 git commands to generate.