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.
Additionally a "GetCurrentSelection()"-function of the QmitkAbstractView class exists. This functions returns the selection of the active part. In order to return something, 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.)
Using 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.
In order to use the active nodes and not always the data manager nodes, the 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, that a plugin that uses an own selection provider other than a 'QmitkDataNodeSelectionProvider' cannot access its active selection and a different data node selection.