nommage des événements.
authorpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Mon, 12 Apr 2010 15:45:40 +0000 (15:45 +0000)
committerpin <pin@fe552daf-6dbe-4428-90eb-1537e0879342>
Mon, 12 Apr 2010 15:45:40 +0000 (15:45 +0000)
git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@139 fe552daf-6dbe-4428-90eb-1537e0879342

src/app/events.py
src/app/eventutils.py

index 02444b0..8e13a85 100755 (executable)
@@ -1,8 +1,35 @@
-from pygame.locals import USEREVENT
-TIMEOUT = USEREVENT + 1
-NOTEON = USEREVENT + 2
-NOTEOFF = USEREVENT + 3
-NOTEEND = USEREVENT + 4
-COLDOWN = USEREVENT + 5
-COLUP = USEREVENT + 6
-COLOVER = USEREVENT + 7
\ No newline at end of file
+import pygame
+from sys import modules
+
+events = ['TIMEOUT', 'NOTEON', 'NOTEOFF', 'NOTEEND', 'COLDOWN', 'COLUP', 'COLOVER']
+eventNames = {}
+self = modules[__name__]
+
+for i, name in enumerate(events) :
+    eventType = pygame.USEREVENT+i
+    eventNames[eventType] = name
+    setattr(self, name, eventType)
+
+pygame_events = [
+    'NOEVENT',
+    'ACTIVEEVENT',
+    'KEYDOWN',
+    'KEYUP',
+    'MOUSEMOTION',
+    'MOUSEBUTTONDOWN',
+    'MOUSEBUTTONUP',
+    'JOYAXISMOTION',
+    'JOYBALLMOTION',
+    'JOYHATMOTION',
+    'JOYBUTTONDOWN',
+    'JOYBUTTONUP',
+    'VIDEORESIZE',
+    'VIDEOEXPOSE',
+    'QUIT',
+    'SYSWMEVENT',
+    'USEREVENT',
+    'NUMEVENTS'
+    ]
+
+for name in pygame_events :
+    eventNames[getattr(pygame, name)] = name
index 1172794..e45d5a3 100755 (executable)
@@ -31,8 +31,14 @@ import pygame
 from StringIO import StringIO
 from logging import getLogger, basicConfig, DEBUG
 import sys
+from events import TIMEOUT, COLOVER, eventNames
 basicConfig(level=DEBUG, stream = sys.stdout)
-console = getLogger('minwii.eventutils')
+console = getLogger('minwii')
+eventLog = getLogger('minwii.events')
+
+hiddenEvents = {pygame.MOUSEMOTION:True,
+                TIMEOUT:True,
+                COLOVER:True,}
 
 class _EventDispatcher :
     def __init__(self) :
@@ -54,6 +60,8 @@ class _EventDispatcher :
         events = pygame.event.get()
         for event in events :
             listeners = self.registry.get(event.type, {})
+            if listeners and not hiddenEvents.has_key(event.type) :
+                eventLog.info((eventNames.get(event.type, event.type), event))
             for listener in listeners.keys() :
                 listener(event)
 
@@ -105,8 +113,3 @@ class EventInitializer(type):
 
 class EventHandlerMixin(object) :
     __metaclass__ = EventInitializer
-    
-    #def input(self) :
-    #    event = pygame.event.wait()
-    #    handler = getattr(self, 'eventHandler%s' % event.type, lambda e:None)
-    #    handler(event)