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._PRW_route = gmPhraseWheel.cPhraseWheel(self, -1, "", style=wx.NO_BORDER)
24 self._CHBOX_live = wx.CheckBox(self, -1, _("Live"))
25 self._CHBOX_fake = wx.CheckBox(self, -1, _("Fake"))
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._PRW_route.SetToolTipString(_("The route by which this vaccine is to be administered.\n\nTypically one of i.m., s.c., or orally."))
40 self._CHBOX_live.SetToolTipString(_("Check if this is a live attenuated vaccine."))
41 self._CHBOX_fake.SetToolTipString(_("Whether this is an actual brand or a generic, fake vaccine."))
42 self._PRW_atc.SetToolTipString(_("The ATC for this vaccine."))
43 self._PRW_age_min.SetToolTipString(_("The minimum age at which this vaccine should be given."))
44 self._PRW_age_max.SetToolTipString(_("The maximum age at which this vaccine should be given."))
45 self._TCTRL_comment.SetToolTipString(_("Any comment you may wish to relate to this vaccine."))
46
47
49
50 _gszr_main = wx.FlexGridSizer(6, 2, 1, 3)
51 __szr_age_range = wx.BoxSizer(wx.HORIZONTAL)
52 _SZR_indications = wx.BoxSizer(wx.VERTICAL)
53 __szr_route_details = wx.BoxSizer(wx.HORIZONTAL)
54 __lbl_name = wx.StaticText(self, -1, _("Name"))
55 __lbl_name.SetForegroundColour(wx.Colour(255, 0, 0))
56 _gszr_main.Add(__lbl_name, 0, wx.ALIGN_CENTER_VERTICAL, 0)
57 _gszr_main.Add(self._PRW_brand, 1, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
58 __lbl_route = wx.StaticText(self, -1, _("Route"))
59 __lbl_route.SetForegroundColour(wx.Colour(255, 0, 0))
60 _gszr_main.Add(__lbl_route, 0, wx.ALIGN_CENTER_VERTICAL, 0)
61 __szr_route_details.Add(self._PRW_route, 1, wx.RIGHT|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5)
62 __szr_route_details.Add(self._CHBOX_live, 0, wx.RIGHT|wx.ALIGN_CENTER_VERTICAL, 5)
63 __szr_route_details.Add(self._CHBOX_fake, 0, wx.ALIGN_CENTER_VERTICAL, 0)
64 _gszr_main.Add(__szr_route_details, 1, wx.EXPAND, 0)
65 __lbl_indications = wx.StaticText(self, -1, _("Protects\nfrom"))
66 __lbl_indications.SetForegroundColour(wx.Colour(255, 0, 0))
67 _gszr_main.Add(__lbl_indications, 0, wx.ALIGN_CENTER_VERTICAL, 0)
68 _SZR_indications.Add(self._PNL_indications, 1, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
69 _gszr_main.Add(_SZR_indications, 1, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
70 __lbl_atc = wx.StaticText(self, -1, _("ATC"))
71 _gszr_main.Add(__lbl_atc, 0, wx.ALIGN_CENTER_VERTICAL, 0)
72 _gszr_main.Add(self._PRW_atc, 1, wx.EXPAND, 0)
73 __lbl_age_range = wx.StaticText(self, -1, _("Age range"))
74 _gszr_main.Add(__lbl_age_range, 0, wx.ALIGN_CENTER_VERTICAL, 0)
75 __szr_age_range.Add(self._PRW_age_min, 1, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
76 __lbl_from_to = wx.StaticText(self, -1, _(u"→"))
77 __szr_age_range.Add(__lbl_from_to, 0, wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL, 10)
78 __szr_age_range.Add(self._PRW_age_max, 1, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
79 _gszr_main.Add(__szr_age_range, 1, wx.EXPAND, 0)
80 __lbl_comment = wx.StaticText(self, -1, _("Comment"))
81 _gszr_main.Add(__lbl_comment, 0, wx.ALIGN_CENTER_VERTICAL, 0)
82 _gszr_main.Add(self._TCTRL_comment, 0, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0)
83 self.SetSizer(_gszr_main)
84 _gszr_main.Fit(self)
85 _gszr_main.AddGrowableCol(1)
86
87
88
89