Package Gnumed :: Package wxpython :: Module gmAbout
[frames] | no frames]

Source Code for Module Gnumed.wxpython.gmAbout

  1  # -*- coding: utf8 -*- 
  2  #==================================================================== 
  3  # About GNUmed 
  4  #==================================================================== 
  5  __version__ = "$Revision: 1.35 $" 
  6  __author__ = "M.Bonert" 
  7  __license__ = "GPL" 
  8   
  9  import sys 
 10   
 11   
 12  import wx 
 13   
 14   
 15  from Gnumed.pycommon import gmTools 
 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  #==================================================================== 
25 -class ScrollTxtWin (wx.Window):
26 """ 27 Scrolling Text! 28 """ 29 30 # control parameters 31 __scroll_speed=.3 # pixels/milliseconds (?) 32 __delay=500 # milliseconds 33 name_list = [ 34 u'Dr Horst Herb', 35 u'Karsten Hilbert', 36 u'Dr Gerardo Arnaez', 37 u'Dr Hilmar Berger', 38 u'Michael Bonert', 39 u'Dr Elizabeth Dodd', 40 u'Dr David Guest', 41 u'Ian Haywood', 42 u'Dr Tony Lembke', 43 u'Dr Richard Terry', 44 u'Syan J Tan', 45 u'Andreas Tille', 46 u'Dr Carlos Moro', 47 u'Dr James Busser', 48 u'Dr Rogerio Luz', 49 u'Dr Sebastian Hilbert', 50 u'Dr John Jaarsveld', 51 u'et alii' 52 ] 53 54 # initializations 55 __scroll_ctr = +230 56 __name_ctr = 1 57 __delay_ctr = 1 58
59 - def __init__ (self, parent):
60 wx.Window.__init__(self, parent, -1, size=(230,20), style=wx.SUNKEN_BORDER) 61 self.SetBackgroundColour(wx.Colour(255, 255, 255)) 62 self.__delay_ctr_reset=self.__delay*self.__scroll_speed 63 64 self.moving_txt=wx.StaticText(self, -1, "", size=(230,20), style=wx.ALIGN_CENTRE | wx.ST_NO_AUTORESIZE) 65 self.moving_txt.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL)) 66 self.moving_txt.SetLabel(self.name_list[0]) 67 68 wx.EVT_TIMER(self, -1, self.OnTimer) 69 self.timer = wx.Timer(self, -1) 70 #self.timer.Start(self.__scroll_speed) 71 self.timer.Start(milliseconds = 1./self.__scroll_speed)
72
73 - def OnTimer(self, evt):
74 if(self.__scroll_ctr<-2 and self.__delay_ctr<self.__delay_ctr_reset): 75 # pause at centre 76 self.__delay_ctr=self.__delay_ctr+1 77 else: 78 self.__scroll_ctr=self.__scroll_ctr-1 79 self.moving_txt.MoveXY(self.__scroll_ctr, 0) 80 if(self.__scroll_ctr<-230): 81 # reset counters 82 self.__scroll_ctr=+230 83 self.__delay_ctr=1 84 85 # get next name in dict. 86 self.moving_txt.SetLabel(self.name_list[self.__name_ctr]) 87 self.__name_ctr=self.__name_ctr+1 88 if(self.__name_ctr>len(self.name_list)-1): 89 self.__name_ctr=0
90
91 -class AboutFrame (wx.Frame):
92 """ 93 About GNUmed 94 """
95 - def __init__(self, parent, ID, title, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, version='???', debug=False):
96 wx.Frame.__init__(self, parent, ID, title, pos, size, style) 97 98 self.SetIcon(gmTools.get_icon(wx = wx)) 99 100 box = wx.BoxSizer(wx.VERTICAL) 101 if wx.Platform == '__WXMAC__': 102 box.Add((0,0), 2) 103 else: 104 box.Add((0,0), 2) 105 intro_txt=wx.StaticText(self, -1, _("Monty the Serpent && the FSF Present")) 106 intro_txt.SetFont(wx.Font(10,wx.SWISS,wx.NORMAL,wx.NORMAL,False,'')) 107 box.Add(intro_txt, 0, wx.ALIGN_CENTRE) 108 if wx.Platform == '__WXMAC__': 109 box.Add((0,0), 3) 110 else: 111 box.Add((0,0), 3) 112 gm_txt=wx.StaticText(self, -1, "GNUmed") 113 gm_txt.SetFont(wx.Font(30, wx.SWISS, wx.NORMAL, wx.NORMAL)) 114 box.Add(gm_txt, 0, wx.ALIGN_CENTRE) 115 116 motto_txt=wx.StaticText(self, -1, _("Free eMedicine")) 117 motto_txt.SetFont(wx.Font(10,wx.SWISS,wx.NORMAL,wx.NORMAL,False,'')) 118 box.Add(motto_txt, 0, wx.ALIGN_CENTRE) 119 if wx.Platform == '__WXMAC__': 120 box.Add((0,0), 4) 121 else: 122 box.Add((0,0), 4) 123 ver_txt=wx.StaticText ( 124 self, 125 -1, 126 _('Version %s%s brought to you by') % ( 127 version, 128 gmTools.bool2subst(debug, u' (%s)' % _('debug'), u'') 129 ) 130 ) 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, "") 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
163 - def OnClose (self, event):
164 self.win.timer.Stop () 165 self.Destroy ()
166 #====================================================================
167 -class cContributorsDlg(wx.Dialog):
168 # people who don't want to be listed here: 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 == A =========================================== 182 183 Marc Angermann, MD 184 Germany 185 186 - Rechnungsvorlage 187 - bug reports 188 189 == B =========================================== 190 191 James Busser, MD 192 British Columbia 193 194 - test results handling 195 - documentation would be nothing without him 196 - encouragement, testing, bug reporting 197 - testing on MacOSX 198 199 == F =========================================== 200 201 Joachim Fischer 202 GP Fischer + Lintz 203 Fachärzte Allgemeinmedizin 204 Wolfschlugen 205 206 - Karteieintragsarten passend für Deutschland 207 208 == H =========================================== 209 210 Sebastian Hilbert, MD 211 Germany 212 213 - packaging, PR 214 215 Anne te Harvik 216 Netherlands 217 218 - Dutch translation 219 220 == J =========================================== 221 222 John Jaarsveld, MD 223 Netherlands 224 225 - lots of help with the visual progress notes 226 - Dutch l10n 227 228 == L =========================================== 229 230 Nico Latzer 231 Germany 232 233 - invoice handling code 234 235 Steffi Leibner, Leipzig 236 Germany 237 238 - Testen, Fehlerberichte 239 - Dokumentenvorlage 240 241 Rogerio Luz, Brasil 242 243 - testing, bug reporting 244 - SOAP handling discussion 245 - providing LaTeX form templates 246 247 == N =========================================== 248 249 Clemens Nietfeld, Oldenburg 250 251 - Information zur Anbindung von DocConcept 252 253 == P =========================================== 254 255 Martin Preuss, Hamburg 256 257 - Chipkartenansteuerung 258 259 == R =========================================== 260 261 Thomas Reus, Düsseldorf 262 263 - Testen, Fehlerberichte 264 - Dokumentenvorlage 265 266 == T =========================================== 267 268 Andreas Tille, Wernigerode 269 270 - Debian packages 271 - encouragement, wisdom 272 273 """ 274 #----------------------------------------------
275 - def __init__(self, *args, **kwargs):
276 wx.Dialog.__init__(self, *args, **kwargs) 277 contributor_listing = wx.TextCtrl ( 278 self, 279 -1, 280 cContributorsDlg.contributors, 281 style = wx.TE_MULTILINE | wx.TE_READONLY, 282 size = wx.Size(500, 300) 283 ) 284 # contributor_listing.SetFont(wx.Font(12, wx.MODERN, wx.NORMAL, wx.NORMAL)) 285 # arrange widgets 286 szr_outer = wx.BoxSizer(wx.VERTICAL) 287 szr_outer.Add(contributor_listing, 1, wx.EXPAND, 0) 288 # and do layout 289 self.SetAutoLayout(1) 290 self.SetSizerAndFit(szr_outer) 291 szr_outer.SetSizeHints(self) 292 self.Layout()
293 #==================================================================== 294 # Main 295 #==================================================================== 296 if __name__ == '__main__': 297 # set up dummy app
298 - class TestApp (wx.App):
299 - def OnInit (self):
300 frame = AboutFrame(None, -1, u"About GNUmed", size=wx.Size(300, 250)) 301 frame.Show(1) 302 return 1
303 #--------------------- 304 if len(sys.argv) > 1 and sys.argv[1] == 'test': 305 app = TestApp() 306 app.MainLoop() 307 308 #------------------------------------------------------------ 309