1 /*******************************************************************************
2 * Copyright (c) 2010 Ericsson
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
10 * Patrick Tasse - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.internal
.tmf
.ui
.parsers
.custom
;
15 import java
.util
.LinkedList
;
16 import java
.util
.List
;
18 import org
.eclipse
.linuxtools
.internal
.tmf
.ui
.parsers
.custom
.CustomTraceDefinition
.OutputColumn
;
19 import org
.eclipse
.linuxtools
.tmf
.core
.event
.ITmfEvent
;
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
.virtualtable
.ColumnData
;
23 import org
.eclipse
.swt
.SWT
;
24 import org
.eclipse
.swt
.widgets
.Composite
;
26 public class CustomEventsTable
extends TmfEventsTable
{
28 private final CustomTraceDefinition fDefinition
;
30 public CustomEventsTable(CustomTraceDefinition definition
, Composite parent
, int cacheSize
) {
31 super(parent
, cacheSize
, new ColumnData
[0]);
32 fDefinition
= definition
;
33 createColumnHeaders();
36 protected void createColumnHeaders() {
37 if (fDefinition
== null) {
40 List
<ColumnData
> columnData
= new LinkedList
<ColumnData
>();
41 for (OutputColumn outputColumn
: fDefinition
.outputs
) {
42 ColumnData column
= new ColumnData(outputColumn
.name
, 0, SWT
.LEFT
);
43 columnData
.add(column
);
45 setColumnHeaders(columnData
.toArray(new ColumnData
[0]));
49 public TmfEventField
[] extractItemFields(ITmfEvent event
) {
50 if (event
instanceof CustomEvent
) {
51 TmfEventField
[] fields
= ((CustomEvent
) event
).extractItemFields();
52 // String[] labels = new String[fields.length];
53 // for (int i = 0; i < fields.length; i++) {
54 // labels[i] = (String) fields[i].getValue();
58 return new TmfEventField
[0];