commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue-common/src/events EventController.py


From: Jason Cater
Subject: gnue-common/src/events EventController.py
Date: Tue, 08 Jul 2003 12:18:33 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue-common
Branch:         
Changes by:     Jason Cater <address@hidden>    03/07/08 12:18:33

Modified files:
        src/events     : EventController.py 

Log message:
        moved the event caching logic out of Designer and into EventController 
as I realized this was causing a LOT of the weird designer behavior of late

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/events/EventController.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text

Patches:
Index: gnue-common/src/events/EventController.py
diff -c gnue-common/src/events/EventController.py:1.7 
gnue-common/src/events/EventController.py:1.8
*** gnue-common/src/events/EventController.py:1.7       Mon Jun  2 21:02:01 2003
--- gnue-common/src/events/EventController.py   Tue Jul  8 12:18:32 2003
***************
*** 49,58 ****
        except KeyError:
          self.__incomingEvents[event] = [events[event]]
  
  
    def dispatchEvent(self, event, *args, **parms):
!     # Hackery so dispatchEvent can be passed 
!     # either an Event() object, or a text string 
      # identifying the type of event.  If the
      # latter, an event is created on the fly.
      try:
--- 49,74 ----
        except KeyError:
          self.__incomingEvents[event] = [events[event]]
  
+   def startCachingEvents(self):
+     self.__cache = []
+ 
+   def stopCachingEvents(self):
+     cache = self.__cache
+     del self.__cache
+     for event, arg, parms in cache:
+       self.dispatchEvent(event, *arg, **parms)
  
    def dispatchEvent(self, event, *args, **parms):
! 
!     # If we are caching our events, cache it:
!     try:
!       self.__cache.append((event, args, parms))
!       return
!     except AttributeError:
!       pass
! 
!     # Hackery so dispatchEvent can be passed
!     # either an Event() object, or a text string
      # identifying the type of event.  If the
      # latter, an event is created on the fly.
      try:




reply via email to

[Prev in Thread] Current Thread [Next in Thread]