]> git.saurik.com Git - wxWidgets.git/commitdiff
wxPython updates to match recent updates to wxCalendarCtrl, wxGrid,
authorRobin Dunn <robin@alldunn.com>
Fri, 2 Nov 2001 20:56:23 +0000 (20:56 +0000)
committerRobin Dunn <robin@alldunn.com>
Fri, 2 Nov 2001 20:56:23 +0000 (20:56 +0000)
and wxGLCanvas.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/contrib/glcanvas/glcanvas.i
wxPython/contrib/glcanvas/msw/glcanvas.cpp
wxPython/contrib/glcanvas/msw/glcanvas.py
wxPython/contrib/glcanvas/msw/myglcanvas.cpp
wxPython/contrib/glcanvas/msw/myglcanvas.h
wxPython/demo/.cvsignore
wxPython/demo/GridSimple.py
wxPython/src/calendar.i
wxPython/src/msw/calendar.cpp
wxPython/src/msw/calendar.py

index ebb39d526a251032395f0a95967c563190982796..ba77fa8ad28271f6658d8eceefba2cc94ee90295 100644 (file)
@@ -94,7 +94,7 @@ public:
 
 
 
-class wxGLCanvas : public wxScrolledWindow {
+class wxGLCanvas : public wxWindow {
 public:
     wxGLCanvas(wxWindow *parent, wxWindowID id = -1,
                const wxPoint& pos = wxDefaultPosition,
index 55bed297177edac034e33ca6818fefcf67f05b9a..a7aa886d5365477e5047b2a1b7f467b167dc33f7 100644 (file)
@@ -288,22 +288,6 @@ static PyObject *_wrap_wxGLContext_GetWindow(PyObject *self, PyObject *args, PyO
     return _resultobj;
 }
 
-static void *SwigwxGLCanvasTowxScrolledWindow(void *ptr) {
-    wxGLCanvas *src;
-    wxScrolledWindow *dest;
-    src = (wxGLCanvas *) ptr;
-    dest = (wxScrolledWindow *) src;
-    return (void *) dest;
-}
-
-static void *SwigwxGLCanvasTowxPanel(void *ptr) {
-    wxGLCanvas *src;
-    wxPanel *dest;
-    src = (wxGLCanvas *) ptr;
-    dest = (wxPanel *) src;
-    return (void *) dest;
-}
-
 static void *SwigwxGLCanvasTowxWindow(void *ptr) {
     wxGLCanvas *src;
     wxWindow *dest;
@@ -810,7 +794,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_size_t","_int",0},
     { "_size_t","_wxWindowID",0},
     { "_size_t","_uint",0},
-    { "_wxPanel","_wxGLCanvas",SwigwxGLCanvasTowxPanel},
     { "_uint","_wxCoord",0},
     { "_uint","_wxPrintQuality",0},
     { "_uint","_time_t",0},
@@ -844,7 +827,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxObject","_wxGLContext",SwigwxGLContextTowxObject},
     { "_signed_short","_WXTYPE",0},
     { "_signed_short","_short",0},
-    { "_wxScrolledWindow","_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow},
     { "_unsigned_char","_byte",0},
     { "_unsigned_int","_wxCoord",0},
     { "_unsigned_int","_wxPrintQuality",0},
index f4fc15f814458fdcd2288ca57a4600c650c55460..76fcdd33fd395c097e52ff14c4e5fa1a2dd9dfb9 100644 (file)
@@ -70,7 +70,7 @@ class wxGLContext(wxGLContextPtr):
 
 
 
-class wxGLCanvasPtr(wxScrolledWindowPtr):
+class wxGLCanvasPtr(wxWindowPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
index 0def9dc491c317acb687f065cfca73b83fd176e6..e2893b486547888f3c1cc259e33bc3843a3e0cc4 100644 (file)
@@ -128,9 +128,9 @@ void wxGLContext::SetColour(const char *colour)
  * wxGLCanvas implementation
  */
 
-IMPLEMENT_CLASS(wxGLCanvas, wxScrolledWindow)
+IMPLEMENT_CLASS(wxGLCanvas, wxWindow)
 
-BEGIN_EVENT_TABLE(wxGLCanvas, wxScrolledWindow)
+BEGIN_EVENT_TABLE(wxGLCanvas, wxWindow)
     EVT_SIZE(wxGLCanvas::OnSize)
     EVT_PALETTE_CHANGED(wxGLCanvas::OnPaletteChanged)
     EVT_QUERY_NEW_PALETTE(wxGLCanvas::OnQueryNewPalette)
@@ -138,7 +138,7 @@ END_EVENT_TABLE()
 
 wxGLCanvas::wxGLCanvas(wxWindow *parent, wxWindowID id,
     const wxPoint& pos, const wxSize& size, long style, const wxString& name,
-    int *attribList, const wxPalette& palette) : wxScrolledWindow()
+    int *attribList, const wxPalette& palette) : wxWindow()
 {
   m_glContext = (wxGLContext*) NULL;
 
@@ -162,7 +162,7 @@ wxGLCanvas::wxGLCanvas( wxWindow *parent,
               const wxGLContext *shared, wxWindowID id,
               const wxPoint& pos, const wxSize& size, long style, const wxString& name,
               int *attribList, const wxPalette& palette )
-  : wxScrolledWindow()
+  : wxWindow()
 {
   m_glContext = (wxGLContext*) NULL;
 
@@ -187,7 +187,7 @@ wxGLCanvas::wxGLCanvas( wxWindow *parent,
 wxGLCanvas::wxGLCanvas( wxWindow *parent, const wxGLCanvas *shared, wxWindowID id,
                         const wxPoint& pos, const wxSize& size, long style, const wxString& name,
                         int *attribList, const wxPalette& palette ):
-  wxScrolledWindow()
+  wxWindow()
 {
   m_glContext = (wxGLContext*) NULL;
 
index 79b56d35284e6a61f47be5ed6f1bfd0a9dd25d52..e9ac0a7958cbc4b02f7a476532048605f04cd47f 100644 (file)
@@ -19,7 +19,6 @@
 #include <wx/setup.h>
 #undef wxUSE_GLCANVAS
 #define wxUSE_GLCANVAS 1
-#if wxUSE_GLCANVAS
 
 #include <wx/palette.h>
 #include <wx/scrolwin.h>
@@ -84,7 +83,7 @@ public:
    wxWindow*        m_window;
 };
 
-class wxGLCanvas: public wxScrolledWindow
+class wxGLCanvas: public wxWindow
 {
    DECLARE_CLASS(wxGLCanvas)
  public:
@@ -152,8 +151,6 @@ private:
 
 
 
-#endif
-    // wxUSE_GLCANVAS
 #endif
     // _WX_GLCANVAS_H_
 
index 47c52eb5c35beaf6bb459d562e47135a0b909853..e661100d75c672133eadec0a0f816cda730fe242 100644 (file)
@@ -2,6 +2,7 @@
 .emacs.desktop
 b.bat
 hangman_dict.txt
+mimetypes_wdr
 setup.bat
 test.out
 tmphtml.txt
index 2f26955502a065180300ee951a2a3c5eb2da3a68..782f0d8944c58b19105b0dffe05c16027118815d 100644 (file)
@@ -33,6 +33,9 @@ class SimpleGrid(wxGrid): ##, wxGridAutoEditMixin):
         self.SetCellEditor(6, 0, wxGridCellFloatEditor())
         self.SetCellValue(6, 0, "123.34")
 
+        self.SetCellValue(6, 3, "You can veto editing this cell")
+
+
         # attribute objects let you keep a set of formatting values
         # in one spot, and reuse them if needed
         attr = wxGridCellAttr()
@@ -168,15 +171,29 @@ class SimpleGrid(wxGrid): ##, wxGridAutoEditMixin):
 
 
     def OnEditorShown(self, evt):
+        if evt.GetRow() == 6 and evt.GetCol() == 3 and \
+           wxMessageBox("Are you sure you wish to edit this cell?",
+                        "Checking", wxYES_NO) == wxNO:
+            evt.Veto()
+            return
+
         self.log.write("OnEditorShown: (%d,%d) %s\n" %
                        (evt.GetRow(), evt.GetCol(), evt.GetPosition()))
         evt.Skip()
 
+
     def OnEditorHidden(self, evt):
+        if evt.GetRow() == 6 and evt.GetCol() == 3 and \
+           wxMessageBox("Are you sure you wish to  finish editing this cell?",
+                        "Checking", wxYES_NO) == wxNO:
+            evt.Veto()
+            return
+
         self.log.write("OnEditorHidden: (%d,%d) %s\n" %
                        (evt.GetRow(), evt.GetCol(), evt.GetPosition()))
         evt.Skip()
 
+
     def OnEditorCreated(self, evt):
         self.log.write("OnEditorCreated: (%d, %d) %s\n" %
                        (evt.GetRow(), evt.GetCol(), evt.GetControl()))
index 586587a80e1bf74cb77dd9ae4227a2d286258443..4dc8f0f56cd1e076f15b20a1511a9e52ab72782f 100644 (file)
@@ -41,6 +41,8 @@ enum {
     wxCAL_SHOW_HOLIDAYS,
     wxCAL_NO_YEAR_CHANGE,
     wxCAL_NO_MONTH_CHANGE,
+    wxCAL_SEQUENTIAL_MONTH_SELECTION,
+    wxCAL_SHOW_SURROUNDING_WEEKS,
 };
 
 
@@ -49,6 +51,9 @@ enum wxCalendarHitTestResult
     wxCAL_HITTEST_NOWHERE,      // outside of anything
     wxCAL_HITTEST_HEADER,       // on the header (weekdays)
     wxCAL_HITTEST_DAY           // on a day in the calendar
+    wxCAL_HITTEST_INCMONTH,
+    wxCAL_HITTEST_DECMONTH,
+    wxCAL_HITTEST_SURROUNDING_WEEK
 };
 
 // border types for a date
@@ -176,6 +181,18 @@ public:
     void SetDate(const wxDateTime& date);
     const wxDateTime& GetDate() const;
 
+    // set/get the range in which selection can occur
+    // ---------------------------------------------
+
+    bool SetLowerDateLimit(const wxDateTime& date = wxDefaultDateTime);
+    const wxDateTime& GetLowerDateLimit() const;
+    bool SetUpperDateLimit(const wxDateTime& date = wxDefaultDateTime);
+    const wxDateTime& GetUpperDateLimit() const;
+
+    bool SetDateRange(const wxDateTime& lowerdate = wxDefaultDateTime,
+                      const wxDateTime& upperdate = wxDefaultDateTime);
+
+
     // calendar mode
     // -------------
 
@@ -231,6 +248,10 @@ public:
                                     wxDateTime *date = NULL,
                                     wxDateTime::WeekDay *wd = NULL);
 
+
+    bool Enable(bool enable = TRUE);
+    bool Show(bool show = TRUE);
+
 };
 
 
index 5ad1f266840bc875abcd886142bce45a6c17704c..635831ed6adf40fdf112ef0d4031f3905ea64424 100644 (file)
@@ -93,649 +93,6 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) {
 #ifdef __cplusplus
 extern "C" {
 #endif
-#define new_wxCalendarDateAttr(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4) (new wxCalendarDateAttr(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
-static PyObject *_wrap_new_wxCalendarDateAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxCalendarDateAttr * _result;
-    wxColour * _arg0;
-    wxColour * _arg1 = (wxColour *) &wxNullColour;
-    wxColour * _arg2 = (wxColour *) &wxNullColour;
-    wxFont * _arg3 = (wxFont *) &wxNullFont;
-    wxCalendarDateBorder  _arg4 = (wxCalendarDateBorder ) (wxCAL_BORDER_NONE);
-    wxColour  temp;
-    PyObject * _obj0 = 0;
-    wxColour  temp0;
-    PyObject * _obj1 = 0;
-    wxColour  temp1;
-    PyObject * _obj2 = 0;
-    PyObject * _argo3 = 0;
-    char *_kwnames[] = { "colText","colBack","colBorder","font","border", NULL };
-    char _ptemp[128];
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|OOOi:new_wxCalendarDateAttr",_kwnames,&_obj0,&_obj1,&_obj2,&_argo3,&_arg4)) 
-        return NULL;
-{
-    _arg0 = &temp;
-    if (! wxColour_helper(_obj0, &_arg0))
-        return NULL;
-}
-    if (_obj1)
-{
-    _arg1 = &temp0;
-    if (! wxColour_helper(_obj1, &_arg1))
-        return NULL;
-}
-    if (_obj2)
-{
-    _arg2 = &temp1;
-    if (! wxColour_helper(_obj2, &_arg2))
-        return NULL;
-}
-    if (_argo3) {
-        if (_argo3 == Py_None) { _arg3 = NULL; }
-        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxFont_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of new_wxCalendarDateAttr. Expected _wxFont_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxCalendarDateAttr *)new_wxCalendarDateAttr(*_arg0,*_arg1,*_arg2,*_arg3,_arg4);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCalendarDateAttr_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
-    return _resultobj;
-}
-
-#define new_wxCalendarDateAttrBorder(_swigarg0,_swigarg1) (new wxCalendarDateAttr(_swigarg0,_swigarg1))
-static PyObject *_wrap_new_wxCalendarDateAttrBorder(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxCalendarDateAttr * _result;
-    wxCalendarDateBorder  _arg0;
-    wxColour * _arg1 = (wxColour *) &wxNullColour;
-    wxColour  temp;
-    PyObject * _obj1 = 0;
-    char *_kwnames[] = { "border","colBorder", NULL };
-    char _ptemp[128];
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i|O:new_wxCalendarDateAttrBorder",_kwnames,&_arg0,&_obj1)) 
-        return NULL;
-    if (_obj1)
-{
-    _arg1 = &temp;
-    if (! wxColour_helper(_obj1, &_arg1))
-        return NULL;
-}
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxCalendarDateAttr *)new_wxCalendarDateAttrBorder(_arg0,*_arg1);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCalendarDateAttr_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_SetTextColour(_swigobj,_swigarg0)  (_swigobj->SetTextColour(_swigarg0))
-static PyObject *_wrap_wxCalendarDateAttr_SetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxCalendarDateAttr * _arg0;
-    wxColour * _arg1;
-    PyObject * _argo0 = 0;
-    wxColour  temp;
-    PyObject * _obj1 = 0;
-    char *_kwnames[] = { "self","colText", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxCalendarDateAttr_SetTextColour",_kwnames,&_argo0,&_obj1)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_SetTextColour. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    _arg1 = &temp;
-    if (! wxColour_helper(_obj1, &_arg1))
-        return NULL;
-}
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCalendarDateAttr_SetTextColour(_arg0,*_arg1);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    Py_INCREF(Py_None);
-    _resultobj = Py_None;
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_SetBackgroundColour(_swigobj,_swigarg0)  (_swigobj->SetBackgroundColour(_swigarg0))
-static PyObject *_wrap_wxCalendarDateAttr_SetBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxCalendarDateAttr * _arg0;
-    wxColour * _arg1;
-    PyObject * _argo0 = 0;
-    wxColour  temp;
-    PyObject * _obj1 = 0;
-    char *_kwnames[] = { "self","colBack", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxCalendarDateAttr_SetBackgroundColour",_kwnames,&_argo0,&_obj1)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_SetBackgroundColour. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    _arg1 = &temp;
-    if (! wxColour_helper(_obj1, &_arg1))
-        return NULL;
-}
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCalendarDateAttr_SetBackgroundColour(_arg0,*_arg1);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    Py_INCREF(Py_None);
-    _resultobj = Py_None;
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_SetBorderColour(_swigobj,_swigarg0)  (_swigobj->SetBorderColour(_swigarg0))
-static PyObject *_wrap_wxCalendarDateAttr_SetBorderColour(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxCalendarDateAttr * _arg0;
-    wxColour * _arg1;
-    PyObject * _argo0 = 0;
-    wxColour  temp;
-    PyObject * _obj1 = 0;
-    char *_kwnames[] = { "self","col", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxCalendarDateAttr_SetBorderColour",_kwnames,&_argo0,&_obj1)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_SetBorderColour. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    _arg1 = &temp;
-    if (! wxColour_helper(_obj1, &_arg1))
-        return NULL;
-}
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCalendarDateAttr_SetBorderColour(_arg0,*_arg1);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    Py_INCREF(Py_None);
-    _resultobj = Py_None;
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_SetFont(_swigobj,_swigarg0)  (_swigobj->SetFont(_swigarg0))
-static PyObject *_wrap_wxCalendarDateAttr_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxCalendarDateAttr * _arg0;
-    wxFont * _arg1;
-    PyObject * _argo0 = 0;
-    PyObject * _argo1 = 0;
-    char *_kwnames[] = { "self","font", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxCalendarDateAttr_SetFont",_kwnames,&_argo0,&_argo1)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_SetFont. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-    if (_argo1) {
-        if (_argo1 == Py_None) { _arg1 = NULL; }
-        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFont_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxCalendarDateAttr_SetFont. Expected _wxFont_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCalendarDateAttr_SetFont(_arg0,*_arg1);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    Py_INCREF(Py_None);
-    _resultobj = Py_None;
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_SetBorder(_swigobj,_swigarg0)  (_swigobj->SetBorder(_swigarg0))
-static PyObject *_wrap_wxCalendarDateAttr_SetBorder(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxCalendarDateAttr * _arg0;
-    wxCalendarDateBorder  _arg1;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self","border", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxCalendarDateAttr_SetBorder",_kwnames,&_argo0,&_arg1)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_SetBorder. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCalendarDateAttr_SetBorder(_arg0,_arg1);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    Py_INCREF(Py_None);
-    _resultobj = Py_None;
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_SetHoliday(_swigobj,_swigarg0)  (_swigobj->SetHoliday(_swigarg0))
-static PyObject *_wrap_wxCalendarDateAttr_SetHoliday(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxCalendarDateAttr * _arg0;
-    bool  _arg1;
-    PyObject * _argo0 = 0;
-    int tempbool1;
-    char *_kwnames[] = { "self","holiday", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxCalendarDateAttr_SetHoliday",_kwnames,&_argo0,&tempbool1)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_SetHoliday. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-    _arg1 = (bool ) tempbool1;
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxCalendarDateAttr_SetHoliday(_arg0,_arg1);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    Py_INCREF(Py_None);
-    _resultobj = Py_None;
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_HasTextColour(_swigobj)  (_swigobj->HasTextColour())
-static PyObject *_wrap_wxCalendarDateAttr_HasTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    bool  _result;
-    wxCalendarDateAttr * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarDateAttr_HasTextColour",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_HasTextColour. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxCalendarDateAttr_HasTextColour(_arg0);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_HasBackgroundColour(_swigobj)  (_swigobj->HasBackgroundColour())
-static PyObject *_wrap_wxCalendarDateAttr_HasBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    bool  _result;
-    wxCalendarDateAttr * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarDateAttr_HasBackgroundColour",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_HasBackgroundColour. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxCalendarDateAttr_HasBackgroundColour(_arg0);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_HasBorderColour(_swigobj)  (_swigobj->HasBorderColour())
-static PyObject *_wrap_wxCalendarDateAttr_HasBorderColour(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    bool  _result;
-    wxCalendarDateAttr * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarDateAttr_HasBorderColour",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_HasBorderColour. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxCalendarDateAttr_HasBorderColour(_arg0);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_HasFont(_swigobj)  (_swigobj->HasFont())
-static PyObject *_wrap_wxCalendarDateAttr_HasFont(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    bool  _result;
-    wxCalendarDateAttr * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarDateAttr_HasFont",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_HasFont. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxCalendarDateAttr_HasFont(_arg0);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_HasBorder(_swigobj)  (_swigobj->HasBorder())
-static PyObject *_wrap_wxCalendarDateAttr_HasBorder(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    bool  _result;
-    wxCalendarDateAttr * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarDateAttr_HasBorder",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_HasBorder. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxCalendarDateAttr_HasBorder(_arg0);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_IsHoliday(_swigobj)  (_swigobj->IsHoliday())
-static PyObject *_wrap_wxCalendarDateAttr_IsHoliday(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    bool  _result;
-    wxCalendarDateAttr * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarDateAttr_IsHoliday",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_IsHoliday. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (bool )wxCalendarDateAttr_IsHoliday(_arg0);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_GetTextColour(_swigobj)  (_swigobj->GetTextColour())
-static PyObject *_wrap_wxCalendarDateAttr_GetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxColour * _result;
-    wxCalendarDateAttr * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarDateAttr_GetTextColour",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_GetTextColour. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        const wxColour & _result_ref = wxCalendarDateAttr_GetTextColour(_arg0);
-    _result = (wxColour *) &_result_ref;
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxColour_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_GetBackgroundColour(_swigobj)  (_swigobj->GetBackgroundColour())
-static PyObject *_wrap_wxCalendarDateAttr_GetBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxColour * _result;
-    wxCalendarDateAttr * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarDateAttr_GetBackgroundColour",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_GetBackgroundColour. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        const wxColour & _result_ref = wxCalendarDateAttr_GetBackgroundColour(_arg0);
-    _result = (wxColour *) &_result_ref;
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxColour_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_GetBorderColour(_swigobj)  (_swigobj->GetBorderColour())
-static PyObject *_wrap_wxCalendarDateAttr_GetBorderColour(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxColour * _result;
-    wxCalendarDateAttr * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarDateAttr_GetBorderColour",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_GetBorderColour. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        const wxColour & _result_ref = wxCalendarDateAttr_GetBorderColour(_arg0);
-    _result = (wxColour *) &_result_ref;
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxColour_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_GetFont(_swigobj)  (_swigobj->GetFont())
-static PyObject *_wrap_wxCalendarDateAttr_GetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxFont * _result;
-    wxCalendarDateAttr * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-    char _ptemp[128];
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarDateAttr_GetFont",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_GetFont. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        const wxFont & _result_ref = wxCalendarDateAttr_GetFont(_arg0);
-    _result = (wxFont *) &_result_ref;
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    if (_result) {
-        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFont_p");
-        _resultobj = Py_BuildValue("s",_ptemp);
-    } else {
-        Py_INCREF(Py_None);
-        _resultobj = Py_None;
-    }
-    return _resultobj;
-}
-
-#define wxCalendarDateAttr_GetBorder(_swigobj)  (_swigobj->GetBorder())
-static PyObject *_wrap_wxCalendarDateAttr_GetBorder(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxCalendarDateBorder  _result;
-    wxCalendarDateAttr * _arg0;
-    PyObject * _argo0 = 0;
-    char *_kwnames[] = { "self", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarDateAttr_GetBorder",_kwnames,&_argo0)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarDateAttr_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarDateAttr_GetBorder. Expected _wxCalendarDateAttr_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxCalendarDateBorder )wxCalendarDateAttr_GetBorder(_arg0);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("i",_result);
-    return _resultobj;
-}
-
 static void *SwigwxCalendarEventTowxCommandEvent(void *ptr) {
     wxCalendarEvent *src;
     wxCommandEvent *dest;
@@ -1123,6 +480,198 @@ static PyObject *_wrap_wxCalendarCtrl_GetDate(PyObject *self, PyObject *args, Py
     return _resultobj;
 }
 
+#define wxCalendarCtrl_SetLowerDateLimit(_swigobj,_swigarg0)  (_swigobj->SetLowerDateLimit(_swigarg0))
+static PyObject *_wrap_wxCalendarCtrl_SetLowerDateLimit(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxCalendarCtrl * _arg0;
+    wxDateTime * _arg1 = (wxDateTime *) &wxDefaultDateTime;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","date", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:wxCalendarCtrl_SetLowerDateLimit",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarCtrl_SetLowerDateLimit. Expected _wxCalendarCtrl_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDateTime_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxCalendarCtrl_SetLowerDateLimit. Expected _wxDateTime_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxCalendarCtrl_SetLowerDateLimit(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxCalendarCtrl_GetLowerDateLimit(_swigobj)  (_swigobj->GetLowerDateLimit())
+static PyObject *_wrap_wxCalendarCtrl_GetLowerDateLimit(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDateTime * _result;
+    wxCalendarCtrl * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarCtrl_GetLowerDateLimit",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarCtrl_GetLowerDateLimit. Expected _wxCalendarCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxDateTime & _result_ref = wxCalendarCtrl_GetLowerDateLimit(_arg0);
+    _result = (wxDateTime *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDateTime_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxCalendarCtrl_SetUpperDateLimit(_swigobj,_swigarg0)  (_swigobj->SetUpperDateLimit(_swigarg0))
+static PyObject *_wrap_wxCalendarCtrl_SetUpperDateLimit(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxCalendarCtrl * _arg0;
+    wxDateTime * _arg1 = (wxDateTime *) &wxDefaultDateTime;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","date", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:wxCalendarCtrl_SetUpperDateLimit",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarCtrl_SetUpperDateLimit. Expected _wxCalendarCtrl_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDateTime_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxCalendarCtrl_SetUpperDateLimit. Expected _wxDateTime_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxCalendarCtrl_SetUpperDateLimit(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxCalendarCtrl_GetUpperDateLimit(_swigobj)  (_swigobj->GetUpperDateLimit())
+static PyObject *_wrap_wxCalendarCtrl_GetUpperDateLimit(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDateTime * _result;
+    wxCalendarCtrl * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCalendarCtrl_GetUpperDateLimit",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarCtrl_GetUpperDateLimit. Expected _wxCalendarCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxDateTime & _result_ref = wxCalendarCtrl_GetUpperDateLimit(_arg0);
+    _result = (wxDateTime *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDateTime_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxCalendarCtrl_SetDateRange(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetDateRange(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxCalendarCtrl_SetDateRange(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxCalendarCtrl * _arg0;
+    wxDateTime * _arg1 = (wxDateTime *) &wxDefaultDateTime;
+    wxDateTime * _arg2 = (wxDateTime *) &wxDefaultDateTime;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "self","lowerdate","upperdate", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|OO:wxCalendarCtrl_SetDateRange",_kwnames,&_argo0,&_argo1,&_argo2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarCtrl_SetDateRange. Expected _wxCalendarCtrl_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDateTime_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxCalendarCtrl_SetDateRange. Expected _wxDateTime_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxDateTime_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxCalendarCtrl_SetDateRange. Expected _wxDateTime_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxCalendarCtrl_SetDateRange(_arg0,*_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
 #define wxCalendarCtrl_EnableYearChange(_swigobj,_swigarg0)  (_swigobj->EnableYearChange(_swigarg0))
 static PyObject *_wrap_wxCalendarCtrl_EnableYearChange(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -1699,7 +1248,7 @@ static PyObject *_wrap_wxCalendarCtrl_ResetAttr(PyObject *self, PyObject *args,
 #define wxCalendarCtrl_HitTest(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->HitTest(_swigarg0,_swigarg1,_swigarg2))
 static PyObject *_wrap_wxCalendarCtrl_HitTest(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    wxCalendarHitTestResult  _result;
+    wxCalendarHitTestResult * _result;
     wxCalendarCtrl * _arg0;
     wxPoint * _arg1;
     wxDateTime * _arg2 = (wxDateTime *) NULL;
@@ -1710,6 +1259,7 @@ static PyObject *_wrap_wxCalendarCtrl_HitTest(PyObject *self, PyObject *args, Py
     PyObject * _argo2 = 0;
     PyObject * _argo3 = 0;
     char *_kwnames[] = { "self","pos","date","wd", NULL };
+    char _ptemp[128];
 
     self = self;
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|OO:wxCalendarCtrl_HitTest",_kwnames,&_argo0,&_obj1,&_argo2,&_argo3)) 
@@ -1742,7 +1292,70 @@ static PyObject *_wrap_wxCalendarCtrl_HitTest(PyObject *self, PyObject *args, Py
     }
 {
     wxPy_BEGIN_ALLOW_THREADS;
-        _result = (wxCalendarHitTestResult )wxCalendarCtrl_HitTest(_arg0,*_arg1,_arg2,_arg3);
+        _result = new wxCalendarHitTestResult (wxCalendarCtrl_HitTest(_arg0,*_arg1,_arg2,_arg3));
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxCalendarHitTestResult_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+    return _resultobj;
+}
+
+#define wxCalendarCtrl_Enable(_swigobj,_swigarg0)  (_swigobj->Enable(_swigarg0))
+static PyObject *_wrap_wxCalendarCtrl_Enable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxCalendarCtrl * _arg0;
+    bool  _arg1 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    int tempbool1 = (int) TRUE;
+    char *_kwnames[] = { "self","enable", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxCalendarCtrl_Enable",_kwnames,&_argo0,&tempbool1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarCtrl_Enable. Expected _wxCalendarCtrl_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxCalendarCtrl_Enable(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxCalendarCtrl_Show(_swigobj,_swigarg0)  (_swigobj->Show(_swigarg0))
+static PyObject *_wrap_wxCalendarCtrl_Show(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxCalendarCtrl * _arg0;
+    bool  _arg1 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    int tempbool1 = (int) TRUE;
+    char *_kwnames[] = { "self","show", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxCalendarCtrl_Show",_kwnames,&_argo0,&tempbool1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCalendarCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCalendarCtrl_Show. Expected _wxCalendarCtrl_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxCalendarCtrl_Show(_arg0,_arg1);
 
     wxPy_END_ALLOW_THREADS;
     if (PyErr_Occurred()) return NULL;
@@ -1751,6 +1364,8 @@ static PyObject *_wrap_wxCalendarCtrl_HitTest(PyObject *self, PyObject *args, Py
 }
 
 static PyMethodDef calendarcMethods[] = {
+        { "wxCalendarCtrl_Show", (PyCFunction) _wrap_wxCalendarCtrl_Show, METH_VARARGS | METH_KEYWORDS },
+        { "wxCalendarCtrl_Enable", (PyCFunction) _wrap_wxCalendarCtrl_Enable, METH_VARARGS | METH_KEYWORDS },
         { "wxCalendarCtrl_HitTest", (PyCFunction) _wrap_wxCalendarCtrl_HitTest, METH_VARARGS | METH_KEYWORDS },
         { "wxCalendarCtrl_ResetAttr", (PyCFunction) _wrap_wxCalendarCtrl_ResetAttr, METH_VARARGS | METH_KEYWORDS },
         { "wxCalendarCtrl_SetHoliday", (PyCFunction) _wrap_wxCalendarCtrl_SetHoliday, METH_VARARGS | METH_KEYWORDS },
@@ -1768,6 +1383,11 @@ static PyMethodDef calendarcMethods[] = {
         { "wxCalendarCtrl_EnableHolidayDisplay", (PyCFunction) _wrap_wxCalendarCtrl_EnableHolidayDisplay, METH_VARARGS | METH_KEYWORDS },
         { "wxCalendarCtrl_EnableMonthChange", (PyCFunction) _wrap_wxCalendarCtrl_EnableMonthChange, METH_VARARGS | METH_KEYWORDS },
         { "wxCalendarCtrl_EnableYearChange", (PyCFunction) _wrap_wxCalendarCtrl_EnableYearChange, METH_VARARGS | METH_KEYWORDS },
+        { "wxCalendarCtrl_SetDateRange", (PyCFunction) _wrap_wxCalendarCtrl_SetDateRange, METH_VARARGS | METH_KEYWORDS },
+        { "wxCalendarCtrl_GetUpperDateLimit", (PyCFunction) _wrap_wxCalendarCtrl_GetUpperDateLimit, METH_VARARGS | METH_KEYWORDS },
+        { "wxCalendarCtrl_SetUpperDateLimit", (PyCFunction) _wrap_wxCalendarCtrl_SetUpperDateLimit, METH_VARARGS | METH_KEYWORDS },
+        { "wxCalendarCtrl_GetLowerDateLimit", (PyCFunction) _wrap_wxCalendarCtrl_GetLowerDateLimit, METH_VARARGS | METH_KEYWORDS },
+        { "wxCalendarCtrl_SetLowerDateLimit", (PyCFunction) _wrap_wxCalendarCtrl_SetLowerDateLimit, METH_VARARGS | METH_KEYWORDS },
         { "wxCalendarCtrl_GetDate", (PyCFunction) _wrap_wxCalendarCtrl_GetDate, METH_VARARGS | METH_KEYWORDS },
         { "wxCalendarCtrl_SetDate", (PyCFunction) _wrap_wxCalendarCtrl_SetDate, METH_VARARGS | METH_KEYWORDS },
         { "wxCalendarCtrl_Create", (PyCFunction) _wrap_wxCalendarCtrl_Create, METH_VARARGS | METH_KEYWORDS },
@@ -1776,25 +1396,6 @@ static PyMethodDef calendarcMethods[] = {
         { "wxCalendarEvent_GetWeekDay", (PyCFunction) _wrap_wxCalendarEvent_GetWeekDay, METH_VARARGS | METH_KEYWORDS },
         { "wxCalendarEvent_GetDate", (PyCFunction) _wrap_wxCalendarEvent_GetDate, METH_VARARGS | METH_KEYWORDS },
         { "new_wxCalendarEvent", (PyCFunction) _wrap_new_wxCalendarEvent, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_GetBorder", (PyCFunction) _wrap_wxCalendarDateAttr_GetBorder, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_GetFont", (PyCFunction) _wrap_wxCalendarDateAttr_GetFont, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_GetBorderColour", (PyCFunction) _wrap_wxCalendarDateAttr_GetBorderColour, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_GetBackgroundColour", (PyCFunction) _wrap_wxCalendarDateAttr_GetBackgroundColour, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_GetTextColour", (PyCFunction) _wrap_wxCalendarDateAttr_GetTextColour, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_IsHoliday", (PyCFunction) _wrap_wxCalendarDateAttr_IsHoliday, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_HasBorder", (PyCFunction) _wrap_wxCalendarDateAttr_HasBorder, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_HasFont", (PyCFunction) _wrap_wxCalendarDateAttr_HasFont, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_HasBorderColour", (PyCFunction) _wrap_wxCalendarDateAttr_HasBorderColour, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_HasBackgroundColour", (PyCFunction) _wrap_wxCalendarDateAttr_HasBackgroundColour, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_HasTextColour", (PyCFunction) _wrap_wxCalendarDateAttr_HasTextColour, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_SetHoliday", (PyCFunction) _wrap_wxCalendarDateAttr_SetHoliday, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_SetBorder", (PyCFunction) _wrap_wxCalendarDateAttr_SetBorder, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_SetFont", (PyCFunction) _wrap_wxCalendarDateAttr_SetFont, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_SetBorderColour", (PyCFunction) _wrap_wxCalendarDateAttr_SetBorderColour, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_SetBackgroundColour", (PyCFunction) _wrap_wxCalendarDateAttr_SetBackgroundColour, METH_VARARGS | METH_KEYWORDS },
-        { "wxCalendarDateAttr_SetTextColour", (PyCFunction) _wrap_wxCalendarDateAttr_SetTextColour, METH_VARARGS | METH_KEYWORDS },
-        { "new_wxCalendarDateAttrBorder", (PyCFunction) _wrap_new_wxCalendarDateAttrBorder, METH_VARARGS | METH_KEYWORDS },
-        { "new_wxCalendarDateAttr", (PyCFunction) _wrap_new_wxCalendarDateAttr, METH_VARARGS | METH_KEYWORDS },
         { NULL, NULL }
 };
 #ifdef __cplusplus
@@ -1927,12 +1528,11 @@ SWIGEXPORT(void) initcalendarc() {
         PyDict_SetItemString(d,"wxCAL_SHOW_HOLIDAYS", PyInt_FromLong((long) wxCAL_SHOW_HOLIDAYS));
         PyDict_SetItemString(d,"wxCAL_NO_YEAR_CHANGE", PyInt_FromLong((long) wxCAL_NO_YEAR_CHANGE));
         PyDict_SetItemString(d,"wxCAL_NO_MONTH_CHANGE", PyInt_FromLong((long) wxCAL_NO_MONTH_CHANGE));
+        PyDict_SetItemString(d,"wxCAL_SEQUENTIAL_MONTH_SELECTION", PyInt_FromLong((long) wxCAL_SEQUENTIAL_MONTH_SELECTION));
+        PyDict_SetItemString(d,"wxCAL_SHOW_SURROUNDING_WEEKS", PyInt_FromLong((long) wxCAL_SHOW_SURROUNDING_WEEKS));
         PyDict_SetItemString(d,"wxCAL_HITTEST_NOWHERE", PyInt_FromLong((long) wxCAL_HITTEST_NOWHERE));
         PyDict_SetItemString(d,"wxCAL_HITTEST_HEADER", PyInt_FromLong((long) wxCAL_HITTEST_HEADER));
         PyDict_SetItemString(d,"wxCAL_HITTEST_DAY", PyInt_FromLong((long) wxCAL_HITTEST_DAY));
-        PyDict_SetItemString(d,"wxCAL_BORDER_NONE", PyInt_FromLong((long) wxCAL_BORDER_NONE));
-        PyDict_SetItemString(d,"wxCAL_BORDER_SQUARE", PyInt_FromLong((long) wxCAL_BORDER_SQUARE));
-        PyDict_SetItemString(d,"wxCAL_BORDER_ROUND", PyInt_FromLong((long) wxCAL_BORDER_ROUND));
         PyDict_SetItemString(d,"wxEVT_CALENDAR_DOUBLECLICKED", PyInt_FromLong((long) wxEVT_CALENDAR_DOUBLECLICKED));
         PyDict_SetItemString(d,"wxEVT_CALENDAR_SEL_CHANGED", PyInt_FromLong((long) wxEVT_CALENDAR_SEL_CHANGED));
         PyDict_SetItemString(d,"wxEVT_CALENDAR_DAY_CHANGED", PyInt_FromLong((long) wxEVT_CALENDAR_DAY_CHANGED));
index 411013dc6b37fa63136ffe7beb20c957edabc4fb..b3b52b17ab951653917c9f4f854a8c03ef001d33 100644 (file)
@@ -35,80 +35,6 @@ def EVT_CALENDAR_WEEKDAY_CLICKED(win, id, fn):
     win.Connect(id, -1, wxEVT_CALENDAR_WEEKDAY_CLICKED, fn)
 
 
-class wxCalendarDateAttrPtr :
-    def __init__(self,this):
-        self.this = this
-        self.thisown = 0
-    def SetTextColour(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_SetTextColour,(self,) + _args, _kwargs)
-        return val
-    def SetBackgroundColour(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_SetBackgroundColour,(self,) + _args, _kwargs)
-        return val
-    def SetBorderColour(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_SetBorderColour,(self,) + _args, _kwargs)
-        return val
-    def SetFont(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_SetFont,(self,) + _args, _kwargs)
-        return val
-    def SetBorder(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_SetBorder,(self,) + _args, _kwargs)
-        return val
-    def SetHoliday(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_SetHoliday,(self,) + _args, _kwargs)
-        return val
-    def HasTextColour(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_HasTextColour,(self,) + _args, _kwargs)
-        return val
-    def HasBackgroundColour(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_HasBackgroundColour,(self,) + _args, _kwargs)
-        return val
-    def HasBorderColour(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_HasBorderColour,(self,) + _args, _kwargs)
-        return val
-    def HasFont(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_HasFont,(self,) + _args, _kwargs)
-        return val
-    def HasBorder(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_HasBorder,(self,) + _args, _kwargs)
-        return val
-    def IsHoliday(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_IsHoliday,(self,) + _args, _kwargs)
-        return val
-    def GetTextColour(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_GetTextColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
-        return val
-    def GetBackgroundColour(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_GetBackgroundColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
-        return val
-    def GetBorderColour(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_GetBorderColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
-        return val
-    def GetFont(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_GetFont,(self,) + _args, _kwargs)
-        if val: val = wxFontPtr(val) 
-        return val
-    def GetBorder(self, *_args, **_kwargs):
-        val = apply(calendarc.wxCalendarDateAttr_GetBorder,(self,) + _args, _kwargs)
-        return val
-    def __repr__(self):
-        return "<C wxCalendarDateAttr instance at %s>" % (self.this,)
-class wxCalendarDateAttr(wxCalendarDateAttrPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(calendarc.new_wxCalendarDateAttr,_args,_kwargs)
-        self.thisown = 1
-
-
-
-def wxCalendarDateAttrBorder(*_args,**_kwargs):
-    val = wxCalendarDateAttrPtr(apply(calendarc.new_wxCalendarDateAttrBorder,_args,_kwargs))
-    val.thisown = 1
-    return val
-
-
 class wxCalendarEventPtr(wxCommandEventPtr):
     def __init__(self,this):
         self.this = this
@@ -144,6 +70,23 @@ class wxCalendarCtrlPtr(wxControlPtr):
         val = apply(calendarc.wxCalendarCtrl_GetDate,(self,) + _args, _kwargs)
         if val: val = wxDateTimePtr(val) 
         return val
+    def SetLowerDateLimit(self, *_args, **_kwargs):
+        val = apply(calendarc.wxCalendarCtrl_SetLowerDateLimit,(self,) + _args, _kwargs)
+        return val
+    def GetLowerDateLimit(self, *_args, **_kwargs):
+        val = apply(calendarc.wxCalendarCtrl_GetLowerDateLimit,(self,) + _args, _kwargs)
+        if val: val = wxDateTimePtr(val) 
+        return val
+    def SetUpperDateLimit(self, *_args, **_kwargs):
+        val = apply(calendarc.wxCalendarCtrl_SetUpperDateLimit,(self,) + _args, _kwargs)
+        return val
+    def GetUpperDateLimit(self, *_args, **_kwargs):
+        val = apply(calendarc.wxCalendarCtrl_GetUpperDateLimit,(self,) + _args, _kwargs)
+        if val: val = wxDateTimePtr(val) 
+        return val
+    def SetDateRange(self, *_args, **_kwargs):
+        val = apply(calendarc.wxCalendarCtrl_SetDateRange,(self,) + _args, _kwargs)
+        return val
     def EnableYearChange(self, *_args, **_kwargs):
         val = apply(calendarc.wxCalendarCtrl_EnableYearChange,(self,) + _args, _kwargs)
         return val
@@ -188,7 +131,6 @@ class wxCalendarCtrlPtr(wxControlPtr):
         return val
     def GetAttr(self, *_args, **_kwargs):
         val = apply(calendarc.wxCalendarCtrl_GetAttr,(self,) + _args, _kwargs)
-        if val: val = wxCalendarDateAttrPtr(val) 
         return val
     def SetAttr(self, *_args, **_kwargs):
         val = apply(calendarc.wxCalendarCtrl_SetAttr,(self,) + _args, _kwargs)
@@ -202,6 +144,12 @@ class wxCalendarCtrlPtr(wxControlPtr):
     def HitTest(self, *_args, **_kwargs):
         val = apply(calendarc.wxCalendarCtrl_HitTest,(self,) + _args, _kwargs)
         return val
+    def Enable(self, *_args, **_kwargs):
+        val = apply(calendarc.wxCalendarCtrl_Enable,(self,) + _args, _kwargs)
+        return val
+    def Show(self, *_args, **_kwargs):
+        val = apply(calendarc.wxCalendarCtrl_Show,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxCalendarCtrl instance at %s>" % (self.this,)
 class wxCalendarCtrl(wxCalendarCtrlPtr):
@@ -232,12 +180,11 @@ wxCAL_MONDAY_FIRST = calendarc.wxCAL_MONDAY_FIRST
 wxCAL_SHOW_HOLIDAYS = calendarc.wxCAL_SHOW_HOLIDAYS
 wxCAL_NO_YEAR_CHANGE = calendarc.wxCAL_NO_YEAR_CHANGE
 wxCAL_NO_MONTH_CHANGE = calendarc.wxCAL_NO_MONTH_CHANGE
+wxCAL_SEQUENTIAL_MONTH_SELECTION = calendarc.wxCAL_SEQUENTIAL_MONTH_SELECTION
+wxCAL_SHOW_SURROUNDING_WEEKS = calendarc.wxCAL_SHOW_SURROUNDING_WEEKS
 wxCAL_HITTEST_NOWHERE = calendarc.wxCAL_HITTEST_NOWHERE
 wxCAL_HITTEST_HEADER = calendarc.wxCAL_HITTEST_HEADER
 wxCAL_HITTEST_DAY = calendarc.wxCAL_HITTEST_DAY
-wxCAL_BORDER_NONE = calendarc.wxCAL_BORDER_NONE
-wxCAL_BORDER_SQUARE = calendarc.wxCAL_BORDER_SQUARE
-wxCAL_BORDER_ROUND = calendarc.wxCAL_BORDER_ROUND
 wxEVT_CALENDAR_DOUBLECLICKED = calendarc.wxEVT_CALENDAR_DOUBLECLICKED
 wxEVT_CALENDAR_SEL_CHANGED = calendarc.wxEVT_CALENDAR_SEL_CHANGED
 wxEVT_CALENDAR_DAY_CHANGED = calendarc.wxEVT_CALENDAR_DAY_CHANGED