All pastes #906797 Raw Edit

Mine

public text v1 · immutable
·published 2008-02-16 23:50 UTC
rendered paste body
import wx, random

APP_SIZE_X = 300
APP_SIZE_Y = 200

class MyButtons(wx.Dialog):
    def __init__(self, parent, id, title):
        wx.Dialog.__init__(self, parent, id, title, size=(APP_SIZE_X, APP_SIZE_Y))

        #wx.Button(self, 1, 'Close', (200, 130))
        #wx.Button(self, 2, 'Random Move', (150, 130), (110, -1))
        sizer = wx.BoxSizer(wx.VERTICAL)
        self.display = wx.TextCtrl(self, -1, '',  style=wx.TE_RIGHT)
        sizer.Add(self.display, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 4)
        
        row = 0
        x = 0
        for i in range(0,9):
            if i % 3 == 0:
                row += 1
                x = 0
            x += 30
            print "%i, %i" % (i, row)
            wx.Button(self, i, str(i), (x, 30*row), (30,30))
            
        wx.Button(self, 11, "+", (30*4, 30*row), (30,30))
        wx.Button(self, 12, "-", (30*4, (30*row)-30), (30,30))
        wx.Button(self, 13, "=", (30*4, (30*row)-30*2), (30,30))

        self.Bind(wx.EVT_BUTTON, self.OnClose, id=1)
        #self.Bind(wx.EVT_BUTTON, self.OnRandomMove, id=2)
        for i in range(0,9):
            self.Bind(wx.EVT_BUTTON, self.ButtonPressed, id=i)
        self.Bind(wx.EVT_BUTTON, self.ButtonPressed, id=11)
        self.Bind(wx.EVT_BUTTON, self.ButtonPressed, id=12)
        self.Bind(wx.EVT_BUTTON, self.ButtonPressed, id=13)

        self.Centre()
        self.ShowModal()
        self.Destroy()
        
    def ButtonPressed(self, event):
        txt = event.GetId() # id = number of button :\
        if txt == 13:
            # equals
            eq = self.display.GetValue()
            self.display.Clear()
            self.display.AppendText( str(eval(eq)) )
            return
        if txt == 11: txt = "+"
        if txt == 12: txt = "-"
        
        self.display.AppendText( str(txt) )
        
        #print "txt:", txt
    def OnClose(self, event):
        for e in dir(event):
            print "dir:", e
        print "e:", event.GetClientData()
        #self.Close(True)

    def OnRandomMove(self, event):
        screensize = wx.GetDisplaySize()
        randx = random.randrange(0, screensize.x - APP_SIZE_X)
        randy = random.randrange(0, screensize.y - APP_SIZE_Y)
        self.Move((randx, randy))

app = wx.App(0)
MyButtons(None, -1, 'calc, faith ;)')
app.MainLoop()