1
2
3
4
5
6
7 __version__ = "$Revision: 1.35 $"
8 __author__ = "M.Bonert"
9 __license__ = "GPL"
10
11 import zlib, cPickle, sys
12
13
14 import wx
15
16
17 try:
18 _('dummy-no-need-to-translate-but-make-epydoc-happy')
19 except NameError:
20 _ = lambda x:x
21
22 ID_MENU = wx.NewId()
23 ID_EXIT = wx.NewId()
24
88
90 """
91 About GNUmed
92 """
93
94 icon_serpent='x\xdae\x8f\xb1\x0e\x83 \x10\x86w\x9f\xe2\x92\x1blb\xf2\x07\x96\xeaH:0\xd6\
95 \xc1\x85\xd5\x98N5\xa5\xef?\xf5N\xd0\x8a\xdcA\xc2\xf7qw\x84\xdb\xfa\xb5\xcd\
96 \xd4\xda;\xc9\x1a\xc8\xb6\xcd<\xb5\xa0\x85\x1e\xeb\xbc\xbc7b!\xf6\xdeHl\x1c\
97 \x94\x073\xec<*\xf7\xbe\xf7\x99\x9d\xb21~\xe7.\xf5\x1f\x1c\xd3\xbdVlL\xc2\
98 \xcf\xf8ye\xd0\x00\x90\x0etH \x84\x80B\xaa\x8a\x88\x85\xc4(U\x9d$\xfeR;\xc5J\
99 \xa6\x01\xbbt9\xceR\xc8\x81e_$\x98\xb9\x9c\xa9\x8d,y\xa9t\xc8\xcf\x152\xe0x\
100 \xe9$\xf5\x07\x95\x0cD\x95t:\xb1\x92\xae\x9cI\xa8~\x84\x1f\xe0\xa3ec'
101
102 - def __init__(self, parent, ID, title, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, version='???'):
103 wx.Frame.__init__(self, parent, ID, title, pos, size, style)
104
105 icon = wx.EmptyIcon()
106 icon.CopyFromBitmap(wx.BitmapFromXPMData(cPickle.loads(zlib.decompress(self.icon_serpent))))
107 self.SetIcon(icon)
108
109 box = wx.BoxSizer(wx.VERTICAL)
110 if wx.Platform == '__WXMAC__':
111 box.Add((0,0), 2)
112 else:
113 box.Add((0,0), 2)
114 intro_txt=wx.StaticText(self, -1, _("Monty the Serpent && the FSF Present"))
115 intro_txt.SetFont(wx.Font(10,wx.SWISS,wx.NORMAL,wx.NORMAL,False,''))
116 box.Add(intro_txt, 0, wx.ALIGN_CENTRE)
117 if wx.Platform == '__WXMAC__':
118 box.Add((0,0), 3)
119 else:
120 box.Add((0,0), 3)
121 gm_txt=wx.StaticText(self, -1, "GNUmed")
122 gm_txt.SetFont(wx.Font(30, wx.SWISS, wx.NORMAL, wx.NORMAL))
123 box.Add(gm_txt, 0, wx.ALIGN_CENTRE)
124
125 motto_txt=wx.StaticText(self, -1, _("Free eMedicine"))
126 motto_txt.SetFont(wx.Font(10,wx.SWISS,wx.NORMAL,wx.NORMAL,False,''))
127 box.Add(motto_txt, 0, wx.ALIGN_CENTRE)
128 if wx.Platform == '__WXMAC__':
129 box.Add((0,0), 4)
130 else:
131 box.Add((0,0), 4)
132 ver_txt=wx.StaticText(self, -1, _("Version %s brought to you by") % version)
133 ver_txt.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL))
134 box.Add(ver_txt, 0, wx.ALIGN_CENTRE)
135
136 admins_txt=wx.StaticText(self, -1, _("Drs Horst Herb && Karsten Hilbert"))
137 admins_txt.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL))
138 box.Add(admins_txt, 0, wx.ALIGN_CENTRE)
139
140 self.win=ScrollTxtWin(self)
141 box.Add(self.win, 0, wx.ALIGN_CENTRE)
142 if wx.Platform == '__WXMAC__':
143 box.Add((0,0), 1)
144 else:
145 box.Add((0,0), 1)
146 info_txt=wx.StaticText(self, -1, _("Please visit http://www.gnumed.org"))
147 info_txt.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL))
148 box.Add(info_txt, 0, wx.ALIGN_CENTRE)
149 if wx.Platform == '__WXMAC__':
150 box.Add((0,0), 1)
151 else:
152 box.Add((0,0), 1)
153 btn = wx.Button(self, ID_MENU , _("Close"))
154 box.Add(btn,0, wx.ALIGN_CENTRE)
155 if wx.Platform == '__WXMAC__':
156 box.Add((0,0), 1)
157 else:
158 box.Add((0,0), 1)
159 wx.EVT_BUTTON(btn, ID_MENU, self.OnClose)
160
161 self.SetAutoLayout(True)
162 self.SetSizer(box)
163 self.Layout()
164
166 self.win.timer.Stop ()
167 self.Destroy ()
168
170
171
172 contributors = _(
173 'The following people kindly contributed to GNUmed.\n'
174 'Please write to <gnumed-devel@gnu.org> to have your\n'
175 'contribution duly recognized in this list or to have\n'
176 'your name removed from it for, say, privacy reasons.\n\n'
177 'Note that this list is sorted alphabetically by last\n'
178 'name, first name. If the only identifier is an email\n'
179 'address it is sorted under the first character of\n'
180 'the user name.\n'
181 '%s'
182 ) % u"""
183 == B ===========================================
184
185 James Busser, MD
186 British Columbia
187
188 - test results handling
189 - documentation would be nothing without him
190 - encouragment
191 - testing on MacOSX
192
193 == F ===========================================
194
195 Joachim Fischer
196 GP Fischer + Lintz
197 Fachärzte Allgemeinmedizin
198 Wolfschlugen
199
200 - Karteieintragsarten passend für Deutschland
201
202 == H ===========================================
203
204 Sebastian Hilbert, MD
205 Germany
206
207 - packaging, PR
208
209 Anne te Harvik
210 Netherlands
211
212 - Dutch translation
213
214 == J ===========================================
215
216 John Jaarsveld, MD
217 Netherlands
218
219 - lots of help with the visual progress notes
220 - Dutch l10n
221
222 == L ===========================================
223
224 Steffi Leibner, Leipzig
225 Germany
226
227 - Testen, Fehlerberichte
228 - Dokumentenvorlage
229
230 Rogerio Luz, Brasil
231
232 - testing, bug reporting
233 - SOAP handling discussion
234 - providing LaTeX form templates
235
236 == N ===========================================
237
238 Clemens Nietfeld, Oldenburg
239
240 - Information zur Anbindung von DocConcept
241
242 == P ===========================================
243
244 Martin Preuss, Hamburg
245
246 - Chipkartenansteuerung
247
248 == R ===========================================
249
250 Thomas Reus, Düsseldorf
251
252 - Testen, Fehlerberichte
253 - Dokumentenvorlage
254
255 == T ===========================================
256
257 Andreas Tille, Wernigerode
258
259 - Debian packages
260 - encouragement, wisdom
261
262 """
263
265 wx.Dialog.__init__(self, *args, **kwargs)
266 contributor_listing = wx.TextCtrl (
267 self,
268 -1,
269 cContributorsDlg.contributors,
270 style = wx.TE_MULTILINE | wx.TE_READONLY,
271 size = wx.Size(500, 300)
272 )
273
274
275 szr_outer = wx.BoxSizer(wx.VERTICAL)
276 szr_outer.Add(contributor_listing, 1, wx.EXPAND, 0)
277
278 self.SetAutoLayout(1)
279 self.SetSizerAndFit(szr_outer)
280 szr_outer.SetSizeHints(self)
281 self.Layout()
282
283
284
285 if __name__ == '__main__':
286
289 frame = AboutFrame(None, -1, u"About GNUmed", size=wx.Size(300, 250))
290 frame.Show(1)
291 return 1
292
293 if len(sys.argv) > 1 and sys.argv[1] == 'test':
294 app = TestApp()
295 app.MainLoop()
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398