|
@@ -25,24 +25,28 @@ class Data(Subject):
|
|
|
def __init__(self, name=''):
|
|
|
Subject.__init__(self)
|
|
|
self.name = name
|
|
|
- self.data = 0
|
|
|
-
|
|
|
- def setData(self, data):
|
|
|
- self.data = data
|
|
|
+ self._data = 0
|
|
|
+
|
|
|
+ @property
|
|
|
+ def data(self):
|
|
|
+ return self._data
|
|
|
+
|
|
|
+ @data.setter
|
|
|
+ def data(self, value):
|
|
|
+ self._data = value):
|
|
|
self.notify()
|
|
|
|
|
|
- def getData(self):
|
|
|
- return self.data
|
|
|
-
|
|
|
|
|
|
class HexViewer:
|
|
|
def update(self, subject):
|
|
|
- print('HexViewer: Subject %s has data 0x%x' % (subject.name, subject.getData()))
|
|
|
+ print('HexViewer: Subject %s has data 0x%x' %
|
|
|
+ (subject.name, subject.data))
|
|
|
|
|
|
|
|
|
class DecimalViewer:
|
|
|
def update(self, subject):
|
|
|
- print('DecimalViewer: Subject %s has data %d' % (subject.name, subject.getData()))
|
|
|
+ print('DecimalViewer: Subject %s has data %d' %
|
|
|
+ (subject.name, subject.data))
|
|
|
|
|
|
|
|
|
# Example usage...
|
|
@@ -57,20 +61,20 @@ def main():
|
|
|
data2.attach(view1)
|
|
|
|
|
|
print("Setting Data 1 = 10")
|
|
|
- data1.setData(10)
|
|
|
+ data1.data(10)
|
|
|
print("Setting Data 2 = 15")
|
|
|
- data2.setData(15)
|
|
|
+ data2.data(15)
|
|
|
print("Setting Data 1 = 3")
|
|
|
- data1.setData(3)
|
|
|
+ data1.data(3)
|
|
|
print("Setting Data 2 = 5")
|
|
|
- data2.setData(5)
|
|
|
+ data2.data(5)
|
|
|
print("Detach HexViewer from data1 and data2.")
|
|
|
data1.detach(view2)
|
|
|
data2.detach(view2)
|
|
|
print("Setting Data 1 = 10")
|
|
|
- data1.setData(10)
|
|
|
+ data1.data(10)
|
|
|
print("Setting Data 2 = 15")
|
|
|
- data2.setData(15)
|
|
|
+ data2.data(15)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
main()
|