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 Gerardo Arnaez', 35 u'Dr Hilmar Berger', 36 u'Michael Bonert', 37 u'Dr Elizabeth Dodd', 38 u'Dr David Guest', 39 u'Ian Haywood', 40 u'Dr Tony Lembke', 41 u'Dr Richard Terry', 42 u'Syan J Tan', 43 u'Andreas Tille', 44 u'Dr Carlos Moro', 45 u'Dr James Busser', 46 u'Dr Rogerio Luz', 47 u'Dr Sebastian Hilbert', 48 u'Dr John Jaarsveld', 49 u'et alii' 50 ] 51 52 # initializations 53 __scroll_ctr = +230 54 __name_ctr = 1 55 __delay_ctr = 1 56
57 - def __init__ (self, parent):
58 wx.Window.__init__(self, parent, -1, size=(230,20), style=wx.SUNKEN_BORDER) 59 self.SetBackgroundColour(wx.Colour(255, 255, 255)) 60 self.__delay_ctr_reset=self.__delay*self.__scroll_speed 61 62 self.moving_txt=wx.StaticText(self, -1, "", size=(230,20), style=wx.ALIGN_CENTRE | wx.ST_NO_AUTORESIZE) 63 self.moving_txt.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL)) 64 self.moving_txt.SetLabel(self.name_list[0]) 65 66 wx.EVT_TIMER(self, -1, self.OnTimer) 67 self.timer = wx.Timer(self, -1) 68 #self.timer.Start(self.__scroll_speed) 69 self.timer.Start(milliseconds = 1./self.__scroll_speed)
70
71 - def OnTimer(self, evt):
72 if(self.__scroll_ctr<-2 and self.__delay_ctr<self.__delay_ctr_reset): 73 # pause at centre 74 self.__delay_ctr=self.__delay_ctr+1 75 else: 76 self.__scroll_ctr=self.__scroll_ctr-1 77 self.moving_txt.MoveXY(self.__scroll_ctr, 0) 78 if(self.__scroll_ctr<-230): 79 # reset counters 80 self.__scroll_ctr=+230 81 self.__delay_ctr=1 82 83 # get next name in dict. 84 self.moving_txt.SetLabel(self.name_list[self.__name_ctr]) 85 self.__name_ctr=self.__name_ctr+1 86 if(self.__name_ctr>len(self.name_list)-1): 87 self.__name_ctr=0
88
89 -class AboutFrame (wx.Frame):
90 """ 91 About GNUmed 92 """
93 - def __init__(self, parent, ID, title, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, version='???'):
94 wx.Frame.__init__(self, parent, ID, title, pos, size, style) 95 96 self.SetIcon(gmTools.get_icon(wx = wx)) 97 98 box = wx.BoxSizer(wx.VERTICAL) 99 if wx.Platform == '__WXMAC__': 100 box.Add((0,0), 2) 101 else: 102 box.Add((0,0), 2) 103 intro_txt=wx.StaticText(self, -1, _("Monty the Serpent && the FSF Present")) 104 intro_txt.SetFont(wx.Font(10,wx.SWISS,wx.NORMAL,wx.NORMAL,False,'')) 105 box.Add(intro_txt, 0, wx.ALIGN_CENTRE) 106 if wx.Platform == '__WXMAC__': 107 box.Add((0,0), 3) 108 else: 109 box.Add((0,0), 3) 110 gm_txt=wx.StaticText(self, -1, "GNUmed") 111 gm_txt.SetFont(wx.Font(30, wx.SWISS, wx.NORMAL, wx.NORMAL)) 112 box.Add(gm_txt, 0, wx.ALIGN_CENTRE) 113 114 motto_txt=wx.StaticText(self, -1, _("Free eMedicine")) 115 motto_txt.SetFont(wx.Font(10,wx.SWISS,wx.NORMAL,wx.NORMAL,False,'')) 116 box.Add(motto_txt, 0, wx.ALIGN_CENTRE) 117 if wx.Platform == '__WXMAC__': 118 box.Add((0,0), 4) 119 else: 120 box.Add((0,0), 4) 121 ver_txt=wx.StaticText(self, -1, _("Version %s brought to you by") % version) 122 ver_txt.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL)) 123 box.Add(ver_txt, 0, wx.ALIGN_CENTRE) 124 125 admins_txt=wx.StaticText(self, -1, _("Drs Horst Herb && Karsten Hilbert")) 126 admins_txt.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL)) 127 box.Add(admins_txt, 0, wx.ALIGN_CENTRE) 128 129 self.win=ScrollTxtWin(self) 130 box.Add(self.win, 0, wx.ALIGN_CENTRE) 131 if wx.Platform == '__WXMAC__': 132 box.Add((0,0), 1) 133 else: 134 box.Add((0,0), 1) 135 info_txt=wx.StaticText(self, -1, _("Please visit http://www.gnumed.org")) 136 info_txt.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL)) 137 box.Add(info_txt, 0, wx.ALIGN_CENTRE) 138 if wx.Platform == '__WXMAC__': 139 box.Add((0,0), 1) 140 else: 141 box.Add((0,0), 1) 142 btn = wx.Button(self, ID_MENU , _("Close")) 143 box.Add(btn,0, wx.ALIGN_CENTRE) 144 if wx.Platform == '__WXMAC__': 145 box.Add((0,0), 1) 146 else: 147 box.Add((0,0), 1) 148 wx.EVT_BUTTON(btn, ID_MENU, self.OnClose) 149 150 self.SetAutoLayout(True) 151 self.SetSizer(box) 152 self.Layout()
153
154 - def OnClose (self, event):
155 self.win.timer.Stop () 156 self.Destroy ()
157 #====================================================================
158 -class cContributorsDlg(wx.Dialog):
159 # people who don't want to be listed here: 160 # ... 161 contributors = _( 162 'The following people kindly contributed to GNUmed.\n' 163 'Please write to <gnumed-devel@gnu.org> to have your\n' 164 'contribution duly recognized in this list or to have\n' 165 'your name removed from it for, say, privacy reasons.\n\n' 166 'Note that this list is sorted alphabetically by last\n' 167 'name, first name. If the only identifier is an email\n' 168 'address it is sorted under the first character of\n' 169 'the user name.\n' 170 '%s' 171 ) % u""" 172 == B =========================================== 173 174 James Busser, MD 175 British Columbia 176 177 - test results handling 178 - documentation would be nothing without him 179 - encouragment 180 - testing on MacOSX 181 182 == F =========================================== 183 184 Joachim Fischer 185 GP Fischer + Lintz 186 Fachärzte Allgemeinmedizin 187 Wolfschlugen 188 189 - Karteieintragsarten passend für Deutschland 190 191 == H =========================================== 192 193 Sebastian Hilbert, MD 194 Germany 195 196 - packaging, PR 197 198 Anne te Harvik 199 Netherlands 200 201 - Dutch translation 202 203 == J =========================================== 204 205 John Jaarsveld, MD 206 Netherlands 207 208 - lots of help with the visual progress notes 209 - Dutch l10n 210 211 == L =========================================== 212 213 Steffi Leibner, Leipzig 214 Germany 215 216 - Testen, Fehlerberichte 217 - Dokumentenvorlage 218 219 Rogerio Luz, Brasil 220 221 - testing, bug reporting 222 - SOAP handling discussion 223 - providing LaTeX form templates 224 225 == N =========================================== 226 227 Clemens Nietfeld, Oldenburg 228 229 - Information zur Anbindung von DocConcept 230 231 == P =========================================== 232 233 Martin Preuss, Hamburg 234 235 - Chipkartenansteuerung 236 237 == R =========================================== 238 239 Thomas Reus, Düsseldorf 240 241 - Testen, Fehlerberichte 242 - Dokumentenvorlage 243 244 == T =========================================== 245 246 Andreas Tille, Wernigerode 247 248 - Debian packages 249 - encouragement, wisdom 250 251 """ 252 #----------------------------------------------
253 - def __init__(self, *args, **kwargs):
254 wx.Dialog.__init__(self, *args, **kwargs) 255 contributor_listing = wx.TextCtrl ( 256 self, 257 -1, 258 cContributorsDlg.contributors, 259 style = wx.TE_MULTILINE | wx.TE_READONLY, 260 size = wx.Size(500, 300) 261 ) 262 # contributor_listing.SetFont(wx.Font(12, wx.MODERN, wx.NORMAL, wx.NORMAL)) 263 # arrange widgets 264 szr_outer = wx.BoxSizer(wx.VERTICAL) 265 szr_outer.Add(contributor_listing, 1, wx.EXPAND, 0) 266 # and do layout 267 self.SetAutoLayout(1) 268 self.SetSizerAndFit(szr_outer) 269 szr_outer.SetSizeHints(self) 270 self.Layout()
271 #==================================================================== 272 # Main 273 #==================================================================== 274 if __name__ == '__main__': 275 # set up dummy app
276 - class TestApp (wx.App):
277 - def OnInit (self):
278 frame = AboutFrame(None, -1, u"About GNUmed", size=wx.Size(300, 250)) 279 frame.Show(1) 280 return 1
281 #--------------------- 282 if len(sys.argv) > 1 and sys.argv[1] == 'test': 283 app = TestApp() 284 app.MainLoop() 285 286 #------------------------------------------------------------ 287