X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec873c943d71f0d5f13e3398557071448cda6c23..a4027e74873007e3430af3bd77019bcab76f6c04:/wxPython/samples/wxPIA_book/Chapter-05/modelExample.py diff --git a/wxPython/samples/wxPIA_book/Chapter-05/modelExample.py b/wxPython/samples/wxPIA_book/Chapter-05/modelExample.py deleted file mode 100644 index be3c6878d5..0000000000 --- a/wxPython/samples/wxPIA_book/Chapter-05/modelExample.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python - -import wx -import abstractmodel - -class SimpleName(abstractmodel.AbstractModel): - - def __init__(self, first="", last=""): - abstractmodel.AbstractModel.__init__(self) - self.set(first, last) - - def set(self, first, last): - self.first = first - self.last = last - self.update() - -class ModelExample(wx.Frame): - - def __init__(self, parent, id): - wx.Frame.__init__(self, parent, id, 'Flintstones', - size=(340, 200)) - panel = wx.Panel(self) - panel.SetBackgroundColour("White") - self.Bind(wx.EVT_CLOSE, self.OnCloseWindow) - self.textFields = {} - self.createTextFields(panel) - self.model = SimpleName() - self.model.addListener(self.OnUpdate) - self.createButtonBar(panel) - - def buttonData(self): - return (("Fredify", self.OnFred), - ("Wilmafy", self.OnWilma), - ("Barnify", self.OnBarney), - ("Bettify", self.OnBetty)) - - def createButtonBar(self, panel, yPos = 0): - xPos = 0 - for eachLabel, eachHandler in self.buttonData(): - pos = (xPos, yPos) - button = self.buildOneButton(panel, eachLabel, eachHandler, pos) - xPos += button.GetSize().width - - def buildOneButton(self, parent, label, handler, pos=(0,0)): - button = wx.Button(parent, -1, label, pos) - self.Bind(wx.EVT_BUTTON, handler, button) - return button - - def textFieldData(self): - return (("First Name", (10, 50)), - ("Last Name", (10, 80))) - - def createTextFields(self, panel): - for eachLabel, eachPos in self.textFieldData(): - self.createCaptionedText(panel, eachLabel, eachPos) - - def createCaptionedText(self, panel, label, pos): - static = wx.StaticText(panel, wx.NewId(), label, pos) - static.SetBackgroundColour("White") - textPos = (pos[0] + 75, pos[1]) - self.textFields[label] = wx.TextCtrl(panel, wx.NewId(), - "", size=(100, -1), pos=textPos, - style=wx.TE_READONLY) - - def OnUpdate(self, model): - self.textFields["First Name"].SetValue(model.first) - self.textFields["Last Name"].SetValue(model.last) - - def OnFred(self, event): - self.model.set("Fred", "Flintstone") - - def OnBarney(self, event): - self.model.set("Barney", "Rubble") - - def OnWilma(self, event): - self.model.set("Wilma", "Flintstone") - - def OnBetty(self, event): - self.model.set("Betty", "Rubble") - - def OnCloseWindow(self, event): - self.Destroy() - -if __name__ == '__main__': - app = wx.PySimpleApp() - frame = ModelExample(parent=None, id=-1) - frame.Show() - app.MainLoop() -