From d4489ec9e1d0a2135e573ef929a3dcc5110cd2c4 Mon Sep 17 00:00:00 2001 From: Marc-Andre Laperle Date: Tue, 15 Apr 2014 00:19:11 -0400 Subject: [PATCH] lttng: Add filtering textbox to the event selection composites Change-Id: I9de3eb026841b4fb7a85ba14305c569e7e9a24aa Signed-off-by: Marc-Andre Laperle Reviewed-on: https://git.eclipse.org/r/25019 Tested-by: Hudson CI Reviewed-by: Bernd Hufmann Tested-by: Bernd Hufmann --- .../dialogs/EnableKernelEventComposite.java | 24 ++++++++++++------ .../dialogs/EnableUstEventsComposite.java | 25 +++++++++++++------ 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/EnableKernelEventComposite.java b/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/EnableKernelEventComposite.java index 1f1f2c285c..001acea8e9 100644 --- a/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/EnableKernelEventComposite.java +++ b/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/EnableKernelEventComposite.java @@ -8,6 +8,7 @@ * * Contributors: * Bernd Hufmann - Initial API and implementation + * Marc-Andre Laperle - Add filtering textbox **********************************************************************/ package org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs; @@ -18,6 +19,7 @@ import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.CheckStateChangedEvent; import org.eclipse.jface.viewers.CheckboxTreeViewer; import org.eclipse.jface.viewers.ICheckStateListener; +import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.linuxtools.internal.lttng2.ui.views.control.messages.Messages; import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent; import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.BaseEventComponent; @@ -36,6 +38,8 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.dialogs.FilteredTree; +import org.eclipse.ui.dialogs.PatternFilter; /** *

@@ -344,15 +348,21 @@ public class EnableKernelEventComposite extends Composite implements IEnableKern data = new GridData(GridData.FILL_BOTH); tracepointsGroup.setLayoutData(data); - fTracepointsViewer = new CheckboxTreeViewer(tracepointsGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); - fTracepointsViewer.getTree().setToolTipText(Messages.TraceControl_EnableEventsTracepointTreeTooltip); + new FilteredTree(tracepointsGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, new PatternFilter(), true) { + @Override + protected TreeViewer doCreateTreeViewer(Composite aparent, int style) { + fTracepointsViewer = new CheckboxTreeViewer(aparent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); + fTracepointsViewer.getTree().setToolTipText(Messages.TraceControl_EnableEventsTracepointTreeTooltip); - fTracepointsViewer.setContentProvider(new KernelContentProvider()); - fTracepointsViewer.setLabelProvider(new KernelLabelProvider()); - fTracepointsViewer.addCheckStateListener(new KernelCheckListener()); - fTracepointsViewer.setInput(fProviderGroup); + fTracepointsViewer.setContentProvider(new KernelContentProvider()); + fTracepointsViewer.setLabelProvider(new KernelLabelProvider()); + fTracepointsViewer.addCheckStateListener(new KernelCheckListener()); + fTracepointsViewer.setInput(fProviderGroup); - fTracepointsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); + fTracepointsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); + return fTracepointsViewer; + } + }; } /** diff --git a/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/EnableUstEventsComposite.java b/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/EnableUstEventsComposite.java index 42cfa5da71..c3090d9124 100644 --- a/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/EnableUstEventsComposite.java +++ b/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/EnableUstEventsComposite.java @@ -9,6 +9,7 @@ * Contributors: * Bernd Hufmann - Initial API and implementation * Bernd Hufmann - Updated for support of LTTng Tools 2.1 + * Marc-Andre Laperle - Add filtering textbox **********************************************************************/ package org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs; @@ -21,6 +22,7 @@ import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.CheckStateChangedEvent; import org.eclipse.jface.viewers.CheckboxTreeViewer; import org.eclipse.jface.viewers.ICheckStateListener; +import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.linuxtools.internal.lttng2.core.control.model.LogLevelType; import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceLogLevel; import org.eclipse.linuxtools.internal.lttng2.ui.views.control.messages.Messages; @@ -43,6 +45,8 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.dialogs.FilteredTree; +import org.eclipse.ui.dialogs.PatternFilter; /** *

@@ -375,16 +379,21 @@ public class EnableUstEventsComposite extends Composite implements IEnableUstEve tpGroup.setLayout(layout); data = new GridData(GridData.FILL_BOTH); tpGroup.setLayoutData(data); + new FilteredTree(tpGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, new PatternFilter(), true) { + @Override + protected TreeViewer doCreateTreeViewer(Composite aparent, int style) { + fTracepointsViewer = new CheckboxTreeViewer(aparent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); + fTracepointsViewer.getTree().setToolTipText(Messages.TraceControl_EnableEventsTracepointTreeTooltip); + fTracepointsViewer.setContentProvider(new UstContentProvider()); - fTracepointsViewer = new CheckboxTreeViewer(tpGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); - fTracepointsViewer.getTree().setToolTipText(Messages.TraceControl_EnableEventsTracepointTreeTooltip); - fTracepointsViewer.setContentProvider(new UstContentProvider()); - - fTracepointsViewer.setLabelProvider(new UstLabelProvider()); - fTracepointsViewer.addCheckStateListener(new UstCheckStateListener()); + fTracepointsViewer.setLabelProvider(new UstLabelProvider()); + fTracepointsViewer.addCheckStateListener(new UstCheckStateListener()); - fTracepointsViewer.setInput(fProviderGroup.getParent()); - fTracepointsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); + fTracepointsViewer.setInput(fProviderGroup.getParent()); + fTracepointsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); + return fTracepointsViewer; + } + }; } /** -- 2.34.1