diff options
Diffstat (limited to 'src/FbTk/EventManager.cc')
-rw-r--r-- | src/FbTk/EventManager.cc | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/src/FbTk/EventManager.cc b/src/FbTk/EventManager.cc index 223b004..05d95c4 100644 --- a/src/FbTk/EventManager.cc +++ b/src/FbTk/EventManager.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: EventManager.cc,v 1.1 2002/11/27 21:41:13 fluxgen Exp $ | 22 | // $Id: EventManager.cc,v 1.2 2002/12/01 13:42:14 rathnor Exp $ |
23 | 23 | ||
24 | #include "EventManager.hh" | 24 | #include "EventManager.hh" |
25 | 25 | ||
@@ -29,64 +29,64 @@ using namespace std; | |||
29 | namespace FbTk { | 29 | namespace FbTk { |
30 | 30 | ||
31 | EventManager *EventManager::instance() { | 31 | EventManager *EventManager::instance() { |
32 | static EventManager ev; | 32 | static EventManager ev; |
33 | return &ev; | 33 | return &ev; |
34 | } | 34 | } |
35 | 35 | ||
36 | EventManager::~EventManager() { | 36 | EventManager::~EventManager() { |
37 | if (m_eventhandlers.size() != 0) | 37 | if (m_eventhandlers.size() != 0) |
38 | cerr<<"FbTk::EventManager: Warning: unregistered eventhandlers!"<<endl; | 38 | cerr<<"FbTk::EventManager: Warning: unregistered eventhandlers!"<<endl; |
39 | } | 39 | } |
40 | 40 | ||
41 | void EventManager::handleEvent(XEvent &ev) { | 41 | void EventManager::handleEvent(XEvent &ev) { |
42 | // find eventhandler for event window | 42 | // find eventhandler for event window |
43 | if (m_eventhandlers.find(ev.xany.window) == m_eventhandlers.end()) { | 43 | if (m_eventhandlers.find(ev.xany.window) == m_eventhandlers.end()) { |
44 | cerr<<"Can't find window="<<ev.xany.window<<endl; | 44 | cerr<<"Can't find window="<<ev.xany.window<<endl; |
45 | return; | 45 | return; |
46 | } | 46 | } |
47 | EventHandler *evhand = m_eventhandlers[ev.xany.window]; | 47 | EventHandler *evhand = m_eventhandlers[ev.xany.window]; |
48 | if (evhand == 0) { | 48 | if (evhand == 0) { |
49 | cerr<<"FbTk::EventManager: Warning: evhand == 0!"<<endl; | 49 | cerr<<"FbTk::EventManager: Warning: evhand == 0!"<<endl; |
50 | return; | 50 | return; |
51 | } | 51 | } |
52 | 52 | ||
53 | switch (ev.xany.type) { | 53 | switch (ev.xany.type) { |
54 | case KeyPress: | 54 | case KeyPress: |
55 | evhand->keyPressEvent(ev.xkey); | 55 | evhand->keyPressEvent(ev.xkey); |
56 | break; | 56 | break; |
57 | case KeyRelease: | 57 | case KeyRelease: |
58 | evhand->keyReleaseEvent(ev.xkey); | 58 | evhand->keyReleaseEvent(ev.xkey); |
59 | break; | 59 | break; |
60 | case ButtonPress: | 60 | case ButtonPress: |
61 | evhand->buttonPressEvent(ev.xbutton); | 61 | evhand->buttonPressEvent(ev.xbutton); |
62 | break; | 62 | break; |
63 | case ButtonRelease: | 63 | case ButtonRelease: |
64 | evhand->buttonReleaseEvent(ev.xbutton); | 64 | evhand->buttonReleaseEvent(ev.xbutton); |
65 | break; | 65 | break; |
66 | case MotionNotify: | 66 | case MotionNotify: |
67 | evhand->motionNotifyEvent(ev.xmotion); | 67 | evhand->motionNotifyEvent(ev.xmotion); |
68 | break; | 68 | break; |
69 | case Expose: | 69 | case Expose: |
70 | evhand->exposeEvent(ev.xexpose); | 70 | evhand->exposeEvent(ev.xexpose); |
71 | break; | 71 | break; |
72 | case EnterNotify: | 72 | case EnterNotify: |
73 | evhand->enterNotifyEvent(ev.xcrossing); | 73 | evhand->enterNotifyEvent(ev.xcrossing); |
74 | break; | 74 | break; |
75 | case LeaveNotify: | 75 | case LeaveNotify: |
76 | evhand->leaveNotifyEvent(ev.xcrossing); | 76 | evhand->leaveNotifyEvent(ev.xcrossing); |
77 | break; | 77 | break; |
78 | default: | 78 | default: |
79 | evhand->handleEvent(ev); | 79 | evhand->handleEvent(ev); |
80 | break; | 80 | break; |
81 | }; | 81 | }; |
82 | } | 82 | } |
83 | 83 | ||
84 | void EventManager::registerEventHandler(EventHandler &ev, Window win) { | 84 | void EventManager::registerEventHandler(EventHandler &ev, Window win) { |
85 | m_eventhandlers[win] = &ev; | 85 | m_eventhandlers[win] = &ev; |
86 | } | 86 | } |
87 | 87 | ||
88 | void EventManager::unregisterEventHandler(Window win) { | 88 | void EventManager::unregisterEventHandler(Window win) { |
89 | m_eventhandlers.erase(win); | 89 | m_eventhandlers.erase(win); |
90 | } | 90 | } |
91 | 91 | ||
92 | }; | 92 | }; |