DirectObject.py 903 B

123456789101112131415161718192021222324252627282930313233
  1. from MessengerGlobal import *
  2. from DirectNotifyGlobal import *
  3. class DirectObject:
  4. """
  5. This is the class that all Direct/SAL classes should inherit from
  6. """
  7. def __del__(self):
  8. """__del__(self)
  9. """
  10. try:
  11. self.cleanup()
  12. except NameError:
  13. print "No cleanup() method defined!"
  14. # Event Handling
  15. # object.accept('mouse', object.handleMouse)
  16. # object.accept('mouse', object.handleMouse, [1,2])
  17. def accept(self, event, method, extraArgs=[]):
  18. messenger.accept(event, self, method, extraArgs, 1)
  19. def acceptOnce(self, event, method, extraArgs=[]):
  20. messenger.accept(event, self, method, extraArgs, 0)
  21. def ignore(self, event):
  22. messenger.ignore(event, self)
  23. def isAccepting(self, event):
  24. return messenger.isAccepting(event, self)
  25. def isIgnoring(self, event):
  26. return messenger.isIgnoring(event, self)