]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/mac/_misc_wrap.cpp
warning fix
[wxWidgets.git] / wxPython / src / mac / _misc_wrap.cpp
index 499a6fbb009b349f08a5148ef637cfdd7026a76c..143d7a2eef9f23cb30bbb5c829f170fa9b4fc9b4 100644 (file)
@@ -1360,81 +1360,82 @@ SWIG_Python_GetTypeList() {
 #define  SWIGTYPE_p_wxSize swig_types[19] 
 #define  SWIGTYPE_p_wxClipboard swig_types[20] 
 #define  SWIGTYPE_p_wxStopWatch swig_types[21] 
-#define  SWIGTYPE_p_wxClipboardLocker swig_types[22] 
-#define  SWIGTYPE_p_wxIcon swig_types[23] 
-#define  SWIGTYPE_p_wxLogStderr swig_types[24] 
-#define  SWIGTYPE_p_wxLogTextCtrl swig_types[25] 
-#define  SWIGTYPE_p_wxTextCtrl swig_types[26] 
-#define  SWIGTYPE_p_wxBusyCursor swig_types[27] 
-#define  SWIGTYPE_p_wxBitmapDataObject swig_types[28] 
-#define  SWIGTYPE_p_wxTextDataObject swig_types[29] 
-#define  SWIGTYPE_p_wxDataObject swig_types[30] 
-#define  SWIGTYPE_p_wxPyTextDataObject swig_types[31] 
-#define  SWIGTYPE_p_wxPyBitmapDataObject swig_types[32] 
-#define  SWIGTYPE_p_wxFileDataObject swig_types[33] 
-#define  SWIGTYPE_p_wxCustomDataObject swig_types[34] 
-#define  SWIGTYPE_p_wxURLDataObject swig_types[35] 
-#define  SWIGTYPE_p_wxMetafileDataObject swig_types[36] 
-#define  SWIGTYPE_p_wxSound swig_types[37] 
-#define  SWIGTYPE_p_wxTimerRunner swig_types[38] 
-#define  SWIGTYPE_p_wxLogWindow swig_types[39] 
-#define  SWIGTYPE_p_wxTimeSpan swig_types[40] 
-#define  SWIGTYPE_p_wxArrayString swig_types[41] 
-#define  SWIGTYPE_p_wxWindowDisabler swig_types[42] 
-#define  SWIGTYPE_p_form_ops_t swig_types[43] 
-#define  SWIGTYPE_p_wxToolTip swig_types[44] 
-#define  SWIGTYPE_p_wxDataObjectComposite swig_types[45] 
-#define  SWIGTYPE_p_wxFileConfig swig_types[46] 
+#define  SWIGTYPE_p_wxDC swig_types[22] 
+#define  SWIGTYPE_p_wxClipboardLocker swig_types[23] 
+#define  SWIGTYPE_p_wxIcon swig_types[24] 
+#define  SWIGTYPE_p_wxLogStderr swig_types[25] 
+#define  SWIGTYPE_p_wxLogTextCtrl swig_types[26] 
+#define  SWIGTYPE_p_wxTextCtrl swig_types[27] 
+#define  SWIGTYPE_p_wxBusyCursor swig_types[28] 
+#define  SWIGTYPE_p_wxBitmapDataObject swig_types[29] 
+#define  SWIGTYPE_p_wxTextDataObject swig_types[30] 
+#define  SWIGTYPE_p_wxDataObject swig_types[31] 
+#define  SWIGTYPE_p_wxPyTextDataObject swig_types[32] 
+#define  SWIGTYPE_p_wxPyBitmapDataObject swig_types[33] 
+#define  SWIGTYPE_p_wxFileDataObject swig_types[34] 
+#define  SWIGTYPE_p_wxCustomDataObject swig_types[35] 
+#define  SWIGTYPE_p_wxURLDataObject swig_types[36] 
+#define  SWIGTYPE_p_wxMetafileDataObject swig_types[37] 
+#define  SWIGTYPE_p_wxSound swig_types[38] 
+#define  SWIGTYPE_p_wxTimerRunner swig_types[39] 
+#define  SWIGTYPE_p_wxLogWindow swig_types[40] 
+#define  SWIGTYPE_p_wxTimeSpan swig_types[41] 
+#define  SWIGTYPE_p_wxArrayString swig_types[42] 
+#define  SWIGTYPE_p_wxWindowDisabler swig_types[43] 
+#define  SWIGTYPE_p_form_ops_t swig_types[44] 
+#define  SWIGTYPE_p_wxToolTip swig_types[45] 
+#define  SWIGTYPE_p_wxDataObjectComposite swig_types[46] 
 #define  SWIGTYPE_p_wxSystemSettings swig_types[47] 
-#define  SWIGTYPE_p_wxVideoMode swig_types[48] 
-#define  SWIGTYPE_p_wxDataObjectSimple swig_types[49] 
-#define  SWIGTYPE_p_wxPyDataObjectSimple swig_types[50] 
-#define  SWIGTYPE_p_wxDuplexMode swig_types[51] 
-#define  SWIGTYPE_p_wxEvtHandler swig_types[52] 
-#define  SWIGTYPE_p_wxRect swig_types[53] 
-#define  SWIGTYPE_p_char swig_types[54] 
-#define  SWIGTYPE_p_wxSingleInstanceChecker swig_types[55] 
-#define  SWIGTYPE_p_wxStandardPaths swig_types[56] 
-#define  SWIGTYPE_p_wxFileTypeInfo swig_types[57] 
-#define  SWIGTYPE_p_wxFrame swig_types[58] 
-#define  SWIGTYPE_p_wxTimer swig_types[59] 
-#define  SWIGTYPE_p_wxPaperSize swig_types[60] 
-#define  SWIGTYPE_p_wxMimeTypesManager swig_types[61] 
-#define  SWIGTYPE_p_wxPyArtProvider swig_types[62] 
-#define  SWIGTYPE_p_wxPyTipProvider swig_types[63] 
-#define  SWIGTYPE_p_wxTipProvider swig_types[64] 
-#define  SWIGTYPE_p_wxJoystick swig_types[65] 
-#define  SWIGTYPE_p_wxSystemOptions swig_types[66] 
-#define  SWIGTYPE_p_wxPoint swig_types[67] 
-#define  SWIGTYPE_p_wxJoystickEvent swig_types[68] 
-#define  SWIGTYPE_p_wxCursor swig_types[69] 
-#define  SWIGTYPE_p_wxObject swig_types[70] 
-#define  SWIGTYPE_p_wxOutputStream swig_types[71] 
-#define  SWIGTYPE_p_wxDateTime swig_types[72] 
-#define  SWIGTYPE_p_wxPyDropSource swig_types[73] 
-#define  SWIGTYPE_p_unsigned_long swig_types[74] 
-#define  SWIGTYPE_p_wxKillError swig_types[75] 
-#define  SWIGTYPE_p_wxWindow swig_types[76] 
-#define  SWIGTYPE_p_wxString swig_types[77] 
-#define  SWIGTYPE_p_wxPyProcess swig_types[78] 
-#define  SWIGTYPE_p_wxBitmap swig_types[79] 
-#define  SWIGTYPE_p_wxConfig swig_types[80] 
-#define  SWIGTYPE_unsigned_int swig_types[81] 
-#define  SWIGTYPE_p_unsigned_int swig_types[82] 
-#define  SWIGTYPE_p_unsigned_char swig_types[83] 
-#define  SWIGTYPE_p_wxChar swig_types[84] 
-#define  SWIGTYPE_p_wxBusyInfo swig_types[85] 
-#define  SWIGTYPE_p_wxPyDropTarget swig_types[86] 
-#define  SWIGTYPE_p_wxPyTextDropTarget swig_types[87] 
-#define  SWIGTYPE_p_wxPyFileDropTarget swig_types[88] 
-#define  SWIGTYPE_p_wxProcessEvent swig_types[89] 
-#define  SWIGTYPE_p_wxPyLog swig_types[90] 
-#define  SWIGTYPE_p_wxLogNull swig_types[91] 
-#define  SWIGTYPE_p_wxColour swig_types[92] 
-#define  SWIGTYPE_p_wxPyTimer swig_types[93] 
-#define  SWIGTYPE_p_wxConfigPathChanger swig_types[94] 
-#define  SWIGTYPE_p_wxDateSpan swig_types[95] 
-static swig_type_info *swig_types[97];
+#define  SWIGTYPE_p_wxFileConfig swig_types[48] 
+#define  SWIGTYPE_p_wxVideoMode swig_types[49] 
+#define  SWIGTYPE_p_wxDataObjectSimple swig_types[50] 
+#define  SWIGTYPE_p_wxPyDataObjectSimple swig_types[51] 
+#define  SWIGTYPE_p_wxDuplexMode swig_types[52] 
+#define  SWIGTYPE_p_wxEvtHandler swig_types[53] 
+#define  SWIGTYPE_p_wxRect swig_types[54] 
+#define  SWIGTYPE_p_char swig_types[55] 
+#define  SWIGTYPE_p_wxSingleInstanceChecker swig_types[56] 
+#define  SWIGTYPE_p_wxStandardPaths swig_types[57] 
+#define  SWIGTYPE_p_wxFileTypeInfo swig_types[58] 
+#define  SWIGTYPE_p_wxFrame swig_types[59] 
+#define  SWIGTYPE_p_wxTimer swig_types[60] 
+#define  SWIGTYPE_p_wxPaperSize swig_types[61] 
+#define  SWIGTYPE_p_wxMimeTypesManager swig_types[62] 
+#define  SWIGTYPE_p_wxPyArtProvider swig_types[63] 
+#define  SWIGTYPE_p_wxPyTipProvider swig_types[64] 
+#define  SWIGTYPE_p_wxTipProvider swig_types[65] 
+#define  SWIGTYPE_p_wxJoystick swig_types[66] 
+#define  SWIGTYPE_p_wxSystemOptions swig_types[67] 
+#define  SWIGTYPE_p_wxPoint swig_types[68] 
+#define  SWIGTYPE_p_wxJoystickEvent swig_types[69] 
+#define  SWIGTYPE_p_wxCursor swig_types[70] 
+#define  SWIGTYPE_p_wxObject swig_types[71] 
+#define  SWIGTYPE_p_wxOutputStream swig_types[72] 
+#define  SWIGTYPE_p_wxDateTime swig_types[73] 
+#define  SWIGTYPE_p_wxPyDropSource swig_types[74] 
+#define  SWIGTYPE_p_unsigned_long swig_types[75] 
+#define  SWIGTYPE_p_wxKillError swig_types[76] 
+#define  SWIGTYPE_p_wxWindow swig_types[77] 
+#define  SWIGTYPE_p_wxString swig_types[78] 
+#define  SWIGTYPE_p_wxPyProcess swig_types[79] 
+#define  SWIGTYPE_p_wxBitmap swig_types[80] 
+#define  SWIGTYPE_p_wxConfig swig_types[81] 
+#define  SWIGTYPE_unsigned_int swig_types[82] 
+#define  SWIGTYPE_p_unsigned_int swig_types[83] 
+#define  SWIGTYPE_p_unsigned_char swig_types[84] 
+#define  SWIGTYPE_p_wxChar swig_types[85] 
+#define  SWIGTYPE_p_wxBusyInfo swig_types[86] 
+#define  SWIGTYPE_p_wxPyDropTarget swig_types[87] 
+#define  SWIGTYPE_p_wxPyTextDropTarget swig_types[88] 
+#define  SWIGTYPE_p_wxPyFileDropTarget swig_types[89] 
+#define  SWIGTYPE_p_wxProcessEvent swig_types[90] 
+#define  SWIGTYPE_p_wxPyLog swig_types[91] 
+#define  SWIGTYPE_p_wxLogNull swig_types[92] 
+#define  SWIGTYPE_p_wxColour swig_types[93] 
+#define  SWIGTYPE_p_wxPyTimer swig_types[94] 
+#define  SWIGTYPE_p_wxConfigPathChanger swig_types[95] 
+#define  SWIGTYPE_p_wxDateSpan swig_types[96] 
+static swig_type_info *swig_types[98];
 
 /* -------- TYPES TABLE (END) -------- */
 
@@ -1715,6 +1716,101 @@ static void wxCaret_Destroy(wxCaret *self){
 #include <wx/snglinst.h>
 
 
+#ifdef __WXMSW__
+#include <wx/msw/private.h>
+#include <wx/dynload.h>
+#endif
+
+
+
+bool wxDrawWindowOnDC(wxWindow* window, const wxDC& dc
+#if 0
+                      , int method
+#endif
+    )
+{
+#ifdef __WXMSW__
+#if 0
+    switch (method)
+    {
+        case 1:
+            // This one only partially works.  Appears to be an undocumented
+            // "standard" convention that not all widgets adhear to.  For
+            // example, for some widgets backgrounds or non-client areas may
+            // not be painted.
+            ::SendMessage(GetHwndOf(window), WM_PAINT, (long)GetHdcOf(dc), 0);
+            break;
+
+        case 2:
+#endif
+            // This one works much better, nearly all widgets and their
+            // children are captured correctly[**].  Prior to the big
+            // background erase changes that Vadim did in 2004-2005 this
+            // method failed badly on XP with Themes activated, most native
+            // widgets draw only partially, if at all.  Without themes it
+            // worked just like on Win2k.  After those changes this method
+            // works very well.
+            //
+            // ** For example the radio buttons in a wxRadioBox are not its
+            // children by default, but you can capture it via the panel
+            // instead, or change RADIOBTN_PARENT_IS_RADIOBOX in radiobox.cpp.
+            ::SendMessage(GetHwndOf(window), WM_PRINT, (long)GetHdcOf(dc),
+                          PRF_CLIENT | PRF_NONCLIENT | PRF_CHILDREN |
+                          PRF_ERASEBKGND | PRF_OWNED );
+            return true;
+#if 0
+            break;
+
+        case 3:
+            // This one is only defined in the latest SDK and is only
+            // available on XP.  MSDN says it is similar to sending WM_PRINT
+            // so I expect that it will work similar to the above.  Since it
+            // is avaialble only on XP, it can't be compiled like this and
+            // will have to be loaded dynamically.
+            // //::PrintWindow(GetHwndOf(window), GetHdcOf(dc), 0); //break;
+
+            // fall through
+
+        case 4:
+            // Use PrintWindow if available, or fallback to WM_PRINT
+            // otherwise.  Unfortunately using PrintWindow is even worse than
+            // WM_PRINT.  For most native widgets nothing is drawn to the dc
+            // at all, with or without Themes.
+            typedef BOOL (WINAPI *PrintWindow_t)(HWND, HDC, UINT);
+            static bool s_triedToLoad = false;
+            static PrintWindow_t pfnPrintWindow = NULL;
+            if ( !s_triedToLoad )
+            {
+
+                s_triedToLoad = true;
+                wxDynamicLibrary dllUser32(_T("user32.dll"));
+                if ( dllUser32.IsLoaded() )
+                {
+                    wxLogNull nolog;  // Don't report errors here
+                    pfnPrintWindow = (PrintWindow_t)dllUser32.GetSymbol(_T("PrintWindow"));
+                }
+            }
+            if (pfnPrintWindow)
+            {
+                //printf("Using PrintWindow\n");
+                pfnPrintWindow(GetHwndOf(window), GetHdcOf(dc), 0);
+            }
+            else
+            {
+                //printf("Using WM_PRINT\n");
+                ::SendMessage(GetHwndOf(window), WM_PRINT, (long)GetHdcOf(dc),
+                              PRF_CLIENT | PRF_NONCLIENT | PRF_CHILDREN |
+                              PRF_ERASEBKGND | PRF_OWNED );
+            }
+    }
+#endif  // 0
+#else
+    return false;
+#endif  // __WXMSW__    
+}
+
+
+
 #include <wx/tipdlg.h>
 
 
@@ -2246,6 +2342,8 @@ static PyObject *wxMimeTypesManager_EnumAllFileTypes(wxMimeTypesManager *self){
  static const wxString wxPyART_GO_TO_PARENT(wxART_GO_TO_PARENT); 
  static const wxString wxPyART_GO_HOME(wxART_GO_HOME); 
  static const wxString wxPyART_FILE_OPEN(wxART_FILE_OPEN); 
+ static const wxString wxPyART_FILE_SAVE(wxART_FILE_SAVE); 
+ static const wxString wxPyART_FILE_SAVE_AS(wxART_FILE_SAVE_AS); 
  static const wxString wxPyART_PRINT(wxART_PRINT); 
  static const wxString wxPyART_HELP(wxART_HELP); 
  static const wxString wxPyART_TIP(wxART_TIP); 
@@ -2268,6 +2366,15 @@ static PyObject *wxMimeTypesManager_EnumAllFileTypes(wxMimeTypesManager *self){
  static const wxString wxPyART_WARNING(wxART_WARNING); 
  static const wxString wxPyART_INFORMATION(wxART_INFORMATION); 
  static const wxString wxPyART_MISSING_IMAGE(wxART_MISSING_IMAGE); 
+ static const wxString wxPyART_COPY(wxART_COPY); 
+ static const wxString wxPyART_CUT(wxART_CUT); 
+ static const wxString wxPyART_PASTE(wxART_PASTE); 
+ static const wxString wxPyART_DELETE(wxART_DELETE); 
+ static const wxString wxPyART_UNDO(wxART_UNDO); 
+ static const wxString wxPyART_REDO(wxART_REDO); 
+ static const wxString wxPyART_QUIT(wxART_QUIT); 
+ static const wxString wxPyART_FIND(wxART_FIND); 
+ static const wxString wxPyART_FIND_AND_REPLACE(wxART_FIND_AND_REPLACE); 
   // Python aware wxArtProvider
 class wxPyArtProvider : public wxArtProvider  {
 public:
@@ -7706,6 +7813,44 @@ static PyObject * SingleInstanceChecker_swigregister(PyObject *, PyObject *args)
     Py_INCREF(obj);
     return Py_BuildValue((char *)"");
 }
+static PyObject *_wrap_DrawWindowOnDC(PyObject *, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "window",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DrawWindowOnDC",kwnames,&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxWindow, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_wxDC, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("wxDC");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)wxDrawWindowOnDC(arg1,(wxDC const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_delete_TipProvider(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxTipProvider *arg1 = (wxTipProvider *) 0 ;
@@ -15647,6 +15792,46 @@ static PyObject *_wrap_ART_FILE_OPEN_get(void) {
 }
 
 
+static int _wrap_ART_FILE_SAVE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ART_FILE_SAVE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ART_FILE_SAVE_get(void) {
+    PyObject *pyobj;
+    
+    {
+#if wxUSE_UNICODE
+        pyobj = PyUnicode_FromWideChar((&wxPyART_FILE_SAVE)->c_str(), (&wxPyART_FILE_SAVE)->Len());
+#else
+        pyobj = PyString_FromStringAndSize((&wxPyART_FILE_SAVE)->c_str(), (&wxPyART_FILE_SAVE)->Len());
+#endif
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ART_FILE_SAVE_AS_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ART_FILE_SAVE_AS is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ART_FILE_SAVE_AS_get(void) {
+    PyObject *pyobj;
+    
+    {
+#if wxUSE_UNICODE
+        pyobj = PyUnicode_FromWideChar((&wxPyART_FILE_SAVE_AS)->c_str(), (&wxPyART_FILE_SAVE_AS)->Len());
+#else
+        pyobj = PyString_FromStringAndSize((&wxPyART_FILE_SAVE_AS)->c_str(), (&wxPyART_FILE_SAVE_AS)->Len());
+#endif
+    }
+    return pyobj;
+}
+
+
 static int _wrap_ART_PRINT_set(PyObject *) {
     PyErr_SetString(PyExc_TypeError,"Variable ART_PRINT is read-only.");
     return 1;
@@ -16087,6 +16272,186 @@ static PyObject *_wrap_ART_MISSING_IMAGE_get(void) {
 }
 
 
+static int _wrap_ART_COPY_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ART_COPY is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ART_COPY_get(void) {
+    PyObject *pyobj;
+    
+    {
+#if wxUSE_UNICODE
+        pyobj = PyUnicode_FromWideChar((&wxPyART_COPY)->c_str(), (&wxPyART_COPY)->Len());
+#else
+        pyobj = PyString_FromStringAndSize((&wxPyART_COPY)->c_str(), (&wxPyART_COPY)->Len());
+#endif
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ART_CUT_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ART_CUT is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ART_CUT_get(void) {
+    PyObject *pyobj;
+    
+    {
+#if wxUSE_UNICODE
+        pyobj = PyUnicode_FromWideChar((&wxPyART_CUT)->c_str(), (&wxPyART_CUT)->Len());
+#else
+        pyobj = PyString_FromStringAndSize((&wxPyART_CUT)->c_str(), (&wxPyART_CUT)->Len());
+#endif
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ART_PASTE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ART_PASTE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ART_PASTE_get(void) {
+    PyObject *pyobj;
+    
+    {
+#if wxUSE_UNICODE
+        pyobj = PyUnicode_FromWideChar((&wxPyART_PASTE)->c_str(), (&wxPyART_PASTE)->Len());
+#else
+        pyobj = PyString_FromStringAndSize((&wxPyART_PASTE)->c_str(), (&wxPyART_PASTE)->Len());
+#endif
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ART_DELETE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ART_DELETE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ART_DELETE_get(void) {
+    PyObject *pyobj;
+    
+    {
+#if wxUSE_UNICODE
+        pyobj = PyUnicode_FromWideChar((&wxPyART_DELETE)->c_str(), (&wxPyART_DELETE)->Len());
+#else
+        pyobj = PyString_FromStringAndSize((&wxPyART_DELETE)->c_str(), (&wxPyART_DELETE)->Len());
+#endif
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ART_UNDO_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ART_UNDO is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ART_UNDO_get(void) {
+    PyObject *pyobj;
+    
+    {
+#if wxUSE_UNICODE
+        pyobj = PyUnicode_FromWideChar((&wxPyART_UNDO)->c_str(), (&wxPyART_UNDO)->Len());
+#else
+        pyobj = PyString_FromStringAndSize((&wxPyART_UNDO)->c_str(), (&wxPyART_UNDO)->Len());
+#endif
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ART_REDO_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ART_REDO is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ART_REDO_get(void) {
+    PyObject *pyobj;
+    
+    {
+#if wxUSE_UNICODE
+        pyobj = PyUnicode_FromWideChar((&wxPyART_REDO)->c_str(), (&wxPyART_REDO)->Len());
+#else
+        pyobj = PyString_FromStringAndSize((&wxPyART_REDO)->c_str(), (&wxPyART_REDO)->Len());
+#endif
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ART_QUIT_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ART_QUIT is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ART_QUIT_get(void) {
+    PyObject *pyobj;
+    
+    {
+#if wxUSE_UNICODE
+        pyobj = PyUnicode_FromWideChar((&wxPyART_QUIT)->c_str(), (&wxPyART_QUIT)->Len());
+#else
+        pyobj = PyString_FromStringAndSize((&wxPyART_QUIT)->c_str(), (&wxPyART_QUIT)->Len());
+#endif
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ART_FIND_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ART_FIND is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ART_FIND_get(void) {
+    PyObject *pyobj;
+    
+    {
+#if wxUSE_UNICODE
+        pyobj = PyUnicode_FromWideChar((&wxPyART_FIND)->c_str(), (&wxPyART_FIND)->Len());
+#else
+        pyobj = PyString_FromStringAndSize((&wxPyART_FIND)->c_str(), (&wxPyART_FIND)->Len());
+#endif
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ART_FIND_AND_REPLACE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ART_FIND_AND_REPLACE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ART_FIND_AND_REPLACE_get(void) {
+    PyObject *pyobj;
+    
+    {
+#if wxUSE_UNICODE
+        pyobj = PyUnicode_FromWideChar((&wxPyART_FIND_AND_REPLACE)->c_str(), (&wxPyART_FIND_AND_REPLACE)->Len());
+#else
+        pyobj = PyString_FromStringAndSize((&wxPyART_FIND_AND_REPLACE)->c_str(), (&wxPyART_FIND_AND_REPLACE)->Len());
+#endif
+    }
+    return pyobj;
+}
+
+
 static PyObject *_wrap_new_ArtProvider(PyObject *, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyArtProvider *result;
@@ -31123,6 +31488,7 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"SingleInstanceChecker_Create", (PyCFunction) _wrap_SingleInstanceChecker_Create, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"SingleInstanceChecker_IsAnotherRunning", (PyCFunction) _wrap_SingleInstanceChecker_IsAnotherRunning, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"SingleInstanceChecker_swigregister", SingleInstanceChecker_swigregister, METH_VARARGS, NULL},
+        { (char *)"DrawWindowOnDC", (PyCFunction) _wrap_DrawWindowOnDC, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"delete_TipProvider", (PyCFunction) _wrap_delete_TipProvider, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"TipProvider_GetTip", (PyCFunction) _wrap_TipProvider_GetTip, METH_VARARGS | METH_KEYWORDS, NULL},
         { (char *)"TipProvider_GetCurrentTip", (PyCFunction) _wrap_TipProvider_GetCurrentTip, METH_VARARGS | METH_KEYWORDS, NULL},
@@ -32323,6 +32689,7 @@ static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0, 0, 0, 0},{"_p
 static swig_type_info _swigt__p_wxSize[] = {{"_p_wxSize", 0, "wxSize *", 0, 0, 0, 0},{"_p_wxSize", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxClipboard[] = {{"_p_wxClipboard", 0, "wxClipboard *", 0, 0, 0, 0},{"_p_wxClipboard", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxStopWatch[] = {{"_p_wxStopWatch", 0, "wxStopWatch *", 0, 0, 0, 0},{"_p_wxStopWatch", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_wxDC[] = {{"_p_wxDC", 0, "wxDC *", 0, 0, 0, 0},{"_p_wxDC", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxClipboardLocker[] = {{"_p_wxClipboardLocker", 0, "wxClipboardLocker *", 0, 0, 0, 0},{"_p_wxClipboardLocker", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxIcon[] = {{"_p_wxIcon", 0, "wxIcon *", 0, 0, 0, 0},{"_p_wxIcon", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxLogStderr[] = {{"_p_wxLogStderr", 0, "wxLogStderr *", 0, 0, 0, 0},{"_p_wxLogStderr", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
@@ -32347,8 +32714,8 @@ static swig_type_info _swigt__p_wxWindowDisabler[] = {{"_p_wxWindowDisabler", 0,
 static swig_type_info _swigt__p_form_ops_t[] = {{"_p_form_ops_t", 0, "enum form_ops_t *|form_ops_t *", 0, 0, 0, 0},{"_p_form_ops_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxToolTip[] = {{"_p_wxToolTip", 0, "wxToolTip *", 0, 0, 0, 0},{"_p_wxToolTip", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxDataObjectComposite[] = {{"_p_wxDataObjectComposite", 0, "wxDataObjectComposite *", 0, 0, 0, 0},{"_p_wxDataObjectComposite", 0, 0, 0, 0, 0, 0},{"_p_wxURLDataObject", _p_wxURLDataObjectTo_p_wxDataObjectComposite, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
-static swig_type_info _swigt__p_wxFileConfig[] = {{"_p_wxFileConfig", 0, "wxFileConfig *", 0, 0, 0, 0},{"_p_wxFileConfig", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxSystemSettings[] = {{"_p_wxSystemSettings", 0, "wxSystemSettings *", 0, 0, 0, 0},{"_p_wxSystemSettings", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_wxFileConfig[] = {{"_p_wxFileConfig", 0, "wxFileConfig *", 0, 0, 0, 0},{"_p_wxFileConfig", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxVideoMode[] = {{"_p_wxVideoMode", 0, "wxVideoMode *", 0, 0, 0, 0},{"_p_wxVideoMode", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxDataObjectSimple[] = {{"_p_wxDataObjectSimple", 0, "wxDataObjectSimple *", 0, 0, 0, 0},{"_p_wxDataObjectSimple", 0, 0, 0, 0, 0, 0},{"_p_wxPyDataObjectSimple", _p_wxPyDataObjectSimpleTo_p_wxDataObjectSimple, 0, 0, 0, 0, 0},{"_p_wxTextDataObject", _p_wxTextDataObjectTo_p_wxDataObjectSimple, 0, 0, 0, 0, 0},{"_p_wxPyTextDataObject", _p_wxPyTextDataObjectTo_p_wxDataObjectSimple, 0, 0, 0, 0, 0},{"_p_wxBitmapDataObject", _p_wxBitmapDataObjectTo_p_wxDataObjectSimple, 0, 0, 0, 0, 0},{"_p_wxPyBitmapDataObject", _p_wxPyBitmapDataObjectTo_p_wxDataObjectSimple, 0, 0, 0, 0, 0},{"_p_wxFileDataObject", _p_wxFileDataObjectTo_p_wxDataObjectSimple, 0, 0, 0, 0, 0},{"_p_wxCustomDataObject", _p_wxCustomDataObjectTo_p_wxDataObjectSimple, 0, 0, 0, 0, 0},{"_p_wxMetafileDataObject", _p_wxMetafileDataObjectTo_p_wxDataObjectSimple, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
 static swig_type_info _swigt__p_wxPyDataObjectSimple[] = {{"_p_wxPyDataObjectSimple", 0, "wxPyDataObjectSimple *", 0, 0, 0, 0},{"_p_wxPyDataObjectSimple", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
@@ -32421,6 +32788,7 @@ _swigt__p_int,
 _swigt__p_wxSize, 
 _swigt__p_wxClipboard, 
 _swigt__p_wxStopWatch, 
+_swigt__p_wxDC, 
 _swigt__p_wxClipboardLocker, 
 _swigt__p_wxIcon, 
 _swigt__p_wxLogStderr, 
@@ -32445,8 +32813,8 @@ _swigt__p_wxWindowDisabler,
 _swigt__p_form_ops_t, 
 _swigt__p_wxToolTip, 
 _swigt__p_wxDataObjectComposite, 
-_swigt__p_wxFileConfig, 
 _swigt__p_wxSystemSettings, 
+_swigt__p_wxFileConfig, 
 _swigt__p_wxVideoMode, 
 _swigt__p_wxDataObjectSimple, 
 _swigt__p_wxPyDataObjectSimple, 
@@ -33366,6 +33734,8 @@ SWIGEXPORT(void) SWIG_init(void) {
     SWIG_addvarlink(SWIG_globals,(char*)"ART_GO_TO_PARENT",_wrap_ART_GO_TO_PARENT_get, _wrap_ART_GO_TO_PARENT_set);
     SWIG_addvarlink(SWIG_globals,(char*)"ART_GO_HOME",_wrap_ART_GO_HOME_get, _wrap_ART_GO_HOME_set);
     SWIG_addvarlink(SWIG_globals,(char*)"ART_FILE_OPEN",_wrap_ART_FILE_OPEN_get, _wrap_ART_FILE_OPEN_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ART_FILE_SAVE",_wrap_ART_FILE_SAVE_get, _wrap_ART_FILE_SAVE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ART_FILE_SAVE_AS",_wrap_ART_FILE_SAVE_AS_get, _wrap_ART_FILE_SAVE_AS_set);
     SWIG_addvarlink(SWIG_globals,(char*)"ART_PRINT",_wrap_ART_PRINT_get, _wrap_ART_PRINT_set);
     SWIG_addvarlink(SWIG_globals,(char*)"ART_HELP",_wrap_ART_HELP_get, _wrap_ART_HELP_set);
     SWIG_addvarlink(SWIG_globals,(char*)"ART_TIP",_wrap_ART_TIP_get, _wrap_ART_TIP_set);
@@ -33388,6 +33758,15 @@ SWIGEXPORT(void) SWIG_init(void) {
     SWIG_addvarlink(SWIG_globals,(char*)"ART_WARNING",_wrap_ART_WARNING_get, _wrap_ART_WARNING_set);
     SWIG_addvarlink(SWIG_globals,(char*)"ART_INFORMATION",_wrap_ART_INFORMATION_get, _wrap_ART_INFORMATION_set);
     SWIG_addvarlink(SWIG_globals,(char*)"ART_MISSING_IMAGE",_wrap_ART_MISSING_IMAGE_get, _wrap_ART_MISSING_IMAGE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ART_COPY",_wrap_ART_COPY_get, _wrap_ART_COPY_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ART_CUT",_wrap_ART_CUT_get, _wrap_ART_CUT_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ART_PASTE",_wrap_ART_PASTE_get, _wrap_ART_PASTE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ART_DELETE",_wrap_ART_DELETE_get, _wrap_ART_DELETE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ART_UNDO",_wrap_ART_UNDO_get, _wrap_ART_UNDO_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ART_REDO",_wrap_ART_REDO_get, _wrap_ART_REDO_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ART_QUIT",_wrap_ART_QUIT_get, _wrap_ART_QUIT_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ART_FIND",_wrap_ART_FIND_get, _wrap_ART_FIND_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ART_FIND_AND_REPLACE",_wrap_ART_FIND_AND_REPLACE_get, _wrap_ART_FIND_AND_REPLACE_set);
     
     wxPyPtrTypeMap_Add("wxArtProvider", "wxPyArtProvider");