import org.eclipse.linuxtools.internal.gdbtrace.core.event.GdbTraceEvent;
import org.eclipse.linuxtools.internal.gdbtrace.core.event.GdbTraceEventContent;
import org.eclipse.linuxtools.internal.gdbtrace.core.trace.GdbTrace;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfTraceUpdatedSignal;
import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;
-import org.eclipse.linuxtools.tmf.ui.widgets.virtualtable.ColumnData;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.TableItem;
/**
- * GDB Events Table
- * @author Patrick Tasse
+ * GDB Event Table
*
+ * @author Patrick Tasse
*/
public class GdbEventsTable extends TmfEventsTable {
- private static final String TRACE_FRAME_COLUMN = GdbTraceEventContent.TRACE_FRAME;
- private static final String TRACEPOINT_COLUMN = GdbTraceEventContent.TRACEPOINT;
- private static final String FILE_COLUMN = "File"; //$NON-NLS-1$
- private static final String CONTENT_COLUMN = "Content"; //$NON-NLS-1$
- private static final ColumnData[] COLUMN_DATA = new ColumnData[] {
- new ColumnData(TRACE_FRAME_COLUMN, 100, SWT.RIGHT),
- new ColumnData(TRACEPOINT_COLUMN, 100, SWT.RIGHT),
- new ColumnData(FILE_COLUMN, 100, SWT.LEFT),
- new ColumnData(CONTENT_COLUMN, 100, SWT.LEFT)
- };
+ // ------------------------------------------------------------------------
+ // Fields
+ // ------------------------------------------------------------------------
private GdbTrace fSelectedTrace = null;
private long fSelectedFrame = 0;
+ // ------------------------------------------------------------------------
+ // Constructor
+ // ------------------------------------------------------------------------
+
/**
* Constructor
- * @param parent the parent
- * @param cacheSize the cache size
+ *
+ * @param parent
+ * the parent
+ * @param cacheSize
+ * the cache size
*/
public GdbEventsTable(Composite parent, int cacheSize) {
- super(parent, cacheSize, COLUMN_DATA);
- // Set search field ids for event filter
- fTable.getColumns()[2].setData(Key.FIELD_ID, ITmfEvent.EVENT_FIELD_REFERENCE);
- fTable.getColumns()[3].setData(Key.FIELD_ID, ITmfEvent.EVENT_FIELD_CONTENT);
+ super(parent, cacheSize, GdbEventTableColumns.GDB_COLUMNS);
+ // Set the alignment of the first two columns
+ fTable.getColumns()[0].setAlignment(SWT.RIGHT);
+ fTable.getColumns()[1].setAlignment(SWT.RIGHT);
// Synchronize currently selected frame in GDB with table selection
addSelectionChangedListener(new ISelectionChangedListener() {
}
}
- @Override
- public String[] getItemStrings(ITmfEvent event) {
- if (event == null) {
- return EMPTY_STRING_ARRAY;
- }
- // FIXME Unchecked cast. Null check should be replaced with instanceof
- // GdbTraceEvent check, and its getContent() should be overriden.
- GdbTraceEventContent content = (GdbTraceEventContent) event.getContent();
- return new String[] {
- String.valueOf(content.getFrameNumber()),
- String.valueOf(content.getTracepointNumber()),
- event.getReference(),
- content.toString()
- };
- }
-
@Override
@TmfSignalHandler
public void currentTimeUpdated(final TmfTimeSynchSignal signal) {