tmf/lttng: Update 2014 copyrights
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / internal / tmf / ui / parsers / custom / CustomEventsTable.java
1 /*******************************************************************************
2 * Copyright (c) 2010, 2014 Ericsson
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 * Patrick Tasse - Initial API and implementation
11 *******************************************************************************/
12
13 package org.eclipse.linuxtools.internal.tmf.ui.parsers.custom;
14
15 import java.util.LinkedList;
16 import java.util.List;
17
18 import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
19 import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
20 import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomEvent;
21 import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition;
22 import org.eclipse.linuxtools.tmf.core.parsers.custom.CustomTraceDefinition.OutputColumn;
23 import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
24 import org.eclipse.linuxtools.tmf.ui.widgets.virtualtable.ColumnData;
25 import org.eclipse.swt.SWT;
26 import org.eclipse.swt.widgets.Composite;
27
28 /**
29 * Events table for custom text parsers.
30 *
31 * @author Patrick Tassé
32 */
33 public class CustomEventsTable extends TmfEventsTable {
34
35 private final CustomTraceDefinition fDefinition;
36
37 /**
38 * Constructor.
39 *
40 * @param definition
41 * Trace definition object
42 * @param parent
43 * Parent composite of the view
44 * @param cacheSize
45 * How many events to keep in cache
46 */
47 public CustomEventsTable(CustomTraceDefinition definition, Composite parent, int cacheSize) {
48 super(parent, cacheSize, new ColumnData[0]);
49 fDefinition = definition;
50 createColumnHeaders();
51 }
52
53 /**
54 * Create the table's headers.
55 */
56 protected void createColumnHeaders() {
57 if (fDefinition == null) {
58 return;
59 }
60 List<ColumnData> columnData = new LinkedList<>();
61 for (OutputColumn outputColumn : fDefinition.outputs) {
62 ColumnData column = new ColumnData(outputColumn.name, 0, SWT.LEFT);
63 columnData.add(column);
64 }
65 setColumnHeaders(columnData.toArray(new ColumnData[0]));
66 }
67
68 @Override
69 public TmfEventField[] extractItemFields(ITmfEvent event) {
70 if (event instanceof CustomEvent) {
71 TmfEventField[] fields = ((CustomEvent) event).extractItemFields();
72 // String[] labels = new String[fields.length];
73 // for (int i = 0; i < fields.length; i++) {
74 // labels[i] = (String) fields[i].getValue();
75 // }
76 return fields;
77 }
78 return new TmfEventField[0];
79 }
80 }
This page took 0.040668 seconds and 5 git commands to generate.