16 |
# write to the Free Software Foundation, Inc., 59 Temple Place |
# write to the Free Software Foundation, Inc., 59 Temple Place |
17 |
# - Suite 330, Boston, MA 02111-1307, USA. |
# - Suite 330, Boston, MA 02111-1307, USA. |
18 |
# |
# |
19 |
# Copyright 2000-2002 Free Software Foundation |
# Copyright 2000-2003 Free Software Foundation |
20 |
# |
# |
21 |
# FILE: |
# FILE: |
22 |
# EventController.py |
# EventController.py |
30 |
import string |
import string |
31 |
|
|
32 |
from EventAware import EventAware |
from EventAware import EventAware |
33 |
|
from Event import Event |
34 |
|
|
35 |
class EventController(EventAware): |
class EventController(EventAware): |
36 |
|
|
50 |
self.__incomingEvents[event] = [events[event]] |
self.__incomingEvents[event] = [events[event]] |
51 |
|
|
52 |
|
|
53 |
def dispatchEvent(self, event): |
def dispatchEvent(self, event, *args, **parms): |
54 |
|
# Hackery so dispatchEvent can be passed |
55 |
|
# either an Event() object, or a text string |
56 |
|
# identifying the type of event. If the |
57 |
|
# latter, an event is created on the fly. |
58 |
|
try: |
59 |
|
event.__event__ |
60 |
|
except: |
61 |
|
event = Event(event, *args, **parms) |
62 |
|
|
63 |
#GDebug.printMesg(0, "Event: %s" % (event.__event__)) |
#GDebug.printMesg(0, "Event: %s" % (event.__event__)) |
64 |
try: |
try: |
65 |
handlers = self.__incomingEvents[event.__event__] |
handlers = self.__incomingEvents[event.__event__] |