MCPcopy Create free account
hub / github.com/MITK/MITK / GetButtonState

Function GetButtonState

Modules/Core/src/Interactions/mitkEventFactory.cpp:52–104  ·  view source on GitHub ↗

* @brief GetEventButton Return EventButton as String * @param event * @return */

Source from the content-addressed store, hash-verified

50 * @return
51 */
52static std::string GetButtonState(mitk::InteractionEvent *event)
53{
54 mitk::InteractionEvent::MouseButtons buttonState = mitk::InteractionEvent::NoButton;
55 std::string eventClass = event->GetNameOfClass();
56 std::transform(eventClass.cbegin(), eventClass.cend(), eventClass.begin(), ::toupper);
57
58 std::string strButtonState = "";
59 if (eventClass == "MOUSEPRESSEVENT")
60 {
61 auto *mme = dynamic_cast<mitk::MousePressEvent *>(event);
62 buttonState = mme->GetButtonStates();
63 }
64 if (eventClass == "MOUSERELEASEEVENT")
65 {
66 auto *mme = dynamic_cast<mitk::MouseReleaseEvent *>(event);
67 buttonState = mme->GetButtonStates();
68 }
69 if (eventClass == "MOUSEDOUBLECLICKEVENT")
70 {
71 auto *mme = dynamic_cast<mitk::MouseDoubleClickEvent *>(event);
72 buttonState = mme->GetButtonStates();
73 }
74 if (eventClass == "MOUSEMOVEEVENT")
75 {
76 auto *mme = dynamic_cast<mitk::MouseMoveEvent *>(event);
77 buttonState = mme->GetButtonStates();
78 }
79 if (eventClass == "MOUSEWHEELEVENT")
80 {
81 auto *mme = dynamic_cast<mitk::MouseWheelEvent *>(event);
82 buttonState = mme->GetButtonStates();
83 }
84
85 if (buttonState & mitk::InteractionEvent::LeftMouseButton)
86 {
87 strButtonState = "LeftMouseButton";
88 }
89 if (buttonState & mitk::InteractionEvent::RightMouseButton)
90 {
91 if (strButtonState != "")
92 strButtonState += ",";
93
94 strButtonState += "RightMouseButton";
95 }
96 if (buttonState & mitk::InteractionEvent::MiddleMouseButton)
97 {
98 if (strButtonState != "")
99 strButtonState += ",";
100
101 strButtonState += "MiddleMouseButton";
102 }
103 return strButtonState;
104}
105
106/**
107 * @brief GetModifierState Return ModifierState as String

Callers 2

eventMethod · 0.85
EventToXMLMethod · 0.85

Calls 3

GetNameOfClassMethod · 0.45
beginMethod · 0.45
GetButtonStatesMethod · 0.45

Tested by

no test coverage detected