tmf: Add TmfEventTableColumn class
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.kernel.ui / src / org / eclipse / linuxtools / internal / lttng2 / kernel / ui / viewers / events / LTTng2EventsTable.java
1 /*******************************************************************************
2 * Copyright (c) 2012, 2013 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 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
12
13 package org.eclipse.linuxtools.internal.lttng2.kernel.ui.viewers.events;
14
15 import java.util.Collection;
16
17 import org.eclipse.jdt.annotation.NonNull;
18 import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
19 import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
20 import org.eclipse.linuxtools.tmf.ui.viewers.events.columns.TmfEventTableColumn;
21 import org.eclipse.swt.widgets.Composite;
22
23 import com.google.common.collect.ImmutableList;
24
25 /**
26 * Events table specific for LTTng 2.0 kernel traces
27 */
28 public class LTTng2EventsTable extends TmfEventsTable {
29
30 // ------------------------------------------------------------------------
31 // Column definition
32 // ------------------------------------------------------------------------
33
34 @SuppressWarnings("null")
35 private static final @NonNull String CHANNEL_HEADER = Messages.EventsTable_channelColumn;
36
37 private static final Collection<TmfEventTableColumn> LTTNG_COLUMNS =
38 ImmutableList.<TmfEventTableColumn> of(
39 TmfEventTableColumn.BaseColumns.TIMESTAMP,
40 new LttngChannelColumn(),
41 TmfEventTableColumn.BaseColumns.EVENT_TYPE,
42 TmfEventTableColumn.BaseColumns.CONTENTS);
43
44 private static class LttngChannelColumn extends TmfEventTableColumn {
45
46 public LttngChannelColumn() {
47 super(CHANNEL_HEADER);
48 }
49
50 @Override
51 public String getItemString(ITmfEvent event) {
52 String ret = event.getReference();
53 return (ret == null ? EMPTY_STRING : ret);
54 }
55
56 @Override
57 public String getFilterFieldId() {
58 return ITmfEvent.EVENT_FIELD_REFERENCE;
59 }
60 }
61
62 // ------------------------------------------------------------------------
63 // Constructor
64 // ------------------------------------------------------------------------
65
66 /**
67 * Constructor
68 *
69 * @param parent
70 * The parent composite
71 * @param cacheSize
72 * The size of the rows cache
73 */
74 public LTTng2EventsTable(Composite parent, int cacheSize) {
75 super(parent, cacheSize, LTTNG_COLUMNS);
76 }
77 }
This page took 0.031271 seconds and 5 git commands to generate.