DirectObject.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. # print "Destructing: ", self.__class__.__name__
  11. try:
  12. self.cleanup()
  13. except AttributeError:
  14. # No cleanup() method defined
  15. pass
  16. # Event Handling
  17. # object.accept('mouse', object.handleMouse)
  18. # object.accept('mouse', object.handleMouse, [1,2])
  19. def accept(self, event, method, extraArgs=[]):
  20. messenger.accept(event, self, method, extraArgs, 1)
  21. def acceptOnce(self, event, method, extraArgs=[]):
  22. messenger.accept(event, self, method, extraArgs, 0)
  23. def ignore(self, event):
  24. messenger.ignore(event, self)
  25. def ignoreAll(self):
  26. messenger.ignoreAll(self)
  27. def isAccepting(self, event):
  28. return messenger.isAccepting(event, self)
  29. def isIgnoring(self, event):
  30. return messenger.isIgnoring(event, self)