]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/lib/analogclock/analogclock.py
Compile fixes for Panther
[wxWidgets.git] / wxPython / wx / lib / analogclock / analogclock.py
index 0a0eeff32c42ae799163b075d2055dfa13566d48..16a7c4d3999c89f9158c8ee887ff7c9f4ea97d5f 100644 (file)
@@ -92,7 +92,7 @@ class AnalogClock(wx.PyWindow):
         self.Bind(wx.EVT_MENU, self._OnShowAbout, id=popup2)
 
         # Set initial size based on given size, or best size
-        self.SetBestFittingSize(size)
+        self.SetInitialSize(size)
 
         # Do initial drawing (in case there is not an initial size event)
         self.RecalcCoords(self.GetSize())
@@ -128,9 +128,9 @@ class AnalogClock(wx.PyWindow):
 
 
     def _OnTimer(self, evt):
-        dc = wx.BufferedDC(wx.ClientDC(self), self.GetClientSize())
-        self.DrawHands(dc)
-
+        self.Refresh(False)
+        self.Update()
+        
 
     def _OnDestroyWindow(self, evt):
         self.timer.Stop()
@@ -186,15 +186,11 @@ class AnalogClock(wx.PyWindow):
 
 
     def _drawBox(self):
-        """Draws clock face and tick marks."""
-
-        dc = wx.BufferedDC(wx.ClientDC(self), self.GetClientSize())
-        dc.BeginDrawing()
-        dc.SelectObject(self.faceBitmap)
+        """Draws clock face and tick marks onto the faceBitmap."""
+        dc = wx.BufferedDC(None, self.faceBitmap)
         dc.SetBackground(wx.Brush(self.GetBackgroundColour(), wx.SOLID))
         dc.Clear()
         self.Box.Draw(dc)
-        dc.EndDrawing()
 
 
     def _drawHands(self, dc):
@@ -202,11 +198,8 @@ class AnalogClock(wx.PyWindow):
         Draws the face bitmap, created on the last DrawBox call, and
         clock hands.
         """
-
-        dc.BeginDrawing()
         dc.DrawBitmap(self.faceBitmap, 0, 0)
         self.Hands.Draw(dc)
-        dc.EndDrawing()
 
 
     # Public methods --------------------------------------------------
@@ -331,22 +324,18 @@ class AnalogClock(wx.PyWindow):
         return self.Box.GetTickStyle(target)
 
 
-    def Refresh(self):
+    def Reset(self):
         """
-        Overriden base wx.Window method. Forces an immediate
-        recalculation and redraw of all clock elements.
+        Forces an immediate recalculation and redraw of all clock
+        elements.
         """
-
         size = self.GetClientSize()
         if size.x < 1 or size.y < 1:
             return
-        self.Freeze()
         self.RecalcCoords(size)
         self.DrawBox()
-        dc = wx.BufferedDC(wx.ClientDC(self), self.GetClientSize())
-        self.DrawHands(dc)
-        self.Thaw()
-
+        self.Refresh(False)
+        
 
     def SetHandSize(self, size, target=ALL):
         """Sets thickness of hands."""
@@ -376,28 +365,28 @@ class AnalogClock(wx.PyWindow):
         """Sets sizes of ticks."""
 
         self.Box.SetTickSize(size, target)
-        self.Refresh()
+        self.Reset()
 
 
     def SetTickFillColour(self, colour, target=ALL):
         """Sets fill colours of ticks."""
 
         self.Box.SetTickFillColour(colour, target)
-        self.Refresh()
+        self.Reset()
 
 
     def SetTickBorderColour(self, colour, target=ALL):
         """Sets border colours of ticks."""
 
         self.Box.SetTickBorderColour(colour, target)
-        self.Refresh()
+        self.Reset()
 
 
     def SetTickBorderWidth(self, width, target=ALL):
         """Sets border widths of ticks."""
 
         self.Box.SetTickBorderWidth(width, target)
-        self.Refresh()
+        self.Reset()
 
 
     def SetTickPolygon(self, polygon, target=ALL):
@@ -407,7 +396,7 @@ class AnalogClock(wx.PyWindow):
         """
 
         self.Box.SetTickPolygon(polygon, target)
-        self.Refresh()
+        self.Reset()
 
 
     def SetTickFont(self, font, target=ALL):
@@ -417,35 +406,35 @@ class AnalogClock(wx.PyWindow):
         """
 
         self.Box.SetTickFont(font, target)
-        self.Refresh()
+        self.Reset()
 
 
     def SetTickOffset(self, offset, target=ALL):
         """Sets the distance of tick marks for hours from border."""
 
         self.Box.SetTickOffset(offset, target)
-        self.Refresh()
+        self.Reset()
 
 
     def SetFaceFillColour(self, colour):
         """Sets fill colours of watch."""
 
         self.Box.Face.SetFillColour(colour)
-        self.Refresh()
+        self.Reset()
 
 
     def SetFaceBorderColour(self, colour):
         """Sets border colours of watch."""
 
         self.Box.Face.SetBorderColour(colour)
-        self.Refresh()
+        self.Reset()
 
 
     def SetFaceBorderWidth(self, width):
         """Sets border width of watch."""
 
         self.Box.Face.SetBorderWidth(width)
-        self.Refresh()
+        self.Reset()
 
 
     def SetShadowColour(self, colour):
@@ -453,7 +442,7 @@ class AnalogClock(wx.PyWindow):
 
         self.Hands.SetShadowColour(colour)
         self.Box.SetShadowColour(colour)
-        self.Refresh()
+        self.Reset()
 
 
     def SetClockStyle(self, style):
@@ -479,7 +468,7 @@ class AnalogClock(wx.PyWindow):
 
         self.clockStyle = style
         self.Box.SetIsRotated(style & ROTATE_TICKS)
-        self.Refresh()
+        self.Reset()
 
 
     def SetTickStyle(self, style, target=ALL):
@@ -502,14 +491,14 @@ class AnalogClock(wx.PyWindow):
         """
 
         self.Box.SetTickStyle(style, target)
-        self.Refresh()
+        self.Reset()
 
 
     def SetBackgroundColour(self, colour):
         """Overriden base wx.Window method."""
 
         wx.Window.SetBackgroundColour(self, colour)
-        self.Refresh()
+        self.Reset()
 
 
     def SetForegroundColour(self, colour):
@@ -523,7 +512,7 @@ class AnalogClock(wx.PyWindow):
         self.SetHandBorderColour(colour)
         self.SetTickFillColour(colour)
         self.SetTickBorderColour(colour)
-        self.Refresh()
+        self.Reset()
 
 
     def SetWindowStyle(self, *args, **kwargs):
@@ -559,7 +548,7 @@ class AnalogClockWindow(AnalogClock):
         if m:
             self.SetHandSize(m, MINUTE)
         if s:
-            self.SetHandSize(h, SECOND)
+            self.SetHandSize(s, SECOND)
 
     def SetHandColours(self, h=None, m=None, s=None):
         if h and not m and not s:
@@ -572,8 +561,8 @@ class AnalogClockWindow(AnalogClock):
             self.SetHandBorderColour(m, MINUTE)
             self.SetHandFillColour(m, MINUTE)
         if s:
-            self.SetHandBorderColour(h, SECOND)
-            self.SetHandFillColour(h, SECOND)
+            self.SetHandBorderColour(s, SECOND)
+            self.SetHandFillColour(s, SECOND)
 
     def SetTickColours(self, h=None, m=None):
         if not m:
@@ -589,13 +578,13 @@ class AnalogClockWindow(AnalogClock):
         if h:
             self.SetTickSize(h, HOUR)
         if m:
-            self.SetTickSize(h, MINUTE)
+            self.SetTickSize(m, MINUTE)
 
     def SetTickFontss(self, h=None, m=None):
         if h:
             self.SetTickFont(h, HOUR)
         if m:
-            self.SetTickFont(h, MINUTE)
+            self.SetTickFont(m, MINUTE)
 
 
     def SetMinutesOffset(self, o):