| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- class StagedObject:
- """
- Use this class as a mixin to provide an interface for onStage/offStage objects.
- The idea here is that a DistributedObject could be present and active due to
- simple visibility, but we want to hide or otherwise disable it for some reason.
- """
- UNKNOWN = -1
- OFF = 0
- ON = 1
- def __init__(self, initState = UNKNOWN):
- """
- Only sets the initial state of this object. This will not
- call any "handle" functions.
- """
- self.__state = initState
- pass
- def goOnStage(self, *args, **kw):
- """
- If a stage switch is needed, the correct "handle" function
- will be called. Otherwise, nothing happens.
- """
- # This is the high level function that clients of
- # your class should call to set the on/off stage state.
- if not self.isOnStage():
- self.handleOnStage(*args, **kw)
- pass
- pass
- def handleOnStage(self):
- """
- Override this function to provide your on/off stage funcitionality.
- Don't forget to call down to this one, though.
- """
- self.__state = StagedObject.ON
- pass
- def goOffStage(self, *args, **kw):
- """
- If a stage switch is needed, the correct "handle" function
- will be called. Otherwise, nothing happens.
- """
- # This is the high level function that clients of
- # your class should call to set the on/off stage state.
- if not self.isOffStage():
- self.handleOffStage(*args, **kw)
- pass
- pass
- def handleOffStage(self):
- """
- Override this function to provide your on/off stage funcitionality.
- Don't forget to call down to this one, though.
- """
- self.__state = StagedObject.OFF
- pass
- def isOnStage(self):
- return self.__state == StagedObject.ON
- def isOffStage(self):
- return self.__state == StagedObject.OFF
|