1
2
3
4
5 import wx
6
7
8
9
10
11
14
15 from Gnumed.wxpython import gmMedicationWidgets
16 from Gnumed.wxpython import gmPhraseWheel
17 from Gnumed.wxpython.gmVaccWidgets import cVaccinationIndicationsPnl
18
19
20 kwds["style"] = wx.NO_BORDER|wx.TAB_TRAVERSAL
21 wx.ScrolledWindow.__init__(self, *args, **kwds)
22 self._PRW_brand = gmMedicationWidgets.cBrandedDrugPhraseWheel(self, -1, "", style=wx.NO_BORDER)
23 self._CHBOX_fake = wx.CheckBox(self, -1, _("Fake"))
24 self._PRW_route = gmPhraseWheel.cPhraseWheel(self, -1, "", style=wx.NO_BORDER)
25 self._CHBOX_live = wx.CheckBox(self, -1, _("Live"))
26 self._PNL_indications = cVaccinationIndicationsPnl(self, -1, style=wx.NO_BORDER|wx.TAB_TRAVERSAL)
27 self._PRW_atc = gmMedicationWidgets.cATCPhraseWheel(self, -1, "", style=wx.NO_BORDER)
28 self._PRW_age_min = gmPhraseWheel.cPhraseWheel(self, -1, "", style=wx.NO_BORDER)
29 self._PRW_age_max = gmPhraseWheel.cPhraseWheel(self, -1, "", style=wx.NO_BORDER)
30 self._TCTRL_comment = wx.TextCtrl(self, -1, "", style=wx.NO_BORDER)
31
32 self.__set_properties()
33 self.__do_layout()
34
35
37
38 self.SetScrollRate(10, 10)
39 self._CHBOX_fake.SetToolTipString(_("Whether this is an actual brand or a generic, fake vaccine."))
40 self._PRW_route.SetToolTipString(_("The route by which this vaccine is to be administered.\n\nTypically one of i.m., s.c., or orally."))
41 self._PRW_route.Enable(False)
42 self._PRW_route.Hide()
43 self._CHBOX_live.SetToolTipString(_("Check if this is a live attenuated vaccine."))
44 self._CHBOX_live.Enable(False)
45 self._CHBOX_live.Hide()
46 self._PRW_atc.SetToolTipString(_("The ATC for this vaccine."))
47 self._PRW_age_min.SetToolTipString(_("The minimum age at which this vaccine should be given."))
48 self._PRW_age_max.SetToolTipString(_("The maximum age at which this vaccine should be given."))
49 self._TCTRL_comment.SetToolTipString(_("Any comment you may wish to relate to this vaccine."))
50
51
53
54 _gszr_main = wx.FlexGridSizer(6, 2, 1, 3)
55 __szr_age_range = wx.BoxSizer(wx.HORIZONTAL)
56 _SZR_indications = wx.BoxSizer(wx.VERTICAL)
57 __szr_route_details = wx.BoxSizer(wx.HORIZONTAL)
58 __szr_brand_details = wx.BoxSizer(wx.HORIZONTAL)
59 __lbl_name = wx.StaticText(self, -1, _("Name"))
60 __lbl_name.SetForegroundColour(wx.Colour(255, 0, 0))
61 _gszr_main.Add(__lbl_name, 0, wx.ALIGN_CENTER_VERTICAL, 0)
62 __szr_brand_details.Add(self._PRW_brand, 1, wx.RIGHT|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5)
63 __szr_brand_details.Add(self._CHBOX_fake, 0, wx.ALIGN_CENTER_VERTICAL, 0)
64 _gszr_main.Add(__szr_brand_details, 1, wx.EXPAND, 0)
65 __lbl_route = wx.StaticText(self, -1, _("Route"))
66 __lbl_route.SetForegroundColour(wx.Colour(255, 0, 0))
67 __lbl_route.Enable(False)
68 __lbl_route.Hide()
69 _gszr_main.Add(__lbl_route, 0, wx.ALIGN_CENTER_VERTICAL, 0)
70 __szr_route_details.Add(self._PRW_route, 1, wx.RIGHT|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5)
71 __szr_route_details.Add(self._CHBOX_live, 0, wx.RIGHT|wx.ALIGN_CENTER_VERTICAL, 5)
72 _gszr_main.Add(__szr_route_details, 1, wx.EXPAND, 0)
73 __lbl_indications = wx.StaticText(self, -1, _("Protects\nfrom"))
74 __lbl_indications.SetForegroundColour(wx.Colour(255, 0, 0))
75 _gszr_main.Add(__lbl_indications, 0, wx.ALIGN_CENTER_VERTICAL, 0)
76 _SZR_indications.Add(self._PNL_indications, 1, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
77 _gszr_main.Add(_SZR_indications, 1, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
78 __lbl_atc = wx.StaticText(self, -1, _("ATC"))
79 _gszr_main.Add(__lbl_atc, 0, wx.ALIGN_CENTER_VERTICAL, 0)
80 _gszr_main.Add(self._PRW_atc, 1, wx.EXPAND, 0)
81 __lbl_age_range = wx.StaticText(self, -1, _("Age range"))
82 _gszr_main.Add(__lbl_age_range, 0, wx.ALIGN_CENTER_VERTICAL, 0)
83 __szr_age_range.Add(self._PRW_age_min, 1, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
84 __lbl_from_to = wx.StaticText(self, -1, _(u"→"))
85 __szr_age_range.Add(__lbl_from_to, 0, wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL, 10)
86 __szr_age_range.Add(self._PRW_age_max, 1, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
87 _gszr_main.Add(__szr_age_range, 1, wx.EXPAND, 0)
88 __lbl_comment = wx.StaticText(self, -1, _("Comment"))
89 _gszr_main.Add(__lbl_comment, 0, wx.ALIGN_CENTER_VERTICAL, 0)
90 _gszr_main.Add(self._TCTRL_comment, 0, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
91 self.SetSizer(_gszr_main)
92 _gszr_main.Fit(self)
93 _gszr_main.AddGrowableCol(1)
94
95
96
97