From: Patrick Tasse Date: Thu, 23 Jan 2014 17:00:17 +0000 (-0500) Subject: tmf: Bug 426468: Wrong filter label provider in Control Flow view X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=a03b7ee43d50dde1d5fb97402351e0bd93ccd8de;p=deliverable%2Ftracecompass.git tmf: Bug 426468: Wrong filter label provider in Control Flow view Change-Id: I328db35ffdcb8f872a3277eb309472fd311aab97 Signed-off-by: Patrick Tasse Reviewed-on: https://git.eclipse.org/r/21005 Tested-by: Hudson CI Reviewed-by: Matthew Khouzam IP-Clean: Matthew Khouzam --- diff --git a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java index adf51cce29..2ac5ec527e 100644 --- a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java +++ b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java @@ -94,6 +94,7 @@ public class ControlFlowView extends AbstractTimeGraphView { setTreeColumns(COLUMN_NAMES); setTreeLabelProvider(new ControlFlowTreeLabelProvider()); setFilterColumns(FILTER_COLUMN_NAMES); + setFilterLabelProvider(new ControlFlowFilterLabelProvider()); setEntryComparator(new ControlFlowEntryComparator()); } @@ -195,6 +196,22 @@ public class ControlFlowView extends AbstractTimeGraphView { } + private static class ControlFlowFilterLabelProvider extends TreeLabelProvider { + + @Override + public String getColumnText(Object element, int columnIndex) { + ControlFlowEntry entry = (ControlFlowEntry) element; + + if (columnIndex == 0) { + return entry.getName(); + } else if (columnIndex == 1) { + return Integer.toString(entry.getThreadId()); + } + return ""; //$NON-NLS-1$ + } + + } + // ------------------------------------------------------------------------ // Internal // ------------------------------------------------------------------------ diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/AbstractTimeGraphView.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/AbstractTimeGraphView.java index 3769b46977..c690ed48bf 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/AbstractTimeGraphView.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timegraph/AbstractTimeGraphView.java @@ -148,6 +148,9 @@ public abstract class AbstractTimeGraphView extends TmfView { /** The filter column label array, or null if filter is not used */ private String[] fFilterColumns; + /** The filter label provider, or null if filter is not used */ + private TreeLabelProvider fFilterLabelProvider; + // ------------------------------------------------------------------------ // Classes // ------------------------------------------------------------------------ @@ -553,6 +556,19 @@ public abstract class AbstractTimeGraphView extends TmfView { fFilterColumns = filterColumns; } + /** + * Sets the filter label provider. + * This should be called from the constructor. + * + * @param labelProvider + * The filter label provider + * + * @since 3.0 + */ + protected void setFilterLabelProvider(final TreeLabelProvider labelProvider) { + fFilterLabelProvider = labelProvider; + } + /** * Gets the display width * @@ -703,7 +719,7 @@ public abstract class AbstractTimeGraphView extends TmfView { combo.setTreeLabelProvider(fLabelProvider); combo.setTreeColumns(fColumns); combo.setFilterContentProvider(new TreeContentProvider()); - combo.setFilterLabelProvider(new TreeLabelProvider()); + combo.setFilterLabelProvider(fFilterLabelProvider); combo.setFilterColumns(fFilterColumns); } @@ -1081,7 +1097,7 @@ public abstract class AbstractTimeGraphView extends TmfView { */ protected void fillLocalToolBar(IToolBarManager manager) { if (fTimeGraphWrapper instanceof TimeGraphComboWrapper) { - if (fFilterColumns.length > 0) { + if (fFilterColumns != null && fFilterLabelProvider != null && fFilterColumns.length > 0) { manager.add(((TimeGraphComboWrapper) fTimeGraphWrapper).getShowFilterAction()); } }