1 try:
2 import wxversion
3 import wx
4 except ImportError:
5 from wxPython import wx
6
9 wx.Panel.__init__(self, parent, id, wx.DefaultPosition, wx.DefaultSize, 0 )
10 sizer = wx.BoxSizer(wx.VERTICAL)
11
12
13
14
15
16
17 txt_habits = wx.TextCtrl(self, 30,
18 "Smoker - 30/day.\n"
19 "Alcohol - 30gm/day (Previously very heavy.\n",
20 wx.DefaultPosition,wx.DefaultSize, style=wxTE_MULTILINE|wx.NO_3D|wx.SIMPLE_BORDER)
21 txt_habits.SetInsertionPoint(0)
22
23 txt_riskfactors = wx.TextCtrl(self,30,
24 "Hypercholesterolaemia \n"
25 "Current Smoker \n"
26 "NIDDM \n"
27 "No exercise data recorded\n",
28 wx.DefaultPosition,wx.DefaultSize, style = wx.TE_MULTILINE)
29 txt_riskfactors.SetInsertionPoint(0)
30
31
32
33
34
35
36
37 text_sizer = wx.BoxSizer(wx.HORIZONTAL)
38 text_sizer.Add(txt_habits,1,wx.EXPAND)
39 text_sizer.Add(txt_riskfactors,1,wx.EXPAND)
40 self.SetSizer(text_sizer)
41 text_sizer.Fit(self)
42 self.SetAutoLayout(True)
43
44
45 self.lists = { 'habit': txt_habits, 'risk': txt_riskfactors }
46
47 print self.GetData()
48
49 self.SetData( { 'habit': ['smoker', 'drinks 20/day'] , 'risk': [ 'cholesterol', 'diabetes'] } )
50
51 - def getTextCtrl(self, which):
52 return self.lists.get(which, "risk")
53
61
63 map = {}
64 for k in self.lists.keys():
65 map[k] = self.lists[k].GetValue().split('\n')
66 return map
67
68
69 if __name__ == "__main__":
70 app = wxPyWidgetTester(size = (400, 200))
71 app.SetWidget(HabitsRiskFactors, -1)
72 app.MainLoop()
73