Usability fixes for GraphExplorerImpl -related WB selection propagation 33/2433/5
authorTuukka Lehtonen <tuukka.lehtonen@semantum.fi>
Thu, 8 Nov 2018 09:51:17 +0000 (11:51 +0200)
committerJani Simomaa <jani.simomaa@semantum.fi>
Thu, 8 Nov 2018 12:31:53 +0000 (12:31 +0000)
commit270834ce3962a4bca3945d06e642a99d21688c16
tree1b9447815786692d43d26c33da5f808fda99456a
parent79b952a1ea3ae3f299c6d7aa612a98b7ae5db51a
Usability fixes for GraphExplorerImpl -related WB selection propagation

GraphExplorerImpl now uses JFace's OpenStrategy to implement the post
selection provider mechanism which should work just like in JFace
Viewers.

SWTExplorer no longer listens to both selection and postSelection
changes, which caused large amounts of unnecessary selection propagation
to happen. It listens to postSelection if IPostSelectionProvider is
available and selection if not.

ModelledView did not implement IPostSelectionProvider at all and
provided just an ISelectionProvider to the workbench. This partially
caused other parts, like the property view to always react to model
browser selection changes via immediate selection events instad of post
selection events.

The important lesson here is to just listen to either postSelection or
selection, not both.

gitlab #184
gitlab #185

Change-Id: I57fd7b6663bfa06f05105f6fa01e8d9a710c0ce0
bundles/org.simantics.browsing.ui.platform/src/org/simantics/browsing/ui/platform/PropertyPageView.java
bundles/org.simantics.browsing.ui.swt/src/org/simantics/browsing/ui/swt/GraphExplorerImpl.java
bundles/org.simantics.browsing.ui.swt/src/org/simantics/browsing/ui/swt/UpdateRunner.java
bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/jface/BasePostSelectionProvider.java
bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/jface/BaseSelectionProvider.java
bundles/org.simantics.views.swt.client/src/org/simantics/views/swt/client/impl/SWTExplorer.java
bundles/org.simantics.views.swt/META-INF/MANIFEST.MF
bundles/org.simantics.views.swt/src/org/simantics/views/swt/ModelledView.java