X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e4a197e4c60e461b8068b0619692ea083e30b8b..d0ee33f5c6908b4ac5e1364381f0ef00942e3936:/wxPython/demo/Throbber.py?ds=sidebyside diff --git a/wxPython/demo/Throbber.py b/wxPython/demo/Throbber.py index 2aadab2f90..10b91c667e 100644 --- a/wxPython/demo/Throbber.py +++ b/wxPython/demo/Throbber.py @@ -1,17 +1,16 @@ -# -# Throbber.py - Cliff Wells -# -from wxPython.wx import * -from wxPython.lib.rcsizer import RowColSizer -from wxPython.lib.throbber import Throbber, __doc__ as docString +import wx +import wx.lib.throbber as throb + import throbImages # this was created using a modified version of img2py +from wx.lib.throbber import __doc__ as docString + #---------------------------------------------------------------------- -class TestPanel(wxPanel): +class TestPanel(wx.Panel): def __init__(self, parent, log): - wxPanel.__init__(self, parent, -1) + wx.Panel.__init__(self, parent, -1) self.log = log # create the throbbers @@ -34,83 +33,79 @@ class TestPanel(wxPanel): for i in throbImages.index if i not in ['eclouds', 'logo']] - self.throbbers['plain']['throbber'] = Throbber(self, -1, - images, size=(36, 36), - frameDelay = 0.1) - self.throbbers['reverse']['throbber'] = Throbber(self, -1, images, #size=(36, 36), - frameDelay = 0.07) + self.throbbers['plain']['throbber'] = \ + throb.Throbber(self, -1, images, size=(36, 36),frameDelay = 0.1) + + self.throbbers['reverse']['throbber'] = \ + throb.Throbber(self, -1, images, frameDelay = 0.07) + self.throbbers['reverse']['throbber'].Reverse() - self.throbbers['autoreverse']['throbber'] = Throbber(self, -1, - images, #size=(36, 36), - frameDelay = 0.1, - reverse = True) + + self.throbbers['autoreverse']['throbber'] = \ + throb.Throbber(self, -1, images, frameDelay = 0.1, reverse = True) + self.throbbers['autoreverse']['throbber'].sequence.append(0) - self.throbbers['label']['throbber'] = Throbber(self, -1, - images, #size=(36, 36), - frameDelay = 0.1, - label = 'Label') - self.throbbers['label']['throbber'].SetFont(wxFont(pointSize = 10, - family = wxDEFAULT, - style = wxNORMAL, - weight = wxBOLD)) - self.throbbers['overlay']['throbber'] = Throbber(self, -1, - images, #size=(36, 36), - frameDelay = 0.1, - overlay = throbImages.catalog['logo'].getBitmap()) - self.throbbers['overlay+text']['throbber'] = Throbber(self, -1, - images, #size=(36, 36), - frameDelay = 0.1, - overlay = throbImages.catalog['logo'].getBitmap(), - label = "Python!") - self.throbbers['overlay+text']['throbber'].SetFont(wxFont(pointSize = 8, - family = wxDEFAULT, - style = wxNORMAL, - weight = wxBOLD)) - - - # this throbber is created using a single, composite image - self.otherThrobber = Throbber(self, -1, - throbImages.catalog['eclouds'].getBitmap(), #size=(48, 48), - frameDelay = 0.15, - frames = 12, - frameWidth = 48, - label = "Stop") - - - EVT_LEFT_DOWN(self.otherThrobber, self.OnClickThrobber) - - box = wxBoxSizer(wxVERTICAL) - sizer = RowColSizer() - box.Add(sizer, 1, wxEXPAND|wxALL, 5) - sizer.AddGrowableCol(1) - sizer.Add(self.otherThrobber, row = 0, col = 2, rowspan = 4, flag = wxALIGN_CENTER_VERTICAL) + self.throbbers['label']['throbber'] = \ + throb.Throbber(self, -1, images, frameDelay = 0.1, label = 'Label') + + self.throbbers['label']['throbber'].SetFont(wx.Font( + pointSize = 10, family = wx.DEFAULT, style = wx.NORMAL, weight = wx.BOLD + )) + + self.throbbers['overlay']['throbber'] = \ + throb.Throbber( + self, -1, images, frameDelay = 0.1, + overlay = throbImages.catalog['logo'].getBitmap() + ) + + self.throbbers['overlay+text']['throbber'] = \ + throb.Throbber( + self, -1, images, frameDelay = 0.1, + overlay = throbImages.catalog['logo'].getBitmap(), label = "Python!" + ) + + self.throbbers['overlay+text']['throbber'].SetFont(wx.Font( + pointSize = 8, family = wx.DEFAULT, style = wx.NORMAL, weight = wx.BOLD + )) + + box = wx.BoxSizer(wx.VERTICAL) + sizer = wx.GridBagSizer() + box.Add(sizer, 1, wx.EXPAND|wx.ALL, 5) + sizer.AddGrowableCol(1) row = 2 + # use a list so we can keep our order for t in ['plain', 'reverse', 'autoreverse', 'label', 'overlay', 'overlay+text']: - sizer.Add(self.throbbers[t]['throbber'], row = row, col = 0, flag = wxALIGN_CENTER|wxALL, border=2) - sizer.Add(wxStaticText(self, -1, self.throbbers[t]['text']), row = row, col = 1, - flag = wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT) + sizer.Add( + self.throbbers[t]['throbber'], (row, 0), (1, 1), + flag = wx.ALIGN_CENTER|wx.ALL, border=2 + ) + + sizer.Add( + wx.StaticText(self, -1, self.throbbers[t]['text']), + (row, 1), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT + ) + row += 1 # start and stop buttons - startButton = wxButton(self, -1, "Start") - EVT_BUTTON(self, startButton.GetId(), self.OnStartAnimation) - stopButton = wxButton(self, -1, "Stop") - EVT_BUTTON(self, stopButton.GetId(), self.OnStopAnimation) + startButton = wx.Button(self, -1, "Start") + self.Bind(wx.EVT_BUTTON, self.OnStartAnimation, startButton) - buttonBox = wxBoxSizer(wxHORIZONTAL) + stopButton = wx.Button(self, -1, "Stop") + self.Bind(wx.EVT_BUTTON, self.OnStopAnimation, stopButton) + + buttonBox = wx.BoxSizer(wx.HORIZONTAL) buttonBox.AddMany([ - (startButton, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 5), - (stopButton, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 5), + (startButton, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5), + (stopButton, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5), ]) - sizer.Add(buttonBox, - row = len(self.throbbers) + 3, - col = 0, - colspan = 3, - flag = wxALIGN_CENTER) + sizer.Add( + buttonBox, (len(self.throbbers) + 3, 0), (1, 3), flag = wx.ALIGN_CENTER + ) self.SetSizer(box) self.SetAutoLayout(True) @@ -120,10 +115,8 @@ class TestPanel(wxPanel): for t in self.throbbers.keys(): self.throbbers[t]['throbber'].Start() - self.otherThrobber.Start() - self.otherThrobber.Reverse() - EVT_WINDOW_DESTROY(self, self.OnDestroy) + self.Bind(wx.EVT_WINDOW_DESTROY, self.OnDestroy) def OnDestroy(self, event): self.log.write("got destroy event") @@ -137,16 +130,7 @@ class TestPanel(wxPanel): for t in self.throbbers.keys(): self.throbbers[t]['throbber'].Rest() - def OnClickThrobber(self, event): - if self.otherThrobber.Running(): - self.otherThrobber.Rest() - self.otherThrobber.SetLabel("Start") - else: - self.otherThrobber.Start() - self.otherThrobber.SetLabel("Stop") - def ShutdownDemo(self): - self.otherThrobber.Rest() for t in self.throbbers.keys(): self.throbbers[t]['throbber'].Rest() @@ -154,13 +138,8 @@ class TestPanel(wxPanel): #---------------------------------------------------------------------- def runTest(frame, nb, log): - if wxPlatform == "__WXMAC__": - wxMessageBox("This demo currently fails on the Mac.", - "Sorry") - return - else: - win = TestPanel(nb, log) - return win + win = TestPanel(nb, log) + return win #---------------------------------------------------------------------- @@ -177,4 +156,4 @@ overview = """ if __name__ == '__main__': import sys,os import run - run.main(['', os.path.basename(sys.argv[0])]) + run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])