1 /*******************************************************************************
2 * Copyright (c) 2012 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 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.internal
.lttng2
.kernel
.ui
.viewers
.events
;
15 import org
.eclipse
.linuxtools
.tmf
.core
.event
.ITmfEvent
;
16 import org
.eclipse
.linuxtools
.tmf
.core
.event
.ITmfEventField
;
17 import org
.eclipse
.linuxtools
.tmf
.core
.event
.TmfEventField
;
18 import org
.eclipse
.linuxtools
.tmf
.ui
.viewers
.events
.TmfEventsTable
;
19 import org
.eclipse
.linuxtools
.tmf
.ui
.widgets
.virtualtable
.ColumnData
;
20 import org
.eclipse
.swt
.SWT
;
21 import org
.eclipse
.swt
.widgets
.Composite
;
24 * Events table specific for LTTng 2.0 kernel traces
26 public class LTTng2EventsTable
extends TmfEventsTable
{
28 // ------------------------------------------------------------------------
30 // ------------------------------------------------------------------------
33 static private final String TIMESTAMP_COLUMN
= Messages
.EventsTable_timestampColumn
;
34 static private final String CHANNEL_COLUMN
= Messages
.EventsTable_channelColumn
;
35 static private final String TYPE_COLUMN
= Messages
.EventsTable_typeColumn
;
36 static private final String CONTENT_COLUMN
= Messages
.EventsTable_contentColumn
;
37 static private final String
[] COLUMN_NAMES
= new String
[] {
44 static private final ColumnData
[] COLUMN_DATA
= new ColumnData
[] {
45 new ColumnData(COLUMN_NAMES
[0], 150, SWT
.LEFT
),
46 new ColumnData(COLUMN_NAMES
[1], 120, SWT
.LEFT
),
47 new ColumnData(COLUMN_NAMES
[2], 200, SWT
.LEFT
),
48 new ColumnData(COLUMN_NAMES
[3], 100, SWT
.LEFT
)
51 // ------------------------------------------------------------------------
53 // ------------------------------------------------------------------------
59 * The parent composite
61 * The size of the rows cache
63 public LTTng2EventsTable(Composite parent
, int cacheSize
) {
64 super(parent
, cacheSize
, COLUMN_DATA
);
65 fTable
.getColumns()[0].setData(Key
.FIELD_ID
, ITmfEvent
.EVENT_FIELD_TIMESTAMP
);
66 fTable
.getColumns()[1].setData(Key
.FIELD_ID
, ITmfEvent
.EVENT_FIELD_REFERENCE
);
67 fTable
.getColumns()[2].setData(Key
.FIELD_ID
, ITmfEvent
.EVENT_FIELD_TYPE
);
68 fTable
.getColumns()[3].setData(Key
.FIELD_ID
, ITmfEvent
.EVENT_FIELD_CONTENT
);
76 protected ITmfEventField
[] extractItemFields(ITmfEvent event
) {
77 ITmfEventField
[] fields
= new TmfEventField
[0];
79 fields
= new TmfEventField
[] {
80 new TmfEventField(ITmfEvent
.EVENT_FIELD_TIMESTAMP
, event
.getTimestamp().toString()),
81 new TmfEventField(ITmfEvent
.EVENT_FIELD_REFERENCE
, event
.getReference()),
82 new TmfEventField(ITmfEvent
.EVENT_FIELD_TYPE
, event
.getType().getName()),
83 new TmfEventField(ITmfEvent
.EVENT_FIELD_CONTENT
, event
.getContent().toString())