import org.eclipse.linuxtools.tmf.ui.views.colors.ColorSettingsManager;\r
import org.eclipse.linuxtools.tmf.ui.views.colors.IColorSettingsListener;\r
import org.eclipse.linuxtools.tmf.ui.views.timechart.TimeChartEvent.RankRange;\r
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeAnalysisViewer;\r
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITmfTimeScaleSelectionListener;\r
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITmfTimeSelectionListener;\r
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TmfTimeScaleSelectionEvent;\r
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TmfTimeSelectionEvent;\r
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TmfViewerFactory;\r
+import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphRangeListener;\r
+import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphSelectionListener;\r
+import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphTimeListener;\r
+import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphRangeUpdateEvent;\r
+import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphSelectionEvent;\r
+import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphTimeEvent;\r
+import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphViewer;\r
import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeEvent;\r
-import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITmfTimeAnalysisEntry;\r
+import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.model.ITimeGraphEntry;\r
import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.layout.GridLayout;\r
import org.eclipse.swt.widgets.Composite;\r
import org.eclipse.swt.widgets.Display;\r
import org.eclipse.ui.IEditorPart;\r
import org.eclipse.ui.IEditorReference;\r
\r
-public class TimeChartView extends TmfView implements ITmfTimeScaleSelectionListener, ITmfTimeSelectionListener, IColorSettingsListener,\r
+public class TimeChartView extends TmfView implements ITimeGraphRangeListener, ITimeGraphSelectionListener, ITimeGraphTimeListener, IColorSettingsListener,\r
IResourceChangeListener, ITmfEventsFilterListener {\r
\r
public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.timechart"; //$NON-NLS-1$\r
private static final int TIMESTAMP_SCALE = -9;\r
\r
private final int fDisplayWidth;\r
- private Composite fComposite;\r
- private ITimeAnalysisViewer fViewer;\r
+ private TimeGraphViewer fViewer;\r
private final ArrayList<TimeChartAnalysisEntry> fTimeAnalysisEntries = new ArrayList<TimeChartAnalysisEntry>();\r
private final Map<ITmfTrace<?>, TimeChartDecorationProvider> fDecorationProviders = new HashMap<ITmfTrace<?>, TimeChartDecorationProvider>();\r
private ArrayList<DecorateThread> fDecorateThreads;\r
\r
@Override\r
public void createPartControl(Composite parent) {\r
- fComposite = new Composite(parent, SWT.NONE);\r
- GridLayout gl = new GridLayout();\r
- gl.marginWidth = 0;\r
- gl.marginHeight = 0;\r
- fComposite.setLayout(gl);\r
-\r
- fViewer = TmfViewerFactory.createViewer(fComposite, new TimeChartAnalysisProvider());\r
- fViewer.groupTraces(false);\r
+ fViewer = new TimeGraphViewer(parent, SWT.NONE);\r
+ fViewer.setTimeGraphProvider(new TimeChartAnalysisProvider());\r
fViewer.setTimeCalendarFormat(true);\r
- fViewer.setAcceptSelectionAPIcalls(true);\r
- fViewer.addWidgetTimeScaleSelectionListner(this);\r
- fViewer.addWidgetSelectionListner(this);\r
+ fViewer.addRangeListener(this);\r
+ fViewer.addSelectionListener(this);\r
fViewer.setMinimumItemWidth(1);\r
\r
IEditorReference[] editorReferences = getSite().getPage().getEditorReferences();\r
}\r
}\r
}\r
- fViewer.display(fTimeAnalysisEntries.toArray(new TimeChartAnalysisEntry[0]));\r
+ fViewer.setInput(fTimeAnalysisEntries.toArray(new TimeChartAnalysisEntry[0]));\r
\r
fDecorateThreads = new ArrayList<DecorateThread>();\r
ColorSettingsManager.addColorSettingsListener(this);\r
\r
@Override\r
public void setFocus() {\r
- super.setFocus();\r
fViewer.setFocus();\r
}\r
\r
}\r
\r
private void refreshViewer(boolean resetTimeIntervals) {\r
- if (fComposite == null) {\r
- return;\r
- }\r
synchronized (fSyncObj) {\r
if (fRefreshBusy) {\r
fRefreshPending = true;\r
Display.getDefault().asyncExec(new Runnable() {\r
@Override\r
public void run() {\r
- if (fComposite.isDisposed())\r
+ if (fViewer.getControl().isDisposed())\r
return;\r
- fViewer.display(fTimeAnalysisEntries.toArray(new TimeChartAnalysisEntry[0]));\r
+ fViewer.setInput(fTimeAnalysisEntries.toArray(new TimeChartAnalysisEntry[0]));\r
if (reset) {\r
fViewer.resetStartFinishTime();\r
}\r
}\r
\r
public void itemizeTraceEntry(TimeChartAnalysisEntry timeAnalysisEntry) {\r
- Iterator<ITimeEvent> iterator = timeAnalysisEntry.getTraceEventsIterator();\r
+ Iterator<ITimeEvent> iterator = timeAnalysisEntry.getTimeEventsIterator();\r
TimeChartEvent event = null;\r
boolean hasNext = true;\r
while (hasNext) {\r
}\r
\r
public void resetTraceEntry(TimeChartAnalysisEntry timeAnalysisEntry) {\r
- Iterator<ITimeEvent> iterator = timeAnalysisEntry.getTraceEventsIterator();\r
+ Iterator<ITimeEvent> iterator = timeAnalysisEntry.getTimeEventsIterator();\r
TimeChartEvent event = null;\r
boolean hasNext = true;\r
while (!interrupted && hasNext) {\r
public void decorateTraceEntry(TimeChartAnalysisEntry timeAnalysisEntry, TimeChartEvent parentEvent) {\r
// Set max duration high to ensure iterator does not consider\r
// itemized events\r
- Iterator<ITimeEvent> iterator = timeAnalysisEntry.getTraceEventsIterator(0, Long.MAX_VALUE, Long.MAX_VALUE);\r
+ Iterator<ITimeEvent> iterator = timeAnalysisEntry.getTimeEventsIterator(0, Long.MAX_VALUE, Long.MAX_VALUE);\r
TimeChartEvent event = null;\r
int entryPriority = ColorSettingsManager.PRIORITY_NONE;\r
boolean entryIsBookmarked = false;\r
// ------------------------------------------------------------------------\r
\r
@Override\r
- public void tsfTmProcessTimeScaleEvent(TmfTimeScaleSelectionEvent event) {\r
- fStartTime = event.getTime0();\r
- fStopTime = event.getTime1();\r
+ public void timeRangeUpdated(TimeGraphRangeUpdateEvent event) {\r
+ fStartTime = event.getStartTime();\r
+ fStopTime = event.getEndTime();\r
itemize(fStartTime, fStopTime);\r
}\r
\r
@Override\r
- public void tsfTmProcessSelEvent(TmfTimeSelectionEvent event) {\r
- ITmfTimeAnalysisEntry timeAnalysisEntry = null;\r
+ public void selectionChanged(TimeGraphSelectionEvent event) {\r
+ ITimeGraphEntry timeAnalysisEntry = null;\r
if (event.getSelection() instanceof TimeChartAnalysisEntry) {\r
timeAnalysisEntry = (TimeChartAnalysisEntry) event.getSelection();\r
} else if (event.getSelection() instanceof TimeChartEvent) {\r
if (timeAnalysisEntry instanceof TimeChartAnalysisEntry) {\r
broadcast(new TmfTraceSelectedSignal(this, ((TimeChartAnalysisEntry) timeAnalysisEntry).getTrace()));\r
}\r
- broadcast(new TmfTimeSynchSignal(this, new TmfTimestamp(event.getSelectedTime(), TIMESTAMP_SCALE)));\r
+ }\r
+\r
+ @Override\r
+ public void timeSelected(TimeGraphTimeEvent event) {\r
+ broadcast(new TmfTimeSynchSignal(this, new TmfTimestamp(event.getTime(), TIMESTAMP_SCALE)));\r
}\r
\r
@Override\r
ITmfTrace<?> trace = signal.getTrace();\r
for (int i = 0; i < fTimeAnalysisEntries.size(); i++) {\r
if (fTimeAnalysisEntries.get(i).getTrace().equals(trace)) {\r
- fViewer.setSelectedTrace(fTimeAnalysisEntries.get(i));\r
+ fViewer.setSelection(fTimeAnalysisEntries.get(i));\r
break;\r
}\r
}\r