nommage des événements.
[minwii.git] / src / app / eventutils.py
index 969ad81..e45d5a3 100755 (executable)
@@ -6,7 +6,7 @@ l'implémentation des gestionnaires d'événements pygame.
 Utilisation :
 - hériter de EventHandlerMixin
 - décorer les méthodes gestionnaires d'événements avec le décorateur 'event_handler'
 Utilisation :
 - hériter de EventHandlerMixin
 - décorer les méthodes gestionnaires d'événements avec le décorateur 'event_handler'
-  en passant en paramètre le code d'événement pygame
+  en passant en paramètre un ou plusieurs codes d'événement pygame
 
 Il n'existe aucune contrainte sur le nommage de la méthode décorée.
 La méthode gestionnaire d'événement reçoit l'événement pygame comme unique paramètre.
 
 Il n'existe aucune contrainte sur le nommage de la méthode décorée.
 La méthode gestionnaire d'événement reçoit l'événement pygame comme unique paramètre.
@@ -31,8 +31,14 @@ import pygame
 from StringIO import StringIO
 from logging import getLogger, basicConfig, DEBUG
 import sys
 from StringIO import StringIO
 from logging import getLogger, basicConfig, DEBUG
 import sys
+from events import TIMEOUT, COLOVER, eventNames
 basicConfig(level=DEBUG, stream = sys.stdout)
 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) :
 
 class _EventDispatcher :
     def __init__(self) :
@@ -53,14 +59,12 @@ class _EventDispatcher :
     def dispatchEvents(self) :
         events = pygame.event.get()
         for event in events :
     def dispatchEvents(self) :
         events = pygame.event.get()
         for event in events :
-            #if event.type == pygame.MOUSEMOTION :
-            #    if hasattr(event, 'wiimoteid') :
-            #        console.info(event)
-            #        #return
-                    
             listeners = self.registry.get(event.type, {})
             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)
             for listener in listeners.keys() :
                 listener(event)
+
     def reset(self) :
         self.registry = {}
     
     def reset(self) :
         self.registry = {}
     
@@ -109,8 +113,3 @@ class EventInitializer(type):
 
 class EventHandlerMixin(object) :
     __metaclass__ = EventInitializer
 
 class EventHandlerMixin(object) :
     __metaclass__ = EventInitializer
-    
-    #def input(self) :
-    #    event = pygame.event.wait()
-    #    handler = getattr(self, 'eventHandler%s' % event.type, lambda e:None)
-    #    handler(event)