diff engine/core/eventchannel/eventchannel.i @ 157:bb9902910067

input_rework merged! Bad features: * Broken DND for zero-projekt. * Design short-comings.
author phoku@33b003aa-7bff-0310-803a-e67f0ece8222
date Tue, 14 Oct 2008 07:41:48 +0000
parents 90005975cdbb
children 64738befdf3b
line wrap: on
line diff
--- a/engine/core/eventchannel/eventchannel.i	Sun Oct 12 20:30:09 2008 +0000
+++ b/engine/core/eventchannel/eventchannel.i	Tue Oct 14 07:41:48 2008 +0000
@@ -29,12 +29,11 @@
 #include "eventchannel/key/ec_key.h"
 #include "eventchannel/key/ec_keyevent.h"
 #include "eventchannel/key/ec_ikeylistener.h"
+#include "eventchannel/key/ec_ikeyfilter.h"
 #include "eventchannel/source/ec_eventsourcetypes.h"
 #include "eventchannel/source/ec_ieventsource.h"
 #include "eventchannel/mouse/ec_mouseevent.h"
 #include "eventchannel/mouse/ec_imouselistener.h"
-#include "eventchannel/widget/ec_widgetevent.h"
-#include "eventchannel/widget/ec_iwidgetlistener.h"
 #include "eventchannel/eventmanager.h"
 %}
 
@@ -168,19 +167,11 @@
 		virtual ~IMouseListener();
 	};
 
-	class WidgetEvent: public Event {
+	%feature("director") IKeyFilter;
+	class IKeyFilter {
 	public:
-		virtual const std::string& getId();
-		virtual ~WidgetEvent();
-	private:
-		WidgetEvent();
-	};
-
-	%feature("director") IWidgetListener;
-	class IWidgetListener {
-	public:
-		virtual void onWidgetAction(WidgetEvent& evt) = 0;
-		virtual ~IWidgetListener();
+		virtual bool isFiltered(const KeyEvent& evt) = 0;
+		virtual ~IKeyFilter();
 	};
 
 	class EventManager {
@@ -193,11 +184,8 @@
 		void removeKeyListener(IKeyListener* listener);
 		void addMouseListener(IMouseListener* listener);
 		void removeMouseListener(IMouseListener* listener);
-		void addWidgetListener(IWidgetListener* listener);
-		void removeWidgetListener(IWidgetListener* listener);
 		EventSourceType getEventSourceType();
 		void dispatchCommand(Command& command);
-		void setNonConsumableKeys(const std::vector<int>& keys);
-		std::vector<int> getNonConsumableKeys();
+		void setKeyFilter(IKeyFilter* keyFilter);
 	};
 };