1
2
3
4
5 import wx
6
8
10
11 from Gnumed.wxpython import gmEMRBrowser
12 from Gnumed.wxpython.gmNarrativeWidgets import cVisualSoapPresenterPnl
13 from Gnumed.wxpython.gmNarrativeWidgets import cFancySoapEditorPnl
14
15
16 kwds["style"] = wx.TAB_TRAVERSAL
17 wx.Panel.__init__(self, *args, **kwds)
18 self._splitter_browser = wx.SplitterWindow(self, -1, style=wx.SP_3D | wx.SP_BORDER)
19 self.__pnl_left_side = wx.Panel(self._splitter_browser, -1, style=wx.NO_BORDER | wx.TAB_TRAVERSAL)
20 self._pnl_emr_tree = gmEMRBrowser.cScrolledEMRTreePnl(self.__pnl_left_side, -1, style=wx.NO_BORDER | wx.TAB_TRAVERSAL)
21 self._PNL_right_side = wx.Panel(self._splitter_browser, -1, style=wx.NO_BORDER)
22 self._RBTN_details = wx.RadioButton(self._PNL_right_side, -1, _("S&ynopsis"))
23 self._RBTN_journal = wx.RadioButton(self._PNL_right_side, -1, _("&Journal"))
24 self._BTN_switch_browse_edit = wx.Button(self._PNL_right_side, -1, _("&Edit"), style=wx.BU_EXACTFIT)
25 self._PNL_browse = wx.Panel(self._PNL_right_side, -1, style=wx.NO_BORDER | wx.TAB_TRAVERSAL)
26 self._TCTRL_item_details = wx.TextCtrl(self._PNL_browse, -1, "", style=wx.TE_MULTILINE | wx.TE_READONLY | wx.HSCROLL | wx.TE_WORDWRAP | wx.NO_BORDER)
27 self._PNL_visual_soap = cVisualSoapPresenterPnl(self._PNL_browse, -1, style=wx.NO_BORDER)
28 self._PNL_edit = cFancySoapEditorPnl(self._PNL_right_side, -1, style=wx.NO_BORDER | wx.TAB_TRAVERSAL)
29
30 self.__set_properties()
31 self.__do_layout()
32
33 self.Bind(wx.EVT_RADIOBUTTON, self._on_show_details_selected, self._RBTN_details)
34 self.Bind(wx.EVT_RADIOBUTTON, self._on_show_journal_selected, self._RBTN_journal)
35 self.Bind(wx.EVT_BUTTON, self._on_switch_browse_edit_button_pressed, self._BTN_switch_browse_edit)
36
37
39
40 self._pnl_emr_tree.SetScrollRate(10, 10)
41 self._RBTN_details.SetToolTipString(_("Show succinct item synopsis."))
42 self._RBTN_details.SetValue(1)
43 self._RBTN_journal.SetToolTipString(_("Show item journal."))
44 self._BTN_switch_browse_edit.SetToolTipString(_("Press this button to switch back and forth between browsing and entering SOAP notes."))
45 self._PNL_edit.Hide()
46
47
49
50 __szr_main = wx.BoxSizer(wx.HORIZONTAL)
51 __szr_right_side = wx.BoxSizer(wx.VERTICAL)
52 __szr_browse = wx.BoxSizer(wx.VERTICAL)
53 __szr_item_details_options = wx.BoxSizer(wx.HORIZONTAL)
54 __szr_left_side = wx.BoxSizer(wx.VERTICAL)
55 __szr_left_side.Add(self._pnl_emr_tree, 1, wx.EXPAND, 0)
56 self.__pnl_left_side.SetSizer(__szr_left_side)
57 __lbl_show_mode = wx.StaticText(self._PNL_right_side, -1, _("Show:"))
58 __szr_item_details_options.Add(__lbl_show_mode, 0, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 5)
59 __szr_item_details_options.Add(self._RBTN_details, 0, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 5)
60 __szr_item_details_options.Add(self._RBTN_journal, 0, wx.ALIGN_CENTER_VERTICAL, 0)
61 __szr_item_details_options.Add((20, 20), 1, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
62 __szr_item_details_options.Add(self._BTN_switch_browse_edit, 0, wx.ALIGN_CENTER_VERTICAL, 0)
63 __szr_right_side.Add(__szr_item_details_options, 0, wx.EXPAND, 0)
64 __szr_browse.Add(self._TCTRL_item_details, 1, wx.TOP | wx.EXPAND, 3)
65 __szr_browse.Add(self._PNL_visual_soap, 0, wx.EXPAND, 0)
66 self._PNL_browse.SetSizer(__szr_browse)
67 __szr_right_side.Add(self._PNL_browse, 1, wx.EXPAND, 0)
68 __szr_right_side.Add(self._PNL_edit, 1, wx.EXPAND, 0)
69 self._PNL_right_side.SetSizer(__szr_right_side)
70 self._splitter_browser.SplitVertically(self.__pnl_left_side, self._PNL_right_side)
71 __szr_main.Add(self._splitter_browser, 1, wx.EXPAND, 0)
72 self.SetSizer(__szr_main)
73 __szr_main.Fit(self)
74
75
77 print "Event handler `_on_show_details_selected' not implemented"
78 event.Skip()
79
81 print "Event handler `_on_show_journal_selected' not implemented"
82 event.Skip()
83
85 print "Event handler `_on_switch_browse_edit_button_pressed' not implemented"
86 event.Skip()
87
88
89