class MemoDialog(wx.Dialog): def __init__(self,parent,parameters): wx.Dialog.__init__(self,parent,parameters.id(),parameters.label(),style=wx.DEFAULT_DIALOG_STYLE|wx.MAXIMIZE_BOX|wx.THICK_FRAME|wx.RESIZE_BORDER,size=(400,300)) self.theName = '' self.theDescription = '' self.theId = -1 self.panel = 0 self.buildControls(parameters) self.commitVerb = 'Add' def name(self): return self.theName def memo(self): return self.theDescription def buildControls(self,parameters): mainSizer = wx.BoxSizer(wx.VERTICAL) self.panel = MemoPanel(self) self.panel.buildControls(parameters.createFlag(),parameters.label()) mainSizer.Add(self.panel,1,wx.EXPAND) self.SetSizer(mainSizer) wx.EVT_BUTTON(self,MEMO_BUTTONCOMMIT_ID,self.onCommit) def load(self,objt): self.theId = objt.id() self.panel.loadControls(objt) self.commitVerb = 'Edit' def onCommit(self,evt): commitLabel = self.commitVerb + ' memo' nameCtrl = self.FindWindowById(MEMO_TEXTNAME_ID) descCtrl = self.FindWindowById(MEMO_TEXTDESCRIPTION_ID) self.theName = nameCtrl.GetValue() self.theDescription = descCtrl.GetValue() if len(self.theName) == 0: dlg = wx.MessageDialog(self,'Name cannot be empty',commitLabel,wx.OK) dlg.ShowModal() dlg.Destroy() return if len(self.theDescription) == 0: dlg = wx.MessageDialog(self,'Description cannot be empty',commitLabel,wx.OK) dlg.ShowModal() dlg.Destroy() return else: self.EndModal(MEMO_BUTTONCOMMIT_ID) def parameters(self): parameters = MemoParameters(self.theName,self.theDescription) parameters.setId(self.theId) return parameters