History for SampleUse
??changed:- <hr> <pre> #! /usr/bin/env python import Model import View import Controller import Reason import Event class ModelChanged(Reason.Reason): def __init__(self): """Construct the instance.""" Reason.Reason.__init__(self, "ModelChanged") return class NotUsed(Reason.Reason): def __init__(self): """Construct the instance.""" Reason.Reason.__init__(self, "NotUsed") return class Model1(Model.Model): def __init__(self, aValue): Model.Model.__init__(self) self.__value = aValue return def __del__(self): print "Model1.__del__" Model.Model.__del__(self) return def getValue(self): result = self.__value return result def setValue(self, aValue): self.__value = aValue self.notifyViews(ModelChanged()) return class View1(View.View): def __init__(self, aModel): self.notUsedEvent = Event.Event(NotUsed(), self.Callback(self.modelChanged)) View.View.__init__(self, aModel) return def __del__(self): print "View1.__del__" View.View.__del__(self) return def registerEvents(self): eventList = View.View.registerEvents(self) eventList.append(self.notUsedEvent) eventList.append(Event.Event(ModelChanged(), self.Callback(self.modelChanged))) return eventList def modelChanged(self, reason): print "View1.modelChanged" print self.getValue() return def getValue(self): return self.getModel().getValue() def modelDeleted(self, aReason): """Method that is invoked when the model is deleted.""" print "View1.modelDeleted" View.View.modelDeleted(self, aReason) return class Controller1(Controller.Controller): def __del__(self): print "Controller1.__del__" Controller.Controller.__del__(self) return def setValue(self, aValue): self.getModel().setValue(aValue) return def modelDeleted(self, aReason): """Method that is invoked when the model is deleted.""" print "Controller1.modelDeleted" Controller.Controller.modelDeleted(self, aReason) return def main(argv): model = Model1(41) v = View1(model) c = Controller1(model) print v.getValue() c.setValue(42) model.removeViewEvent(v, v.notUsedEvent) model.finished() return if __name__ == "__main__": import sys sys.exit(main(sys.argv) or 0) </pre> <hr>