]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/wxCalendarCtrl.py
reSWIGged
[wxWidgets.git] / wxPython / demo / wxCalendarCtrl.py
index 02c771ad33e88e95094c85681042e9702fc445a4..03fc569b4d611605e524ae2c5f05550f15f758b0 100644 (file)
@@ -1,24 +1,35 @@
+# 11/15/2003 - Jeff Grimmett (grimmtooth@softhome.net)
+#
+# o Updated for wx namespace
+# 
 
-from wxPython.wx import *
-from wxPython.calendar import *
-from wxPython.utils import *
+import  wx
+import  wx.lib.calendar as calendar
 
 #----------------------------------------------------------------------
 
-class TestPanel(wxPanel):
+class TestPanel(wx.Panel):
     def __init__(self, parent, ID, log):
-        wxPanel.__init__(self, parent, ID)
+        wx.Panel.__init__(self, parent, ID)
         self.log = log
 
-        cal = wxCalendarCtrl(self, -1, wxDateTime_Now(), pos = (25,50),
-                             style = wxCAL_SHOW_HOLIDAYS | wxCAL_SUNDAY_FIRST)
+        cal = calendar.CalendarCtrl(self, -1, wx.DateTime_Now(), pos = (25,50),
+                             style = calendar.CAL_SHOW_HOLIDAYS
+                             | calendar.CAL_SUNDAY_FIRST
+                             | calendar.CAL_SEQUENTIAL_MONTH_SELECTION
+                             )
 
-        EVT_CALENDAR(self, cal.GetId(), self.OnCalSelected)
+        self.Bind(calendar.EVT_CALENDAR, self.OnCalSelected, id=cal.GetId())
 
-        b = wxButton(self, -1, "Destroy the Calendar", pos = (250, 50))
-        EVT_BUTTON(self, b.GetId(), self.OnButton)
+        b = wx.Button(self, -1, "Destroy the Calendar", pos = (250, 50))
+        self.Bind(wx.EVT_BUTTON, self.OnButton, id= b.GetId())
         self.cal = cal
 
+        # Set up control to display a set of holidays:
+        self.Bind(calendar.EVT_CALENDAR_MONTH, self.OnChangeMonth, id=cal.GetId())
+        self.holidays = [(1,1), (10,31), (12,25) ]    # (these don't move around)
+        self.OnChangeMonth()
+
     def OnButton(self, evt):
         self.cal.Destroy()
         self.cal = None
@@ -26,6 +37,12 @@ class TestPanel(wxPanel):
     def OnCalSelected(self, evt):
         self.log.write('OnCalSelected: %s\n' % evt.GetDate())
 
+    def OnChangeMonth(self, evt=None):
+        cur_month = self.cal.GetDate().GetMonth() + 1   # convert wxDateTime 0-11 => 1-12
+
+        for month, day in self.holidays:
+            if month == cur_month:
+                self.cal.SetHoliday(day)
 
 #----------------------------------------------------------------------
 
@@ -45,3 +62,12 @@ version described in the docs.  This one will probably be a bit more efficient
 than the one in wxPython.lib.calendar, but I like a few things about it better,
 so I think both will stay in wxPython.
 """
+
+
+
+
+if __name__ == '__main__':
+    import sys,os
+    import run
+    run.main(['', os.path.basename(sys.argv[0])])
+