1 #ifndef __eventdispatcher
2 #define __eventdispatcher
4 #include "eventhandler.hh"
10 typedef std::map<unsigned int, OtkEventHandler *> OtkEventMap;
12 class OtkEventDispatcher {
16 virtual ~OtkEventDispatcher();
18 virtual void clearAllHandlers(void);
19 virtual void registerHandler(Window id, otk::OtkEventHandler *handler);
20 virtual void clearHandler(Window id);
21 virtual void dispatchEvents(void);
23 inline void setFallbackHandler(otk::OtkEventHandler *fallback)
24 { _fallback = fallback; }
25 otk::OtkEventHandler *getFallbackHandler(void) const { return _fallback; }
27 //! Sets an event handler that gets all events for all handlers after
28 //! any specific handlers have received them
29 inline void setMasterHandler(otk::OtkEventHandler *master)
31 otk::OtkEventHandler *getMasterHandler(void) const { return _master; }
33 otk::OtkEventHandler *findHandler(Window win);
35 inline Time lastTime() const { return _lasttime; }
39 OtkEventHandler *_fallback;
40 OtkEventHandler *_master;
42 //! The time at which the last XEvent with a time was received
45 void dispatch(Window win, const XEvent &e);
46 void dispatchFocus(const XEvent &e);