From fce7c48be9cb00a64c133cf36343ee21e95f8d4c Mon Sep 17 00:00:00 2001 From: Bernd Hufmann Date: Tue, 13 Oct 2015 07:47:07 -0400 Subject: [PATCH] lttng: pack columns in latency table Change-Id: I18855e0e4d728aca681bcd39229ca156e45cedb8 Signed-off-by: Bernd Hufmann Reviewed-on: https://git.eclipse.org/r/58062 Reviewed-by: Hudson CI Reviewed-by: Marc-Andre Laperle Tested-by: Marc-Andre Laperle --- .../AbstractSegmentStoreTableViewer.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/analysis/org.eclipse.tracecompass.analysis.timing.ui/src/org/eclipse/tracecompass/analysis/timing/ui/views/segmentstore/AbstractSegmentStoreTableViewer.java b/analysis/org.eclipse.tracecompass.analysis.timing.ui/src/org/eclipse/tracecompass/analysis/timing/ui/views/segmentstore/AbstractSegmentStoreTableViewer.java index 2bfa8398b2..958ff18699 100644 --- a/analysis/org.eclipse.tracecompass.analysis.timing.ui/src/org/eclipse/tracecompass/analysis/timing/ui/views/segmentstore/AbstractSegmentStoreTableViewer.java +++ b/analysis/org.eclipse.tracecompass.analysis.timing.ui/src/org/eclipse/tracecompass/analysis/timing/ui/views/segmentstore/AbstractSegmentStoreTableViewer.java @@ -21,9 +21,13 @@ import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.TableColumn; import org.eclipse.tracecompass.analysis.timing.core.segmentstore.AbstractSegmentStoreAnalysisModule; import org.eclipse.tracecompass.analysis.timing.core.segmentstore.IAnalysisProgressListener; import org.eclipse.tracecompass.common.core.NonNullUtils; @@ -140,6 +144,7 @@ public abstract class AbstractSegmentStoreTableViewer extends TmfSimpleTableView } createColumns(); getTableViewer().getTable().addSelectionListener(new TableSelectionListener()); + addPackListener(); fListener = new AnalysisProgressListener(); } @@ -215,6 +220,7 @@ public abstract class AbstractSegmentStoreTableViewer extends TmfSimpleTableView tableViewer.setItemCount(0); return; } + addPackListener(); tableViewer.setInput(dataInput); SegmentStoreContentProvider contentProvider = (SegmentStoreContentProvider) getTableViewer().getContentProvider(); tableViewer.setItemCount(contentProvider.getSegmentCount()); @@ -352,4 +358,27 @@ public abstract class AbstractSegmentStoreTableViewer extends TmfSimpleTableView } } } + + // ------------------------------------------------------------------------ + // Helper methods + // ------------------------------------------------------------------------ + /* + * Add the listener for SetData on the table + */ + private void addPackListener() { + getControl().addListener(SWT.SetData, new Listener() { + @Override + public void handleEvent(@Nullable Event event) { + // Pack the column the first time data is set + TableViewer tableViewer = getTableViewer(); + if (tableViewer != null) { + for (TableColumn col : tableViewer.getTable().getColumns()) { + col.pack(); + } + // Remove the listener after the pack + getControl().removeListener(SWT.SetData, this); + } + } + }); + } } -- 2.34.1