#
# $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):
# ------------------------------------------------------------------------------
-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
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)
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())
"""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):