From: Tuukka Lehtonen Date: Tue, 20 Nov 2018 09:02:32 +0000 (+0000) Subject: Merge "Fire selection change events on every selection change" X-Git-Tag: v1.43.0~136^2~260 X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commitdiff_plain;h=9cfc6c61008c1b6b278bac6c8585df478dddf55f;hp=f03e4a46a823abda03a6e20c120ad08170a3838e Merge "Fire selection change events on every selection change" --- diff --git a/bundles/org.simantics.browsing.ui.swt/src/org/simantics/browsing/ui/swt/GraphExplorerImpl.java b/bundles/org.simantics.browsing.ui.swt/src/org/simantics/browsing/ui/swt/GraphExplorerImpl.java index df4860d42..e90ae5eee 100644 --- a/bundles/org.simantics.browsing.ui.swt/src/org/simantics/browsing/ui/swt/GraphExplorerImpl.java +++ b/bundles/org.simantics.browsing.ui.swt/src/org/simantics/browsing/ui/swt/GraphExplorerImpl.java @@ -173,6 +173,8 @@ import org.simantics.utils.ui.SWTUtils; import org.simantics.utils.ui.jface.BasePostSelectionProvider; import org.simantics.utils.ui.widgets.VetoingEventHandler; import org.simantics.utils.ui.workbench.WorkbenchUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import gnu.trove.map.hash.THashMap; import gnu.trove.procedure.TObjectProcedure; @@ -185,6 +187,8 @@ import gnu.trove.set.hash.THashSet; */ class GraphExplorerImpl extends GraphExplorerImplBase implements Listener, GraphExplorer /*, IPostSelectionProvider*/ { + private static final Logger LOGGER = LoggerFactory.getLogger(GraphExplorerImpl.class); + private static class GraphExplorerPostSelectionProvider implements IPostSelectionProvider { private GraphExplorerImpl ge; @@ -1553,10 +1557,14 @@ class GraphExplorerImpl extends GraphExplorerImplBase implements Listener, Graph OpenStrategy os = new OpenStrategy(tree); os.addSelectionListener(SelectionListener.widgetSelectedAdapter(e -> { - resetSelectionFromWidget(); + ISelection s = resetSelectionFromWidget(); + if (s != null) { + LOGGER.trace("Fire selection change: {}", s); + selectionProvider.fireSelection(s); + } })); os.addPostSelectionListener(SelectionListener.widgetSelectedAdapter(e -> { - //System.out.println("OPENSTRATEGY: post selection changed: " + e); + LOGGER.trace("Fire post-selection change: {}", selectionProvider.getSelection()); resetSelectionFromWidgetAndFirePostSelection(true); }));