From e53fbcf092c40b22ccc4c5f23795e12c9862c338 Mon Sep 17 00:00:00 2001 From: Marius Nita Date: Sat, 16 Nov 2002 02:11:44 +0000 Subject: event handling classes --- otk/eventdispatcher.hh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 otk/eventdispatcher.hh (limited to 'otk/eventdispatcher.hh') diff --git a/otk/eventdispatcher.hh b/otk/eventdispatcher.hh new file mode 100644 index 00000000..5e7a1fe4 --- /dev/null +++ b/otk/eventdispatcher.hh @@ -0,0 +1,35 @@ +#ifndef __eventdispatcher +#define __eventdispatcher + +#include "eventhandler.hh" +#include +#include + +namespace otk { + +typedef std::map OtkEventMap; + +class OtkEventDispatcher { +public: + + OtkEventDispatcher(); + virtual ~OtkEventDispatcher(); + + virtual void clearAllHandlers(void); + virtual void registerHandler(Window id, OtkEventHandler *handler); + virtual void clearHandler(Window id); + virtual void dispatchEvents(void); + + inline void setFallbackHandler(OtkEventHandler *fallback) + { _fallback = fallback; } + OtkEventHandler *getFallbackHandler(void) const { return _fallback; } + +private: + OtkEventMap _map; + OtkEventHandler *_fallback; + +}; + +} + +#endif -- cgit v1.2.3