Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Tasse2018-12-07 18:49:42 +0000
committerBernd Hufmann2019-01-03 20:50:27 +0000
commit65498f7302884f18936e33dd09ac2788b7c40562 (patch)
tree2f2128adef9951bb81651287d4d16ed388b9b246
parent0f12aeec8d6695fb2d379bba1eb67d8bd2d0a2d9 (diff)
downloadorg.eclipse.tracecompass-65498f7302884f18936e33dd09ac2788b7c40562.tar.gz
org.eclipse.tracecompass-65498f7302884f18936e33dd09ac2788b7c40562.tar.xz
org.eclipse.tracecompass-65498f7302884f18936e33dd09ac2788b7c40562.zip
tmf: Bug 542529: FilteredCheckboxTree refresh job loses selection
Save and restore the tree selection during the refresh job execution. Change-Id: Ifb909c33469c4dd0dee0d66ae9dc392193d1d96c Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com> Reviewed-on: https://git.eclipse.org/r/133699 Tested-by: CI Bot Reviewed-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com> Tested-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com> (cherry picked from commit 0f9dcd7822f16215c38dc5c72ab0b75c29b5e4ee) Reviewed-on: https://git.eclipse.org/r/133950 Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com> Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
-rw-r--r--tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/dialogs/FilteredCheckboxTree.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/dialogs/FilteredCheckboxTree.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/dialogs/FilteredCheckboxTree.java
index ff83cb0dad..7891630d0c 100644
--- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/dialogs/FilteredCheckboxTree.java
+++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/dialogs/FilteredCheckboxTree.java
@@ -22,6 +22,7 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.jface.viewers.CheckboxTreeViewer;
import org.eclipse.jface.viewers.ICheckStateListener;
import org.eclipse.jface.viewers.ICheckable;
+import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.widgets.Composite;
@@ -106,10 +107,14 @@ public class FilteredCheckboxTree extends FilteredTree implements ICheckable {
// Expand all to be able to store all checked elements
fCheckboxTreeViewer.expandAll();
fCheckboxTreeViewer.setCheckedElements(getCheckedElements());
+ // Collapse all can change selection
+ ISelection selection = fCheckboxTreeViewer.getSelection();
fCheckboxTreeViewer.collapseAll();
fCheckboxTreeViewer.getTree().setRedraw(true);
// Expand tree according to the saved expanded elements
fCheckboxTreeViewer.setExpandedElements(expandedElements.toArray());
+ // Restore the selection
+ fCheckboxTreeViewer.setSelection(selection);
return Status.OK_STATUS;
}
};

Back to the top