X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.diagram%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fui%2FWorkbenchSelectionProvider.java;fp=bundles%2Forg.simantics.diagram%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fui%2FWorkbenchSelectionProvider.java;h=6609ba24b155d1be1b508a566812274779432819;hp=5f46a373b2ecefbf85192cbb5be8380c4bee79a9;hb=f060a683d7907316ebb03c9fc95f7ba0ce52ee91;hpb=ef12da1a6651051f3674b593a732d253c9ea4461 diff --git a/bundles/org.simantics.diagram/src/org/simantics/diagram/ui/WorkbenchSelectionProvider.java b/bundles/org.simantics.diagram/src/org/simantics/diagram/ui/WorkbenchSelectionProvider.java index 5f46a373b..6609ba24b 100644 --- a/bundles/org.simantics.diagram/src/org/simantics/diagram/ui/WorkbenchSelectionProvider.java +++ b/bundles/org.simantics.diagram/src/org/simantics/diagram/ui/WorkbenchSelectionProvider.java @@ -99,10 +99,8 @@ public class WorkbenchSelectionProvider extends AbstractCanvasParticipant implem } super.removedFromContext(ctx); } - - @HintListener(Class = Selection.class, Field = "SELECTION0") - public void hintChanged(IHintObservable sender, Key key, Object oldValue, Object newValue) { - Iterable selection = (Iterable) newValue; + + public void fireSelection(Iterable selection) { final ISelection s = constructAdaptableSelection(selection); swt.asyncExec(new Runnable() { @Override @@ -114,18 +112,16 @@ public class WorkbenchSelectionProvider extends AbstractCanvasParticipant implem }); } + @HintListener(Class = Selection.class, Field = "SELECTION0") + public void hintChanged(IHintObservable sender, Key key, Object oldValue, Object newValue) { + Iterable selection = (Iterable) newValue; + fireSelection(selection); + } + @HintListener(Class = Selection.class, Field = "SELECTION0") public void hintRemoved(IHintObservable sender, Key key, Object oldValue) { //System.out.println("selection removed: " + oldValue); - final ISelection s = constructAdaptableSelection(Collections.emptyList()); - swt.asyncExec(new Runnable() { - @Override - public void run() { - currentSelection = s; - fireSelectionChanged(s); - schedulePostSelectionChanged(s); - } - }); + fireSelection(Collections.emptyList()); } // Post selection changed scheduling helper.