diff engine/extensions/pychan/widgets.py @ 164:5b04a7d3ded6

typo fix some missing event (de)registrations ability to capture one event multiple times (instead of only having one slot, we have groups and each group has an own slot, the default group is "default" so we are backward compatible
author spq@33b003aa-7bff-0310-803a-e67f0ece8222
date Wed, 15 Oct 2008 14:57:04 +0000
parents c305c5eda7ed
children 81a222e7bd25
line wrap: on
line diff
--- a/engine/extensions/pychan/widgets.py	Wed Oct 15 09:13:59 2008 +0000
+++ b/engine/extensions/pychan/widgets.py	Wed Oct 15 14:57:04 2008 +0000
@@ -166,7 +166,7 @@
 				return False
 		return True
 
-	def capture(self, callback, event_name="action"):
+	def capture(self, callback, event_name="action", group_name="default"):
 		"""
 		Add a callback to be executed when the widget event occurs on this widget.
 		
@@ -180,7 +180,7 @@
 		@param callback: Event callback - may accept keyword arguments event and widget.
 		@paran event_name: The event to capture - may be one of L{events.EVENTS} and defaults to "action"
 		"""
-		self.event_mapper.capture( event_name, callback )
+		self.event_mapper.capture( event_name, callback, group_name )
 
 	def isCaptured(self):
 		"""
@@ -340,11 +340,11 @@
 
 		"""
 		for descr,func in eventMap.items():
-			name, event_name = events.splitEventDescriptor(descr)
-			print name, event_name
+			name, event_name, group_name = events.splitEventDescriptor(descr)
+			print name, event_name, group_name
 			widget = self.findChild(name=name)
 			if widget:
-				widget.capture( func, event_name = event_name )
+				widget.capture( func, event_name = event_name, group_name = group_name )
 			elif not ignoreMissing:
 				raise RuntimeError("No widget with the name: %s" % name)