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 from Gnumed.wxpython import gmOrganizationWidgets
19 from Gnumed.wxpython.gmCodingWidgets import cGenericCodesPhraseWheel
20
21
22 kwds["style"] = wx.NO_BORDER | wx.TAB_TRAVERSAL
23 wx.ScrolledWindow.__init__(self, *args, **kwds)
24 self._PRW_procedure = gmPhraseWheel.cPhraseWheel(self, wx.ID_ANY, "", style=wx.NO_BORDER)
25 self._DPRW_date = gmDateTimeInput.cFuzzyTimestampInput(self, wx.ID_ANY, "", style=wx.NO_BORDER)
26 self._DPRW_end = gmDateTimeInput.cFuzzyTimestampInput(self, wx.ID_ANY, "", style=wx.NO_BORDER)
27 self._CHBOX_ongoing = wx.CheckBox(self, wx.ID_ANY, _("Ongoing"))
28 self.static_line_1 = wx.StaticLine(self, wx.ID_ANY)
29 self._PRW_location = gmOrganizationWidgets.cOrgUnitPhraseWheel(self, wx.ID_ANY, "", style=wx.NO_BORDER)
30 self._BTN_add_location = wx.Button(self, wx.ID_ANY, _("+"), style=wx.BU_EXACTFIT)
31 self._PRW_episode = gmEMRStructWidgets.cEpisodeSelectionPhraseWheel(self, wx.ID_ANY, "", style=wx.NO_BORDER)
32 self.static_line_2 = wx.StaticLine(self, wx.ID_ANY)
33 self._PRW_hospital_stay = gmEMRStructWidgets.cHospitalStayPhraseWheel(self, wx.ID_ANY, "", style=wx.NO_BORDER)
34 self._BTN_add_stay = wx.Button(self, wx.ID_ANY, _("+"), style=wx.BU_EXACTFIT)
35 self._LBL_hospital_details = wx.StaticText(self, wx.ID_ANY, "")
36 self._PRW_codes = cGenericCodesPhraseWheel(self, wx.ID_ANY, "", style=wx.NO_BORDER)
37
38 self.__set_properties()
39 self.__do_layout()
40
41 self.Bind(wx.EVT_CHECKBOX, self._on_ongoing_checkbox_checked, self._CHBOX_ongoing)
42 self.Bind(wx.EVT_BUTTON, self._on_add_location_button_pressed, self._BTN_add_location)
43 self.Bind(wx.EVT_BUTTON, self._on_add_hospital_stay_button_pressed, self._BTN_add_stay)
44
45
47
48 self.SetScrollRate(10, 10)
49 self._PRW_procedure.SetToolTipString(_("The actual procedure performed on the patient."))
50 self._DPRW_date.SetToolTipString(_("When did this procedure take place ?"))
51 self._DPRW_end.SetToolTipString(_("When did this procedure end ?\n\nLeave empty for ongoing or \"one-off\" procedures without a significant duration."))
52 self._CHBOX_ongoing.SetToolTipString(_("Select if procedure is ongoing (say, desensibilization)."))
53 self._PRW_location.SetToolTipString(_("The location (praxis, clinic, ...) this procedure was performed at.\n\nMutually exclusive with \"Hospitalization\". Requires \"Episode\"."))
54 self._BTN_add_location.SetToolTipString(_("Manage organizations and units."))
55 self._PRW_episode.SetToolTipString(_("Select, or enter for creation, the episode to which this procedure will relate.\n\nMutually exclusive with \"Hospitalization\". Requires \"Location\"."))
56 self._PRW_hospital_stay.SetToolTipString(_("During which hospitalization was this procedure performed."))
57 self._BTN_add_stay.SetToolTipString(_("Add a hospitalization."))
58 self._PRW_codes.SetToolTipString(_("Codes relevant to this procedure."))
59
60
62
63 _gszr_main = wx.FlexGridSizer(10, 2, 1, 3)
64 __szr_stay = wx.BoxSizer(wx.HORIZONTAL)
65 __szr_location = wx.BoxSizer(wx.HORIZONTAL)
66 __szr_end_details = wx.BoxSizer(wx.HORIZONTAL)
67 __lbl_procedure = wx.StaticText(self, wx.ID_ANY, _("Procedure"))
68 __lbl_procedure.SetForegroundColour(wx.Colour(255, 0, 0))
69 _gszr_main.Add(__lbl_procedure, 0, wx.ALIGN_CENTER_VERTICAL, 0)
70 _gszr_main.Add(self._PRW_procedure, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
71 __lbl_date = wx.StaticText(self, wx.ID_ANY, _("Date"))
72 __lbl_date.SetForegroundColour(wx.Colour(255, 0, 0))
73 _gszr_main.Add(__lbl_date, 0, wx.ALIGN_CENTER_VERTICAL, 0)
74 _gszr_main.Add(self._DPRW_date, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
75 __lbl_end = wx.StaticText(self, wx.ID_ANY, _("End"))
76 _gszr_main.Add(__lbl_end, 0, wx.ALIGN_CENTER_VERTICAL, 0)
77 __szr_end_details.Add(self._DPRW_end, 1, wx.RIGHT | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 10)
78 __szr_end_details.Add(self._CHBOX_ongoing, 0, wx.ALIGN_CENTER_VERTICAL, 0)
79 _gszr_main.Add(__szr_end_details, 1, wx.EXPAND, 0)
80 _gszr_main.Add((20, 20), 0, wx.EXPAND, 0)
81 _gszr_main.Add(self.static_line_1, 0, wx.LEFT | wx.RIGHT | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 5)
82 __lbl_location = wx.StaticText(self, wx.ID_ANY, _("Location"))
83 __lbl_location.SetForegroundColour(wx.Colour(255, 127, 0))
84 _gszr_main.Add(__lbl_location, 0, wx.ALIGN_CENTER_VERTICAL, 0)
85 __szr_location.Add(self._PRW_location, 1, wx.RIGHT | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 5)
86 __szr_location.Add(self._BTN_add_location, 0, wx.ALIGN_CENTER_VERTICAL, 0)
87 _gszr_main.Add(__szr_location, 1, wx.EXPAND, 0)
88 __lbl_episode = wx.StaticText(self, wx.ID_ANY, _("and Episode"))
89 __lbl_episode.SetForegroundColour(wx.Colour(255, 127, 0))
90 _gszr_main.Add(__lbl_episode, 0, wx.ALIGN_CENTER_VERTICAL, 0)
91 _gszr_main.Add(self._PRW_episode, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
92 __lbl_or = wx.StaticText(self, wx.ID_ANY, _("... or ..."))
93 __lbl_or.SetForegroundColour(wx.Colour(255, 0, 0))
94 _gszr_main.Add(__lbl_or, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL, 0)
95 _gszr_main.Add(self.static_line_2, 0, wx.LEFT | wx.RIGHT | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 20)
96 __lbl_stay = wx.StaticText(self, wx.ID_ANY, _("Hospitalization"))
97 __lbl_stay.SetForegroundColour(wx.Colour(255, 127, 0))
98 _gszr_main.Add(__lbl_stay, 0, wx.ALIGN_CENTER_VERTICAL, 0)
99 __szr_stay.Add(self._PRW_hospital_stay, 1, wx.RIGHT | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 5)
100 __szr_stay.Add(self._BTN_add_stay, 0, wx.ALIGN_CENTER_VERTICAL, 0)
101 _gszr_main.Add(__szr_stay, 1, wx.EXPAND, 0)
102 _gszr_main.Add((20, 20), 0, wx.EXPAND, 0)
103 _gszr_main.Add(self._LBL_hospital_details, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
104 _lbl_codes = wx.StaticText(self, wx.ID_ANY, _("Codes"))
105 _gszr_main.Add(_lbl_codes, 0, wx.ALIGN_CENTER_VERTICAL, 0)
106 _gszr_main.Add(self._PRW_codes, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL, 0)
107 self.SetSizer(_gszr_main)
108 _gszr_main.Fit(self)
109 _gszr_main.AddGrowableCol(1)
110
111
113 print "Event handler `_on_add_hospital_stay_button_pressed' not implemented!"
114 event.Skip()
115
117 print "Event handler `_on_ongoing_checkbox_checked' not implemented"
118 event.Skip()
119
121 print "Event handler '_on_add_location_button_pressed' not implemented!"
122 event.Skip()
123
124