2010-07-12 Francois Chouinard <fchouinar@gmail.com> Contribution for Bug319428...
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / views / TmfEventsView.java
CommitLineData
b0d3496e 1/*******************************************************************************
e31e01e8 2 * Copyright (c) 2009, 2010 Ericsson
b0d3496e
ASL
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
8 *
9 * Contributors:
10 * Francois Chouinard - Initial API and implementation
abfad0aa 11 * Patrick Tasse - Factored out events table
b0d3496e
ASL
12 *******************************************************************************/
13
14package org.eclipse.linuxtools.tmf.ui.views;
15
16import org.eclipse.linuxtools.tmf.event.TmfEvent;
e31e01e8 17import org.eclipse.linuxtools.tmf.experiment.TmfExperiment;
ff4ed569 18import org.eclipse.linuxtools.tmf.signal.TmfExperimentSelectedSignal;
b0d3496e 19import org.eclipse.linuxtools.tmf.signal.TmfSignalHandler;
abfad0aa 20import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
b0d3496e 21import org.eclipse.swt.widgets.Composite;
b0d3496e 22import org.eclipse.swt.widgets.Table;
b0d3496e
ASL
23
24/**
25 * <b><u>TmfEventsView</u></b>
26 * <p>
27 *
28 * TODO: Implement me. Please.
29 * TODO: Handle column selection, sort, ... generically (nothing less...)
30 * TODO: Implement hide/display columns
31 */
79a3a76e 32public class TmfEventsView extends TmfView {
b0d3496e 33
e31e01e8 34 public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.events";
b0d3496e 35
e31e01e8 36 private TmfExperiment<TmfEvent> fExperiment;
abfad0aa
FC
37 private TmfEventsTable fEventsTable;
38 private static final int DEFAULT_CACHE_SIZE = 1000;
e31e01e8 39 private final int fCacheSize;
abfad0aa 40 private String fTitlePrefix;
e31e01e8
FC
41
42 // ------------------------------------------------------------------------
b0d3496e 43 // Constructor
e31e01e8 44 // ------------------------------------------------------------------------
b0d3496e 45
e31e01e8 46 public TmfEventsView(int cacheSize) {
fc6ccf6f 47 super("TmfEventsView");
e31e01e8 48 fCacheSize = cacheSize;
b0d3496e
ASL
49 }
50
e31e01e8
FC
51 public TmfEventsView() {
52 this(DEFAULT_CACHE_SIZE);
53 }
54
55 // ------------------------------------------------------------------------
56 // ViewPart
57 // ------------------------------------------------------------------------
58
59 @SuppressWarnings("unchecked")
60 @Override
b0d3496e 61 public void createPartControl(Composite parent) {
abfad0aa
FC
62 fEventsTable = createEventsTable(parent, fCacheSize);
63
64 fTitlePrefix = getTitle();
65
66 // If an experiment is already selected, update the table
67 fExperiment = (TmfExperiment<TmfEvent>) TmfExperiment.getCurrentExperiment();
68 if (fExperiment != null) {
69 experimentSelected(new TmfExperimentSelectedSignal<TmfEvent>(fEventsTable, fExperiment));
70 }
8d2e2848
FC
71 }
72
abfad0aa
FC
73 @Override
74 public void dispose() {
75 if (fEventsTable != null) {
76 fEventsTable.dispose();
b0d3496e 77 }
abfad0aa
FC
78 super.dispose();
79 }
b0d3496e 80
abfad0aa
FC
81 protected TmfEventsTable createEventsTable(Composite parent, int cacheSize) {
82 return new TmfEventsTable(parent, cacheSize);
83 }
b0d3496e
ASL
84
85 /* (non-Javadoc)
86 * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
87 */
88 @Override
89 public void setFocus() {
abfad0aa 90 fEventsTable.setFocus();
b0d3496e
ASL
91 }
92
8d2e2848
FC
93 /* (non-Javadoc)
94 * @see java.lang.Object#toString()
95 */
96 @Override
97 public String toString() {
98 return "[TmfEventsView]";
99 }
100
abfad0aa
FC
101 protected void createColumnHeaders(Table table) {
102 fEventsTable.createColumnHeaders(table);
103 }
104
105 protected String[] extractItemFields(TmfEvent event) {
106 return fEventsTable.extractItemFields(event);
107 }
108
109 // ------------------------------------------------------------------------
b0d3496e 110 // Signal handlers
e31e01e8 111 // ------------------------------------------------------------------------
b0d3496e 112
e31e01e8 113 @SuppressWarnings("unchecked")
abfad0aa 114 @TmfSignalHandler
951d134a 115 public void experimentSelected(TmfExperimentSelectedSignal<TmfEvent> signal) {
abfad0aa
FC
116 // Update the trace reference
117 fExperiment = (TmfExperiment<TmfEvent>) signal.getExperiment();
118 setPartName(fTitlePrefix + " - " + fExperiment.getName());
b0d3496e 119
abfad0aa
FC
120 if (fEventsTable != null) {
121 fEventsTable.setTrace(fExperiment);
122 }
cb866e08 123 }
9aae0442 124
e31e01e8 125}
This page took 0.045211 seconds and 5 git commands to generate.