The MatchPoint-Framework gets its input data nodes via the 'GetDataManagerSelection()'-function of the QmitkAbstractView-Base class (so do other plugins, e.g. diffusionimaging, imagecropper, ...).
The selection returned contains the selected nodes from the data manager plugin.
Using the RenderWindowManager insteadAdditionally a "GetCurrentSelection()"-function of the DataManager for BlackSwan,QmitkAbstractView class exists. we can useThis functions returns the RenderWindowManager as a SelectionProviderselection of the active part. Selecting a row / rows in the RenderWindowManager will make the nodes in those rows be the current selection.In order to return something, In this case, the MatchPoint-Framework needs to get its input data nodes via the "GetCurrentSelection()"-function of the QmitkAbstractView-Base class.this active part has to use its own selection provider.
(Currently as far as I can see only the 'QmitkMatchPointBrowser'-class and the 'QmitkDataManagerView'-class use their own selection provider or use the default selection provider and support this provider with an own selection model.)
As I'm not sure if this is the intended use of the "GetCurrentSelection()" we should discuss this design changeUsing the RenderWindowManager instead of the DataManager for BlackSwan, we can use our own selection provider for data nodes. Selecting a row / rows in the RenderWindowManager will make the nodes in those rows be the active selection.
The problem is that this changes only the active selection ('GetCurrentSelection()') and not the data manager selection ('GetDataManagerSelection()'). I tried several ways to utilize the QmitkAbstractView-API to send the active data node selection to the data manager selection, but I wasn't satisfied with the solutions.
Alternatively I accomplished to implement the functionality to set the data manager selection by selecting a row / rows in the RenderWindowMananger.In order to use the active nodes and not always the data manager nodes, Bus as this needs some changes in org.blueberry.ui.qt-plugin and in the org.mitk.gui.qt.commom-pluginthe MatchPoint-Framework needs to get its input data nodes via the "GetCurrentSelection()"-function of the QmitkAbstractView-Base class.
This would make the 'GetDataManagerSelection()'-function superfluous.
One drawback of this could be, I want to get your opinion on thisthat a plugin that uses an own selection provider other than a 'QmitkDataNodeSelectionProvider' cannot access its active selection and a different data node selection.