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
86
88 """
89 About GNUmed
90 """
91
92 icon_serpent='x\xdae\x8f\xb1\x0e\x83 \x10\x86w\x9f\xe2\x92\x1blb\xf2\x07\x96\xeaH:0\xd6\
93 \xc1\x85\xd5\x98N5\xa5\xef?\xf5N\xd0\x8a\xdcA\xc2\xf7qw\x84\xdb\xfa\xb5\xcd\
94 \xd4\xda;\xc9\x1a\xc8\xb6\xcd<\xb5\xa0\x85\x1e\xeb\xbc\xbc7b!\xf6\xdeHl\x1c\
95 \x94\x073\xec<*\xf7\xbe\xf7\x99\x9d\xb21~\xe7.\xf5\x1f\x1c\xd3\xbdVlL\xc2\
96 \xcf\xf8ye\xd0\x00\x90\x0etH \x84\x80B\xaa\x8a\x88\x85\xc4(U\x9d$\xfeR;\xc5J\
97 \xa6\x01\xbbt9\xceR\xc8\x81e_$\x98\xb9\x9c\xa9\x8d,y\xa9t\xc8\xcf\x152\xe0x\
98 \xe9$\xf5\x07\x95\x0cD\x95t:\xb1\x92\xae\x9cI\xa8~\x84\x1f\xe0\xa3ec'
99
100 - def __init__(self, parent, ID, title, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, version='???'):
101 wx.Frame.__init__(self, parent, ID, title, pos, size, style)
102
103 icon = wx.EmptyIcon()
104 icon.CopyFromBitmap(wx.BitmapFromXPMData(cPickle.loads(zlib.decompress(self.icon_serpent))))
105 self.SetIcon(icon)
106
107 box = wx.BoxSizer(wx.VERTICAL)
108 if wx.Platform == '__WXMAC__':
109 box.Add((0,0), 2)
110 else:
111 box.Add((0,0), 2)
112 intro_txt=wx.StaticText(self, -1, _("Monty the Serpent && the FSF Present"))
113 intro_txt.SetFont(wx.Font(10,wx.SWISS,wx.NORMAL,wx.NORMAL,False,''))
114 box.Add(intro_txt, 0, wx.ALIGN_CENTRE)
115 if wx.Platform == '__WXMAC__':
116 box.Add((0,0), 3)
117 else:
118 box.Add((0,0), 3)
119 gm_txt=wx.StaticText(self, -1, "GNUmed")
120 gm_txt.SetFont(wx.Font(30, wx.SWISS, wx.NORMAL, wx.NORMAL))
121 box.Add(gm_txt, 0, wx.ALIGN_CENTRE)
122
123 motto_txt=wx.StaticText(self, -1, _("Free eMedicine"))
124 motto_txt.SetFont(wx.Font(10,wx.SWISS,wx.NORMAL,wx.NORMAL,False,''))
125 box.Add(motto_txt, 0, wx.ALIGN_CENTRE)
126 if wx.Platform == '__WXMAC__':
127 box.Add((0,0), 4)
128 else:
129 box.Add((0,0), 4)
130 ver_txt=wx.StaticText(self, -1, _("Version %s brought to you by") % version)
131 ver_txt.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL))
132 box.Add(ver_txt, 0, wx.ALIGN_CENTRE)
133
134 admins_txt=wx.StaticText(self, -1, _("Drs Horst Herb && Karsten Hilbert"))
135 admins_txt.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL))
136 box.Add(admins_txt, 0, wx.ALIGN_CENTRE)
137
138 self.win=ScrollTxtWin(self)
139 box.Add(self.win, 0, wx.ALIGN_CENTRE)
140 if wx.Platform == '__WXMAC__':
141 box.Add((0,0), 1)
142 else:
143 box.Add((0,0), 1)
144 info_txt=wx.StaticText(self, -1, _("Please visit http://www.gnumed.org"))
145 info_txt.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL))
146 box.Add(info_txt, 0, wx.ALIGN_CENTRE)
147 if wx.Platform == '__WXMAC__':
148 box.Add((0,0), 1)
149 else:
150 box.Add((0,0), 1)
151 btn = wx.Button(self, ID_MENU , _("Close"))
152 box.Add(btn,0, wx.ALIGN_CENTRE)
153 if wx.Platform == '__WXMAC__':
154 box.Add((0,0), 1)
155 else:
156 box.Add((0,0), 1)
157 wx.EVT_BUTTON(btn, ID_MENU, self.OnClose)
158
159 self.SetAutoLayout(True)
160 self.SetSizer(box)
161 self.Layout()
162
164 self.win.timer.Stop ()
165 self.Destroy ()
166
168
169
170 contributors = _(
171 'The following people kindly contributed to GNUmed.\n'
172 'Please write to <gnumed-devel@gnu.org> to have your\n'
173 'contribution duly recognized in this list or to have\n'
174 'your name removed from it for, say, privacy reasons.\n\n'
175 'Note that this list is sorted alphabetically by last\n'
176 'name, first name. If the only identifier is an email\n'
177 'address it is sorted under the first character of\n'
178 'the user name.\n'
179 '%s'
180 ) % u"""
181 == B ===========================================
182
183 James Busser, MD
184 British Columbia
185
186 - test results handling
187 - documentation would be nothing without him
188 - encouragment
189 - testing on MacOSX
190
191 == F ===========================================
192
193 Joachim Fischer
194 GP Fischer + Lintz
195 Fachärzte Allgemeinmedizin
196 Wolfschlugen
197
198 - Karteieintragsarten passend für Deutschland
199
200 == H ===========================================
201
202 Sebastian Hilbert, MD
203
204 - packaging, PR
205
206 == L ===========================================
207
208 Steffi Leibner, Leipzig
209
210 - Testen, Fehlerberichte
211 - Dokumentenvorlage
212
213 Rogerio Luz, Brasil
214
215 - testing, bug reporting
216 - SOAP handling discussion
217 - providing LaTeX form templates
218
219 == N ===========================================
220
221 Clemens Nietfeld, Oldenburg
222
223 - Information zur Anbindung von DocConcept
224
225 == P ===========================================
226
227 Martin Preuss, Hamburg
228
229 - Chipkartenansteuerung
230
231 == R ===========================================
232
233 Thomas Reus, Düsseldorf
234
235 - Testen, Fehlerberichte
236 - Dokumentenvorlage
237
238 == T ===========================================
239
240 Andreas Tille, Wernigerode
241
242 - Debian packages
243 - encouragement, wisdom
244
245 """
246
248 wx.Dialog.__init__(self, *args, **kwargs)
249 contributor_listing = wx.TextCtrl (
250 self,
251 -1,
252 cContributorsDlg.contributors,
253 style = wx.TE_MULTILINE | wx.TE_READONLY,
254 size = wx.Size(500, 300)
255 )
256
257
258 szr_outer = wx.BoxSizer(wx.VERTICAL)
259 szr_outer.Add(contributor_listing, 1, wx.EXPAND, 0)
260
261 self.SetAutoLayout(1)
262 self.SetSizerAndFit(szr_outer)
263 szr_outer.SetSizeHints(self)
264 self.Layout()
265
266
267
268 if __name__ == '__main__':
269
272 frame = AboutFrame(None, -1, u"About GNUmed", size=wx.Size(300, 250))
273 frame.Show(1)
274 return 1
275
276 if len(sys.argv) > 1 and sys.argv[1] == 'test':
277 app = TestApp()
278 app.MainLoop()
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
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