projects
/
minwii.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix problèmes d'aligement du curseur avec le pointeur.
[minwii.git]
/
src
/
app
/
eventutils.py
diff --git
a/src/app/eventutils.py
b/src/app/eventutils.py
index
1741579
..
c115c28
100755
(executable)
--- a/
src/app/eventutils.py
+++ b/
src/app/eventutils.py
@@
-28,6
+28,7
@@
$URL$
"""
import types
import pygame
"""
import types
import pygame
+from StringIO import StringIO
class _EventDispatcher :
def __init__(self) :
class _EventDispatcher :
def __init__(self) :
@@
-45,6
+46,18
@@
class _EventDispatcher :
listeners = self.registry.get(event.type, [])
for listener in listeners :
listener(event)
listeners = self.registry.get(event.type, [])
for listener in listeners :
listener(event)
+
+ def __repr__(self) :
+ out = StringIO()
+ keys = self.registry.keys()
+ keys.sort()
+ for k in keys :
+ print >> out, "event", k
+ for listener in self.registry[k] :
+ print >> out, listener.__name__
+ out.seek(0)
+ return out.read()
+
EventDispatcher = _EventDispatcher()
EventDispatcher = _EventDispatcher()
@@
-64,16
+77,14
@@
class EventInitializer(type):
if isinstance(v, types.FunctionType) and hasattr(v, '__islistener__') :
listener = getattr(self, k)
EventDispatcher.addEventListener(v.__eventtype__, listener)
if isinstance(v, types.FunctionType) and hasattr(v, '__islistener__') :
listener = getattr(self, k)
EventDispatcher.addEventListener(v.__eventtype__, listener)
- del v.__islistener__
- del v.__eventtype__
def ctor(self, *args, **kw) :
def ctor(self, *args, **kw) :
- init_listeners(self)
default_ctor = dict.get('__init__')
if not default_ctor :
super(cls, self).__init__(*args, **kw)
else :
default_ctor(self, *args, **kw)
default_ctor = dict.get('__init__')
if not default_ctor :
super(cls, self).__init__(*args, **kw)
else :
default_ctor(self, *args, **kw)
+ init_listeners(self)
cls.__init__ = ctor
cls.__init__ = ctor