Package Gnumed :: Package wxpython :: Package gui :: Module gmMultiSashedProgressNoteInputPlugin
[frames] | no frames]

Source Code for Module Gnumed.wxpython.gui.gmMultiSashedProgressNoteInputPlugin

 1  #====================================================================== 
 2  # GNUmed multisash based progress note input plugin 
 3  # ------------------------------------------------- 
 4  # 
 5  # this plugin displays the list of patient problems 
 6  # toghether whith a multisash container for progress notes 
 7  # 
 8  # @copyright: author 
 9  #====================================================================== 
10  __version__ = "$Revision: 1.15 $" 
11  __author__ = "Carlos Moro, Karsten Hilbert" 
12  __license__ = 'GPL v2 or later (details at http://www.gnu.org)' 
13   
14  import logging 
15   
16   
17  from Gnumed.wxpython import gmPlugin, gmSOAPWidgets 
18   
19   
20  _log = logging.getLogger('gm.ui') 
21  _log.info(__version__) 
22  #====================================================================== 
23 -class gmMultiSashedProgressNoteInputPlugin(gmPlugin.cNotebookPlugin):
24 """Plugin to encapsulate multisash based progress note input window.""" 25 26 tab_name = _('progress notes (sash)') 27
28 - def name (self):
30
31 - def GetWidget (self, parent):
32 self._widget = gmSOAPWidgets.cMultiSashedProgressNoteInputPanel(parent, -1) 33 return self._widget
34
35 - def MenuInfo (self):
36 return ('tools', _('progress notes'))
37
38 - def can_receive_focus(self):
39 # need patient 40 if not self._verify_patient_avail(): 41 return None 42 return 1
43 44 #====================================================================== 45 # main 46 #---------------------------------------------------------------------- 47 if __name__ == "__main__": 48 49 import sys 50 51 import wx 52 53 from Gnumed.business import gmPersonSearch 54 55 _log.info("starting multisashed progress notes input plugin...") 56 57 try: 58 # make sure we have a db connection 59 pool = gmPG.ConnectionPool() 60 61 # obtain patient 62 patient = gmPersonSearch.ask_for_patient() 63 if patient is None: 64 print "None patient. Exiting gracefully..." 65 sys.exit(0) 66 gmPatSearchWidgets.set_active_patient(patient=patient) 67 68 # display standalone multisash progress notes input 69 application = wx.wxPyWidgetTester(size=(800,600)) 70 multisash_notes = gmSOAPWidgets.cMultiSashedProgressNoteInputPanel(application.frame, -1) 71 72 application.frame.Show(True) 73 application.MainLoop() 74 75 # clean up 76 if patient is not None: 77 try: 78 patient.cleanup() 79 except: 80 print "error cleaning up patient" 81 except StandardError: 82 _log.exception("unhandled exception caught !") 83 # but re-raise them 84 raise 85 try: 86 pool.StopListeners() 87 except: 88 _log.exception('unhandled exception caught') 89 raise 90 91 _log.info("closing multisashed progress notes input plugin...") 92 93 #====================================================================== 94