21 : m_ActiveInteractionScheme(MITK), m_ActiveMouseMode(MousePointer), m_CurrentObserver(nullptr)
23 this->InitializeListeners();
29 m_ServiceRegistration.Unregister();
32 void mitk::MouseModeSwitcher::InitializeListeners()
34 if (m_CurrentObserver.IsNull())
37 m_CurrentObserver->LoadStateMachine(
"DisplayInteraction.xml");
38 m_CurrentObserver->SetEventConfig(
"DisplayConfigMITK.xml");
41 props[
"name"] = std::string(
"DisplayInteractor");
42 m_ServiceRegistration =
53 m_CurrentObserver->SetEventConfig(
"DisplayConfigMITK.xml");
58 m_CurrentObserver->SetEventConfig(
"DisplayConfigPACS.xml");
64 m_CurrentObserver->SetEventConfig(
"DisplayConfigMITKRotationUnCoupled.xml");
70 m_CurrentObserver->SetEventConfig(
"DisplayConfigMITKRotation.xml");
76 m_CurrentObserver->SetEventConfig(
"DisplayConfigMITKSwivel.xml");
80 m_ActiveInteractionScheme = scheme;
81 this->InvokeEvent(MouseModeChangedEvent());
86 if (m_ActiveInteractionScheme !=
PACS)
93 m_CurrentObserver->SetEventConfig(
"DisplayConfigPACS.xml");
98 m_CurrentObserver->AddEventConfig(
"DisplayConfigPACSScroll.xml");
104 m_CurrentObserver->AddEventConfig(
"DisplayConfigPACSLevelWindow.xml");
109 m_CurrentObserver->AddEventConfig(
"DisplayConfigPACSZoom.xml");
114 m_CurrentObserver->AddEventConfig(
"DisplayConfigPACSPan.xml");
118 m_ActiveMouseMode = mode;
119 this->InvokeEvent(MouseModeChangedEvent());
124 return m_ActiveMouseMode;
Base class to implement InteractionEventObservers.
ServiceRegistrationU RegisterService(const InterfaceMap &service, const ServiceProperties &properties=ServiceProperties())
void SetInteractionScheme(InteractionScheme)
Setter for interaction scheme.
~MouseModeSwitcher() override
US_UNORDERED_MAP_TYPE< std::string, Any > ServiceProperties
MouseMode GetCurrentMouseMode() const
Returns the current mouse mode.
static ModuleContext * GetModuleContext()
Returns the module context of the calling module.
void SelectMouseMode(MouseMode mode)
Setter for mouse mode.