- the 'mitkMouseModeSwitcher' does not only change the mouse mode but also the interaction scheme and initializes an mitkDisplayInteractor and registers it as 'InteractionEventObserver'-service.
- too much responsibilities for the single class
- service registration can happen in the broadcast (service) class itself
- documentation does not fit the implementation
Revisions and Commits
|Restricted Differential Revision||rMITKf9c2a71bbd48 Cherry-picked old changes: Remove-MouseModeSwitcher|
|Restricted Differential Revision||rMITKa60c5e2bbe43 Update documentation|
|Restricted Differential Revision||rMITKf5fcb97a9b9a Remove QmitkMouseModeSwitcher|
|Restricted Differential Revision||rMITKc6b621d0ab99 Adjust test helper to directly work with an interaction observer|
|Restricted Differential Revision||rMITKd7f117e6e229 Remove files|
|Restricted Differential Revision||rMITKf4bda3336afa Modify replacing mitkInteractionSchemeSwitcher|
- Mentioned In
- T28713: 2021 Week 39 (Very Early October)
T27033: Clean up stale remote branches
T24356: Rework mouse mode switcher
T24358: Rework QmitkMouseModeSwitcher
- Mentioned Here
- T24368: Interaction scheme has different level of interaction
rMITK9ab09bff137b: Add interaction scheme toolbar, extend multi widget configuration toolbar
A new class, the InteractionSchemeSwitcher has already been introduced in 9ab09bff137b. This class is used as a replacement for the MouseModeSwitcher. It it a simplified and cleaned version which reduces the responsibilities of the class: The service registration has been removed and is now done inside QmitkAbstractMultiWidget and DisplayActionEventBroadcast.
Additionally, the scheme switcher is adjusted to match the new scheme config files (see T24368): There is no difference anymore between a mouse mode and an interaction scheme (see T24368).
The new scheme switcher is used within the QmitkInteractionScheme and is currently tested with the QmitkAbstractMultiWidget.
This task / branch was never merged into master; the mentioned BlackSwan task T26476 is still not contained in master / develop.
For reasons of cleanliness I will open a new branch / differential containing just the changes related to this task such that we can merge the new branch into develop and close this task.
@s434n will help me evaluate the relevance / validity of the changes.