1
2
3
4
5 import wx
6
7
8
9
10
11
14
15 from Gnumed.wxpython import gmPhraseWheel
16 from Gnumed.wxpython import gmEMRStructWidgets
17 from Gnumed.wxpython import gmDateTimeInput
18
19
20 kwds["style"] = wx.NO_BORDER|wx.TAB_TRAVERSAL
21 wx.ScrolledWindow.__init__(self, *args, **kwds)
22 self._PRW_procedure = gmPhraseWheel.cPhraseWheel(self, -1, "", style=wx.NO_BORDER)
23 self._DPRW_date = gmDateTimeInput.cFuzzyTimestampInput(self, -1, "", style=wx.NO_BORDER)
24 self._DPRW_end = gmDateTimeInput.cFuzzyTimestampInput(self, -1, "", style=wx.NO_BORDER)
25 self._CHBOX_ongoing = wx.CheckBox(self, -1, _("Ongoing"))
26 self.static_line_1 = wx.StaticLine(self, -1)
27 self._PRW_location = gmPhraseWheel.cPhraseWheel(self, -1, "", style=wx.NO_BORDER)
28 self._PRW_episode = gmEMRStructWidgets.cEpisodeSelectionPhraseWheel(self, -1, "", style=wx.NO_BORDER)
29 self.static_line_2 = wx.StaticLine(self, -1)
30 self._PRW_hospital_stay = gmEMRStructWidgets.cHospitalStayPhraseWheel(self, -1, "", style=wx.NO_BORDER)
31 self._BTN_add_stay = wx.Button(self, -1, _("+"), style=wx.BU_EXACTFIT)
32 self._LBL_hospital_details = wx.StaticText(self, -1, "")
33
34 self.__set_properties()
35 self.__do_layout()
36
37 self.Bind(wx.EVT_CHECKBOX, self._on_ongoing_checkbox_checked, self._CHBOX_ongoing)
38 self.Bind(wx.EVT_BUTTON, self._on_add_hospital_stay_button_pressed, self._BTN_add_stay)
39
40
42
43 self.SetScrollRate(10, 10)
44 self._PRW_procedure.SetToolTipString(_("The actual procedure performed on the patient."))
45 self._DPRW_date.SetToolTipString(_("When did this procedure take place ?"))
46 self._DPRW_end.SetToolTipString(_("When did this procedure end ?\n\nLeave empty for ongoing or \"one-off\" procedures without a significant duration."))
47 self._CHBOX_ongoing.SetToolTipString(_("Select if procedure is ongoing (say, desensibilization)."))
48 self._PRW_location.SetToolTipString(_("The location (praxis, clinic, ...) this procedure was performed at.\n\nMutually exclusive with \"Hospital stay\". Requires \"Episode\"."))
49 self._PRW_episode.SetToolTipString(_("The episode this procedure was performed under.\n\nMutually exclusive with \"Hospital stay\". Requires \"Location\"."))
50 self._PRW_hospital_stay.SetToolTipString(_("During which hospital stay was this procedure performed."))
51 self._BTN_add_stay.SetToolTipString(_("Add a hospital stay."))
52
53
55
56 _gszr_main = wx.FlexGridSizer(9, 2, 1, 3)
57 __szr_stay = wx.BoxSizer(wx.HORIZONTAL)
58 __szr_end_details = wx.BoxSizer(wx.HORIZONTAL)
59 __lbl_procedure = wx.StaticText(self, -1, _("Procedure"))
60 __lbl_procedure.SetForegroundColour(wx.Colour(255, 0, 0))
61 _gszr_main.Add(__lbl_procedure, 0, wx.ALIGN_CENTER_VERTICAL, 0)
62 _gszr_main.Add(self._PRW_procedure, 0, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
63 __lbl_date = wx.StaticText(self, -1, _("Date"))
64 __lbl_date.SetForegroundColour(wx.Colour(255, 0, 0))
65 _gszr_main.Add(__lbl_date, 0, wx.ALIGN_CENTER_VERTICAL, 0)
66 _gszr_main.Add(self._DPRW_date, 0, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
67 __lbl_end = wx.StaticText(self, -1, _("End"))
68 _gszr_main.Add(__lbl_end, 0, wx.ALIGN_CENTER_VERTICAL, 0)
69 __szr_end_details.Add(self._DPRW_end, 1, wx.RIGHT|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 10)
70 __szr_end_details.Add(self._CHBOX_ongoing, 0, wx.ALIGN_CENTER_VERTICAL, 0)
71 _gszr_main.Add(__szr_end_details, 1, wx.EXPAND, 0)
72 _gszr_main.Add((20, 20), 0, wx.EXPAND, 0)
73 _gszr_main.Add(self.static_line_1, 0, wx.LEFT|wx.RIGHT|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5)
74 __lbl_location = wx.StaticText(self, -1, _("Location"))
75 __lbl_location.SetForegroundColour(wx.Colour(255, 127, 0))
76 _gszr_main.Add(__lbl_location, 0, wx.ALIGN_CENTER_VERTICAL, 0)
77 _gszr_main.Add(self._PRW_location, 0, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
78 __lbl_episode = wx.StaticText(self, -1, _("and Episode"))
79 __lbl_episode.SetForegroundColour(wx.Colour(255, 127, 0))
80 _gszr_main.Add(__lbl_episode, 0, wx.ALIGN_CENTER_VERTICAL, 0)
81 _gszr_main.Add(self._PRW_episode, 0, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
82 __lbl_or = wx.StaticText(self, -1, _("... or ..."))
83 _gszr_main.Add(__lbl_or, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
84 _gszr_main.Add(self.static_line_2, 0, wx.LEFT|wx.RIGHT|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 20)
85 __lbl_stay = wx.StaticText(self, -1, _("Hospital stay"))
86 __lbl_stay.SetForegroundColour(wx.Colour(255, 127, 0))
87 _gszr_main.Add(__lbl_stay, 0, wx.ALIGN_CENTER_VERTICAL, 0)
88 __szr_stay.Add(self._PRW_hospital_stay, 1, wx.RIGHT|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5)
89 __szr_stay.Add(self._BTN_add_stay, 0, wx.ALIGN_CENTER_VERTICAL, 0)
90 _gszr_main.Add(__szr_stay, 1, wx.EXPAND, 0)
91 _gszr_main.Add((20, 20), 0, wx.EXPAND, 0)
92 _gszr_main.Add(self._LBL_hospital_details, 0, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
93 self.SetSizer(_gszr_main)
94 _gszr_main.Fit(self)
95 _gszr_main.AddGrowableCol(1)
96
97
99 print "Event handler `_on_add_hospital_stay_button_pressed' not implemented!"
100 event.Skip()
101
103 print "Event handler `_on_ongoing_checkbox_checked' not implemented"
104 event.Skip()
105
106
107