Internalize some more TMF APIs
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / internal / tmf / ui / parsers / custom / CustomEventsTable.java
1 /*******************************************************************************
2 * Copyright (c) 2010 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.internal.tmf.ui.parsers.custom.CustomTraceDefinition.OutputColumn;
19 import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
20 import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
21 import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
22 import org.eclipse.linuxtools.tmf.ui.widgets.ColumnData;
23 import org.eclipse.swt.SWT;
24 import org.eclipse.swt.widgets.Composite;
25
26 public class CustomEventsTable extends TmfEventsTable {
27
28 private CustomTraceDefinition fDefinition;
29
30 public CustomEventsTable(CustomTraceDefinition definition, Composite parent, int cacheSize) {
31 super(parent, cacheSize, new ColumnData[0]);
32 fDefinition = definition;
33 createColumnHeaders();
34 }
35
36 protected void createColumnHeaders() {
37 if (fDefinition == null)
38 return;
39 List<ColumnData> columnData = new LinkedList<ColumnData>();
40 for (OutputColumn outputColumn : fDefinition.outputs) {
41 ColumnData column = new ColumnData(outputColumn.name, 0, SWT.LEFT);
42 columnData.add(column);
43 }
44 setColumnHeaders((ColumnData[]) columnData.toArray(new ColumnData[0]));
45 }
46
47 @Override
48 public TmfEventField[] extractItemFields(TmfEvent event) {
49 if (event instanceof CustomEvent) {
50 TmfEventField[] fields = ((CustomEvent) event).extractItemFields();
51 // String[] labels = new String[fields.length];
52 // for (int i = 0; i < fields.length; i++) {
53 // labels[i] = (String) fields[i].getValue();
54 // }
55 return fields;
56 }
57 return new TmfEventField[0];
58 }
59 }
This page took 0.031757 seconds and 5 git commands to generate.