]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/AnalogClockWindow.py
Add --with-sdl to the build doc and RPM spec
[wxWidgets.git] / wxPython / demo / AnalogClockWindow.py
index 552693eef4018710e0845f298274ec5ffd07266c..ccfc869f85bd65d2a4263ac76cb255d240a2fa9f 100644 (file)
@@ -1,10 +1,9 @@
-# 11/4/03 - grimmtooth@softhome.net (Jeff Grimmett)
-# 
-# o wx Namespace 
-#
 
-import  wx
-import  wx.lib.analogclock  as  aclock
+
+
+import wx
+from wx.lib import analogclock as ac
+
 
 #----------------------------------------------------------------------
 
@@ -13,36 +12,56 @@ class TestPanel(wx.Panel):
         self.log = log
         wx.Panel.__init__(self, parent, -1)
 
-        # A red background with blue hands and white markings
-        c1 = aclock.AnalogClockWindow(self)
+        # A mostly default clock
+        c1 = ac.AnalogClockWindow(self)
         c1.SetBackgroundColour("RED")
-        c1.SetHandsColour("BLUE")
-        c1.SetTickMarkColours("WHITE")
-
-        # A white background with red hands and blue markings
-        c2 = aclock.AnalogClockWindow(self)
+        c1.SetHandColours("BLUE")
+        c1.SetTickColours("WHITE")
+        c1.SetTickSizes(h=5, m=2)
+
+        
+        # A clock with roman numerals, shown only at the quarter
+        # marks, and a separatly coloured watch face.
+        c2 = ac.AnalogClockWindow(self)
         c2.SetBackgroundColour("WHITE")
-        c2.SetHandsColour("RED")
-        c2.SetTickMarkColours("BLUE")
-
-        # A blue background with white hands and red markings
-        c3 = aclock.AnalogClockWindow(self)
+        c2.SetHandColours("RED")
+        c2.SetTickColours("BLUE")
+        c2.SetTickStyles(ac.TICKS_ROMAN)
+        c2.SetClockStyle(ac.SHOW_QUARTERS_TICKS | ac.SHOW_SHADOWS)
+        c2.SetWatchPenBrush(p=wx.Pen((238, 238, 227), 1, wx.SOLID),
+                            b=wx.Brush("CADET BLUE", wx.SOLID))
+        c2.SetTickSizes(h=12)
+
+        # A clock with rotated decimal numbers, shown at all twelve
+        # hour marks
+        c3 = ac.AnalogClockWindow(self)
         c3.SetBackgroundColour("BLUE")
-        c3.SetHandsColour("WHITE")
-        c3.SetTickMarkColours("RED")
+        c3.SetHandColours("WHITE")
+        c3.SetTickColours("RED")
+        c3.SetTickStyles(h=ac.TICKS_DECIMAL)
+        c3.SetClockStyle(ac.SHOW_HOURS_TICKS | ac.ROTATE_TICKS)
+        c3.SetTickSizes(h=14)
 
-        # Raised border, circular tick marks.
-        c4 = aclock.AnalogClockWindow(self, style=wx.RAISED_BORDER)
-        c4.SetTickMarkStyle(aclock.AnalogClockWindow.TICKS_CIRCLE)
+        # a plain clock, with square hour and round minute marks, no
+        # shadow raised border
+        c4 = ac.AnalogClockWindow(self, style=wx.RAISED_BORDER)
+        c4.SetTickStyles(h=ac.TICKS_SQUARE, m=ac.TICKS_CIRCLE)
+        c4.SetClockStyle(ac.SHOW_HOURS_TICKS | ac.SHOW_MINUTES_TICKS)
+        c4.SetTickSizes(h=5, m=2)
 
-        # No tick marks
-        c5 = aclock.AnalogClockWindow(self)
-        c5.SetTickMarkStyle(aclock.AnalogClockWindow.TICKS_NONE)
 
-        # Sunken into window
-        c6 = aclock.AnalogClockWindow(self, style=wx.SUNKEN_BORDER)
+        # no minute tick marks
+        c5 = ac.AnalogClockWindow(self)
+        c5.SetTickStyles(h=ac.TICKS_CIRCLE)
+        c5.SetClockStyle(ac.SHOW_HOURS_TICKS | ac.SHOW_SHADOWS | ac.ROTATE_TICKS)
+        c5.SetTickSizes(h=5, m=2)
 
-        # layout the clocks in a grid sizer
+        # sunken border
+        c6 = ac.AnalogClockWindow(self, style=wx.SUNKEN_BORDER)
+        c6.SetTickSizes(h=5, m=2)
+
+
+        # layout the clocks in a grid
         gs = wx.GridSizer(2, 3, 4, 4)
         gs.Add(c1, 0, wx.EXPAND)
         gs.Add(c2, 0, wx.EXPAND)
@@ -53,7 +72,7 @@ class TestPanel(wx.Panel):
 
         # put it in another sizer for a border
         sizer = wx.BoxSizer(wx.VERTICAL)
-        sizer.Add(gs, 1, wx.EXPAND|wx.ALL, 10)
+        sizer.Add(gs, 1, wx.EXPAND | wx.ALL, 10)
 
         self.SetSizer(sizer)
 
@@ -73,12 +92,15 @@ overview = """<html><body>
 
 This is a nice little clock class that was contributed to by several
 members of the wxPython-users group.
-
+<p>
+Check the options available by right-clicking the clock.
 </body></html>
 """
 
+
+
 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:])