X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d14a1e28567de23c586bc80017073d0c39f8d18f..7bdfb981a826d29e292738a27700543fa10d2bfb:/wxPython/wx/lib/throbber.py diff --git a/wxPython/wx/lib/throbber.py b/wxPython/wx/lib/throbber.py index d1a8695235..a436e1ea2b 100644 --- a/wxPython/wx/lib/throbber.py +++ b/wxPython/wx/lib/throbber.py @@ -16,14 +16,19 @@ can continue unencumbered. # # $Id$ # +# 12/12/2003 - Jeff Grimmett (grimmtooth@softhome.net) +# +# o 2.5 compatability update. +# + import os import wx # ------------------------------------------------------------------------------ + THROBBER_EVENT = wx.NewEventType() -def EVT_UPDATE_THROBBER(win, func): - win.Connect(-1, -1, THROBBER_EVENT, func) +EVT_UPDATE_THROBBER = wx.PyEventBinder(THROBBER_EVENT, 0) class UpdateThrobberEvent(wx.PyEvent): def __init__(self): @@ -32,7 +37,7 @@ class UpdateThrobberEvent(wx.PyEvent): # ------------------------------------------------------------------------------ -class Throbber(wx.Panel): +class Throbber(wx.PyPanel): """ The first argument is either the name of a file that will be split into frames (a composite image) or a list of strings of image names that will be treated @@ -55,7 +60,7 @@ class Throbber(wx.Panel): reverse = 0, # reverse direction at end of animation style = 0, # window style name = "throbber"): - wx.Panel.__init__(self, parent, id, pos, size, style, name) + wx.PyPanel.__init__(self, parent, id, pos, size, style, name) self.name = name self.label = label self.running = (1 != 1) @@ -118,11 +123,15 @@ class Throbber(wx.Panel): timerID = wx.NewId() self.timer = wx.Timer(self, timerID) - EVT_UPDATE_THROBBER(self, self.Rotate) - wx.EVT_PAINT(self, self.OnPaint) - wx.EVT_TIMER(self, timerID, self.OnTimer) - wx.EVT_WINDOW_DESTROY(self, self.OnDestroyWindow) - + self.Bind(EVT_UPDATE_THROBBER, self.Rotate) + self.Bind(wx.EVT_PAINT, self.OnPaint) + self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer) + self.Bind(wx.EVT_WINDOW_DESTROY, self.OnDestroyWindow) + + + def DoGetBestSize(self): + return (self.width, self.height) + def OnTimer(self, event): wx.PostEvent(self, UpdateThrobberEvent()) @@ -134,13 +143,13 @@ class Throbber(wx.Panel): def Draw(self, dc): - dc.DrawBitmap(self.submaps[self.sequence[self.current]], 0, 0, True) + dc.DrawBitmap(self.submaps[self.sequence[self.current]], (0, 0), True) if self.overlay and self.showOverlay: - dc.DrawBitmap(self.overlay, self.overlayX, self.overlayY, True) + dc.DrawBitmap(self.overlay, (self.overlayX, self.overlayY), True) if self.label and self.showLabel: - dc.DrawText(self.label, self.labelX, self.labelY) + dc.DrawText(self.label, (self.labelX, self.labelY)) dc.SetTextForeground(wx.WHITE) - dc.DrawText(self.label, self.labelX-1, self.labelY-1) + dc.DrawText(self.label, (self.labelX-1, self.labelY-1)) def OnPaint(self, event): @@ -194,7 +203,7 @@ class Throbber(wx.Panel): """Start the animation""" if not self.running: self.running = not self.running - self.timer.Start(self.frameDelay * 1000) + self.timer.Start(int(self.frameDelay * 1000)) def Stop(self):