Package Gnumed :: Package wxpython :: Module gmGP_HabitsRiskFactors |
[frames] | no frames]

# Source Code for Module Gnumed.wxpython.gmGP_HabitsRiskFactors

     1  import wx
     2
     3 -class HabitsRiskFactors(wx.Panel):
     4 -    def __init__(self, parent,id):
     5          wx.Panel.__init__(self, parent, id, wx.DefaultPosition, wx.DefaultSize, 0 )
     6          sizer = wx.BoxSizer(wx.VERTICAL)
     7
     8          #captions for the two columns
     9          #habit_caption = gmTerryGuiParts..cDividerCaption(self,-1,"Habits")
    10          #risk_caption = gmTerryGuiParts.cDividerCaption(self,-1,"Risk Factors")
    11
    12          #text controls for each column
    13          txt_habits = wx.TextCtrl(self, 30,
    14                          "Smoker - 30/day.\n"
    15                          "Alcohol - 30gm/day (Previously very heavy.\n",
    16                                wx.DefaultPosition,wx.DefaultSize, style=wxTE_MULTILINE|wx.NO_3D|wx.SIMPLE_BORDER)
    17          txt_habits.SetInsertionPoint(0)
    18
    19          txt_riskfactors = wx.TextCtrl(self,30,
    20                               "Hypercholesterolaemia \n"
    21                               "Current Smoker \n"
    22                               "NIDDM \n"
    23                               "No exercise data recorded\n",
    24                                wx.DefaultPosition,wx.DefaultSize, style = wx.TE_MULTILINE)
    25          txt_riskfactors.SetInsertionPoint(0)
    26          #heading sizer- add headings
    27          #heading_sizer = wx.BoxSizer(wxHORIZONTAL)
    28          #heading_sizer.Add(habit_caption,1,wxEXPAND)
    29          #heading_sizer.Add(risk_caption,1,wxEXPAND)
    30          #self.SetSizer(heading_sizer)  #set the sizer
    31          #heading_sizer.Fit(self)             #set
    32          ##text sizer - add text
    33          text_sizer = wx.BoxSizer(wx.HORIZONTAL)
    34          text_sizer.Add(txt_habits,1,wx.EXPAND)
    35          text_sizer.Add(txt_riskfactors,1,wx.EXPAND)
    36          self.SetSizer(text_sizer)  #set the sizer
    37          text_sizer.Fit(self)             #set
    38          self.SetAutoLayout(True)                 #tell frame to use the sizer
    39          #self.Show(True)
    40
    41          self.lists = { 'habit': txt_habits, 'risk': txt_riskfactors }
    42
    43          print self.GetData()
    44
    45          self.SetData( { 'habit': ['smoker', 'drinks 20/day'] , 'risk': [ 'cholesterol', 'diabetes'] } )
    46
    47 -    def getTextCtrl(self, which):
    48                  return self.lists.get(which, "risk")
    49
    50 -    def SetData(self, map):
    51                  for which, data in map.items():
    52                          if type(data) == type(""):
    53                                  self.lists.get(which, 'risk').SetValue(data)
    54
    55                          if type(data) in [ type([]), type ( () ) ]:
    56                                  self.lists.get(which, 'risk').SetValue("\n".join(data))
    57
    58 -    def GetData(self):
    59                  map = {}
    60                  for k in self.lists.keys():
    61                          map[k] = self.lists[k].GetValue().split('\n')
    62                  return map
    63
    64
    65  if __name__ == "__main__":
    66          app = wxPyWidgetTester(size = (400, 200))
    67          app.SetWidget(HabitsRiskFactors, -1)
    68          app.MainLoop()
    69