]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/AnalogClockWindow.py
wxCheckListBox doesn't require wxUSE_OWNER_DRAWN when using WXUNIVERSAL
[wxWidgets.git] / wxPython / demo / AnalogClockWindow.py
index 7d85145a33879c406f78a81b79c01dd6399942c0..ccfc869f85bd65d2a4263ac76cb255d240a2fa9f 100644 (file)
@@ -1,52 +1,78 @@
 
 
 
-from wxPython.wx import *
-from wxPython.lib.analogclock import AnalogClockWindow
+import wx
+from wx.lib import analogclock as ac
+
 
 #----------------------------------------------------------------------
 
-class TestPanel(wxPanel):
+class TestPanel(wx.Panel):
     def __init__(self, parent, log):
         self.log = log
-        wxPanel.__init__(self, parent, -1)
+        wx.Panel.__init__(self, parent, -1)
 
-        c1 = AnalogClockWindow(self)
+        # A mostly default clock
+        c1 = ac.AnalogClockWindow(self)
         c1.SetBackgroundColour("RED")
-        c1.SetHandsColour("BLUE")
-        c1.SetTickMarkColours("WHITE")
-
-        c2 = 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")
-
-        c3 = 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)
 
-        c4 = AnalogClockWindow(self, style=wxRAISED_BORDER)
-        c4.SetTickMarkStyle(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)
 
-        c5 = AnalogClockWindow(self)
-        c5.SetTickMarkStyle(AnalogClockWindow.TICKS_NONE)
 
-        c6 = AnalogClockWindow(self, style=wxSUNKEN_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)
+
+        # sunken border
+        c6 = ac.AnalogClockWindow(self, style=wx.SUNKEN_BORDER)
+        c6.SetTickSizes(h=5, m=2)
 
 
         # layout the clocks in a grid
-        gs = wxGridSizer(2, 3, 4, 4)
-        gs.Add(c1, 0, wxEXPAND)
-        gs.Add(c2, 0, wxEXPAND)
-        gs.Add(c3, 0, wxEXPAND)
-        gs.Add(c4, 0, wxEXPAND)
-        gs.Add(c5, 0, wxEXPAND)
-        gs.Add(c6, 0, wxEXPAND)
+        gs = wx.GridSizer(2, 3, 4, 4)
+        gs.Add(c1, 0, wx.EXPAND)
+        gs.Add(c2, 0, wx.EXPAND)
+        gs.Add(c3, 0, wx.EXPAND)
+        gs.Add(c4, 0, wx.EXPAND)
+        gs.Add(c5, 0, wx.EXPAND)
+        gs.Add(c6, 0, wx.EXPAND)
 
         # put it in another sizer for a border
-        sizer = wxBoxSizer(wxVERTICAL)
-        sizer.Add(gs, 1, wxEXPAND|wxALL, 10)
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        sizer.Add(gs, 1, wx.EXPAND | wx.ALL, 10)
 
         self.SetSizer(sizer)
 
@@ -66,7 +92,8 @@ 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>
 """
 
@@ -75,5 +102,5 @@ members of the wxPython-users group.
 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:])