1 /*******************************************************************************
2 * Copyright (c) 2010, 2013 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
.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
;
29 * Events table for custom text parsers.
31 * @author Patrick Tassé
33 public class CustomEventsTable
extends TmfEventsTable
{
35 private final CustomTraceDefinition fDefinition
;
41 * Trace definition object
43 * Parent composite of the view
45 * How many events to keep in cache
47 public CustomEventsTable(CustomTraceDefinition definition
, Composite parent
, int cacheSize
) {
48 super(parent
, cacheSize
, new ColumnData
[0]);
49 fDefinition
= definition
;
50 createColumnHeaders();
54 * Create the table's headers.
56 protected void createColumnHeaders() {
57 if (fDefinition
== null) {
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
);
65 setColumnHeaders(columnData
.toArray(new ColumnData
[0]));
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();
78 return new TmfEventField
[0];