1 """GNUMed GUI element brokerage
2
3 This module provides wrappers for the equivalent of global
4 variables needed for a gnumed GUI client interface
5
6 @author: Dr. Horst Herb
7 @version: 0.2
8 @copyright: GPL v2 or later
9 """
10
11
12
13 __version__ = "$Revision: 1.4 $"
14 __author__ = "H.Herb <hherb@gnumed.net>, H.Berger <Hilmar.Berger@gmx.de>"
15
16 if __name__ == '__main__':
17 _ = lambda x:x
18
19
20
21
22 config = {'main.use_notebook':1, 'main.shadow.colour':(131, 129, 131), 'main.shadow.width':10}
23
24
26 "Wrapper for global objects needed by GNUMmed GUI clients"
27
28
29
30
31
32
33
34
35 __objects = {}
36 __keycounter=0
37
38
41
42
62
63
64
66 "allows to retrieve a gnumed gui element; see addobject() regarding the key parameter"
67 return GuiBroker.__objects[key]
68
71
72
73
75 " returns a list of all keys; see documentation for the dictionary data type"
76 return GuiBroker.__objects.keys()
77
78
79
81 "returns a list of all values; see documentation for the dictionary data type"
82 return GuiBroker.__objects.values()
83
84
85
87 "returns a list of all key:value pairs; see documentation for the dictionary data type"
88 return GuiBroker.__objects.items()
89
90
91
93 "Allows retrieving the value via value = instance[key]"
94 return self.getobject(key)
95
96
97
99 "Allows access in the style of instance[key]=value"
100 return self.addobject(object, key)
101
102
103
104 if __name__ == "__main__":
105 print '>>> gmGuiBroker.GuiBroker test'
106 test = GuiBroker()
107
108 print '>>> test.addobject("something", 3)'
109 var = test.addobject("something", 3)
110 print var, "\n"
111
112 print '>>> test.addobject("something else without a specified key")'
113 var = test.addobject("something else without a specified key")
114 print var, "\n"
115
116 print '>>> test.addobject(test)'
117 testreference = test.addobject(test)
118 print testreference, "\n"
119
120 print '>>> test.addobject(100, "hundred)'
121 var = test.addobject(100, "hundred")
122 print var, "\n"
123
124 print ">>> test.keylist()"
125 var = test.keylist()
126 print var, "\n"
127
128 print ">>> test.valuelist()"
129 var = test.valuelist()
130 print var, "\n"
131
132 print ">>> test.itemlist()"
133 var = test.itemlist()
134 print var, "\n"
135
136 print ">>> test[3]"
137 var = test[3]
138 print var, "\n"
139
140 print ">>> test[testreference].getobject('hundred')"
141 var = test[testreference].getobject('hundred')
142 print var, "\n"
143
144 print ">>> var = test[testreference]"
145 var = test[testreference]
146 print var, "\n"
147
148 print ">>> var = var['hundred']"
149 var = var['hundred']
150 print var, "\n"
151
152 print '>>> try: test.addobject["duplicate key", 3]'
153 print '>>> except KeyError: print "Duplicate keys not allowed!"'
154 try: test["duplicate key", 3]
155 except KeyError: print "Duplicate keys not allowed!"
156
157 print ">>> test['key']='value'"
158 test['key']='value'
159 print test['key']
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199