]> git.saurik.com Git - wxWidgets.git/commitdiff
Re-enable clipboard and DnD classes for wxMac
authorRobin Dunn <robin@alldunn.com>
Wed, 15 May 2002 05:05:48 +0000 (05:05 +0000)
committerRobin Dunn <robin@alldunn.com>
Wed, 15 May 2002 05:05:48 +0000 (05:05 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/src/clip_dnd.i
wxPython/src/mac/clip_dnd.cpp
wxPython/src/mac/clip_dnd.py

index a1d9058763bb7e808a6921cc14d3fb2c15e780ed..1c0b7b3dc5df1c3e32db7447dbaf8b3243ed7e51 100644 (file)
@@ -13,8 +13,6 @@
 
 %module clip_dnd
 
-#ifndef __WXMAC__
-
 %{
 #include "helpers.h"
 #include <wx/dataobj.h>
@@ -674,5 +672,5 @@ public:
 %}
 
 //----------------------------------------------------------------------
-#endif
+
 
index 41c245529f68d31cf9d85421f4c2a0ff1b21ea02..2f40059ed1a33c2f7c40f3d1919118cc23f5ca00 100644 (file)
@@ -54,10 +54,3580 @@ extern PyObject *SWIG_newvarlink(void);
 #define SWIG_init    initclip_dndc
 
 #define SWIG_name    "clip_dndc"
+
+#include "helpers.h"
+#include <wx/dataobj.h>
+#include <wx/clipbrd.h>
+#include <wx/dnd.h>
+
+
+static PyObject* t_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+
+    if (!target) {
+        target = o;
+    } else if (target == Py_None) {
+        Py_DECREF(Py_None);
+        target = o;
+    } else {
+        if (!PyTuple_Check(target)) {
+            o2 = target;
+            target = PyTuple_New(1);
+            PyTuple_SetItem(target, 0, o2);
+        }
+        o3 = PyTuple_New(1);
+        PyTuple_SetItem(o3, 0, o);
+
+        o2 = target;
+        target = PySequence_Concat(o2, o3);
+        Py_DECREF(o2);
+        Py_DECREF(o3);
+    }
+    return target;
+}
+
+    // Put some wx default wxChar* values into wxStrings.
+    static const wxString wxPyEmptyString(wxT(""));
+  // An alternate constructor...
+    wxDataFormat* wxCustomDataFormat(const wxString &id) {
+        return new wxDataFormat(id);
+    }
+
+wxDataFormat wxPyFormatInvalid;
+  // Create a new class for wxPython to use
+class wxPyDataObjectSimple : public wxDataObjectSimple {
+public:
+    wxPyDataObjectSimple(const wxDataFormat& format = wxPyFormatInvalid)
+        : wxDataObjectSimple(format) {}
+
+    DEC_PYCALLBACK_SIZET_(GetDataSize);
+    bool GetDataHere(void *buf);
+    bool SetData(size_t len, const void *buf);
+    PYPRIVATE;
+};
+
+IMP_PYCALLBACK_SIZET_(wxPyDataObjectSimple, wxDataObjectSimple, GetDataSize);
+
+bool wxPyDataObjectSimple::GetDataHere(void *buf) {
+    // We need to get the data for this object and write it to buf.  I think
+    // the best way to do this for wxPython is to have the Python method
+    // return either a string or None and then act appropriately with the
+    // C++ version.
+
+    bool rval = FALSE;
+    wxPyBeginBlockThreads();
+    if (m_myInst.findCallback("GetDataHere")) {
+        PyObject* ro;
+        ro = m_myInst.callCallbackObj(Py_BuildValue("()"));
+        if (ro) {
+            rval = (ro != Py_None && PyString_Check(ro));
+            if (rval)
+                memcpy(buf, PyString_AsString(ro), PyString_Size(ro));
+            Py_DECREF(ro);
+        }
+    }
+    wxPyEndBlockThreads();
+    return rval;
+}
+
+bool wxPyDataObjectSimple::SetData(size_t len, const void *buf) {
+    // For this one we simply need to make a string from buf and len
+    // and send it to the Python method.
+    bool rval = FALSE;
+    wxPyBeginBlockThreads();
+    if (m_myInst.findCallback("SetData")) {
+        PyObject* data = PyString_FromStringAndSize((char*)buf, len);
+        rval = m_myInst.callCallback(Py_BuildValue("(O)", data));
+        Py_DECREF(data);
+    }
+    wxPyEndBlockThreads();
+    return rval;
+}
+  // Create a new class for wxPython to use
+class wxPyTextDataObject : public wxTextDataObject {
+public:
+    wxPyTextDataObject(const wxString& text = wxPyEmptyString)
+        : wxTextDataObject(text) {}
+
+    DEC_PYCALLBACK_SIZET_(GetTextLength);
+    DEC_PYCALLBACK_STRING_(GetText);
+    DEC_PYCALLBACK__STRING(SetText);
+    PYPRIVATE;
+};
+
+IMP_PYCALLBACK_SIZET_(wxPyTextDataObject, wxTextDataObject, GetTextLength);
+IMP_PYCALLBACK_STRING_(wxPyTextDataObject, wxTextDataObject, GetText);
+IMP_PYCALLBACK__STRING(wxPyTextDataObject, wxTextDataObject, SetText);
+
+  // Create a new class for wxPython to use
+class wxPyBitmapDataObject : public wxBitmapDataObject {
+public:
+    wxPyBitmapDataObject(const wxBitmap& bitmap = wxNullBitmap)
+        : wxBitmapDataObject(bitmap) {}
+
+    wxBitmap GetBitmap();
+    void SetBitmap(const wxBitmap& bitmap);
+    PYPRIVATE;
+};
+
+wxBitmap wxPyBitmapDataObject::GetBitmap() {
+    wxBitmap* rval = &wxNullBitmap;
+    wxPyBeginBlockThreads();
+    if (m_myInst.findCallback("GetBitmap")) {
+        PyObject* ro;
+        wxBitmap* ptr;
+        ro = m_myInst.callCallbackObj(Py_BuildValue("()"));
+        if (ro) {
+            if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxBitmap_p"))
+                rval = ptr;
+            Py_DECREF(ro);
+        }
+    }
+    wxPyEndBlockThreads();
+    return *rval;
+}
+
+void wxPyBitmapDataObject::SetBitmap(const wxBitmap& bitmap) {
+    wxPyBeginBlockThreads();
+    if (m_myInst.findCallback("SetBitmap")) {
+        m_myInst.callCallback(Py_BuildValue("(O)",
+                              wxPyConstructObject((void*)&bitmap, "wxBitmap")));
+    }
+    wxPyEndBlockThreads();
+}
+
+#include <wx/metafile.h>
+
+    // See below in the init function...
+    wxClipboard* wxPyTheClipboard;
+
+class wxPyDropSource : public wxDropSource {
+public:
+#ifdef __WXMSW__
+    wxPyDropSource(wxWindow *win = NULL,
+                   const wxCursor &cursorCopy = wxNullCursor,
+                   const wxCursor &cursorMove = wxNullCursor,
+                   const wxCursor &cursorStop = wxNullCursor)
+        : wxDropSource(win, cursorCopy, cursorMove, cursorStop) {}
+#else
+    wxPyDropSource(wxWindow *win = NULL,
+                   const wxIcon &go = wxNullIcon)
+        : wxDropSource(win, go) {}
+#endif
+    ~wxPyDropSource() { }
+
+    DEC_PYCALLBACK_BOOL_DR(GiveFeedback);
+    PYPRIVATE;
+};
+
+IMP_PYCALLBACK_BOOL_DR(wxPyDropSource, wxDropSource, GiveFeedback);
+
+
+class wxPyDropTarget : public wxDropTarget {
+public:
+    wxPyDropTarget(wxDataObject *dataObject = NULL)
+        : wxDropTarget(dataObject) {}
+
+//      DEC_PYCALLBACK_SIZET_(GetFormatCount);
+//      DEC_PYCALLBACK_DATAFMT_SIZET(GetFormat);
+
+    DEC_PYCALLBACK__(OnLeave);
+    DEC_PYCALLBACK_DR_2WXCDR(OnEnter);
+    DEC_PYCALLBACK_DR_2WXCDR(OnDragOver);
+    DEC_PYCALLBACK_DR_2WXCDR_pure(OnData);
+    DEC_PYCALLBACK_BOOL_INTINT(OnDrop);
+
+    PYPRIVATE;
+};
+
+//  IMP_PYCALLBACK_SIZET_(wxPyDropTarget, wxDropTarget, GetFormatCount);
+//  IMP__PYCALLBACK_DATAFMT_SIZET(wxPyDropTarget, wxDropTarget, GetFormat);
+
+IMP_PYCALLBACK__(wxPyDropTarget, wxDropTarget, OnLeave);
+IMP_PYCALLBACK_DR_2WXCDR(wxPyDropTarget, wxDropTarget, OnEnter);
+IMP_PYCALLBACK_DR_2WXCDR(wxPyDropTarget, wxDropTarget, OnDragOver);
+IMP_PYCALLBACK_DR_2WXCDR_pure(wxPyDropTarget, wxDropTarget, OnData);
+IMP_PYCALLBACK_BOOL_INTINT(wxPyDropTarget, wxDropTarget, OnDrop);
+
+
+class wxPyTextDropTarget : public wxTextDropTarget {
+public:
+    wxPyTextDropTarget() {}
+
+    DEC_PYCALLBACK_BOOL_INTINTSTR_pure(OnDropText);
+
+    DEC_PYCALLBACK__(OnLeave);
+    DEC_PYCALLBACK_DR_2WXCDR(OnEnter);
+    DEC_PYCALLBACK_DR_2WXCDR(OnDragOver);
+    DEC_PYCALLBACK_DR_2WXCDR(OnData);
+    DEC_PYCALLBACK_BOOL_INTINT(OnDrop);
+
+    PYPRIVATE;
+};
+
+IMP_PYCALLBACK_BOOL_INTINTSTR_pure(wxPyTextDropTarget, wxTextDropTarget, OnDropText);
+IMP_PYCALLBACK__(wxPyTextDropTarget, wxTextDropTarget, OnLeave);
+IMP_PYCALLBACK_DR_2WXCDR(wxPyTextDropTarget, wxTextDropTarget, OnEnter);
+IMP_PYCALLBACK_DR_2WXCDR(wxPyTextDropTarget, wxTextDropTarget, OnDragOver);
+IMP_PYCALLBACK_DR_2WXCDR(wxPyTextDropTarget, wxTextDropTarget, OnData);
+IMP_PYCALLBACK_BOOL_INTINT(wxPyTextDropTarget, wxTextDropTarget, OnDrop);
+
+
+class wxPyFileDropTarget : public wxFileDropTarget {
+public:
+    wxPyFileDropTarget() {}
+
+    virtual bool OnDropFiles(wxCoord x, wxCoord y, const wxArrayString& filenames);
+
+    DEC_PYCALLBACK__(OnLeave);
+    DEC_PYCALLBACK_DR_2WXCDR(OnEnter);
+    DEC_PYCALLBACK_DR_2WXCDR(OnDragOver);
+    DEC_PYCALLBACK_DR_2WXCDR(OnData);
+    DEC_PYCALLBACK_BOOL_INTINT(OnDrop);
+
+    PYPRIVATE;
+};
+
+bool wxPyFileDropTarget::OnDropFiles(wxCoord x, wxCoord y,
+                                     const wxArrayString& filenames) {
+    bool rval = FALSE;
+    wxPyBeginBlockThreads();
+    PyObject* list = wxArrayString2PyList_helper(filenames);
+    if (m_myInst.findCallback("OnDropFiles"))
+        rval = m_myInst.callCallback(Py_BuildValue("(iiO)",x,y,list));
+    Py_DECREF(list);
+    wxPyEndBlockThreads();
+    return rval;
+}
+
+
+
+IMP_PYCALLBACK__(wxPyFileDropTarget, wxFileDropTarget, OnLeave);
+IMP_PYCALLBACK_DR_2WXCDR(wxPyFileDropTarget, wxFileDropTarget, OnEnter);
+IMP_PYCALLBACK_DR_2WXCDR(wxPyFileDropTarget, wxFileDropTarget, OnDragOver);
+IMP_PYCALLBACK_DR_2WXCDR(wxPyFileDropTarget, wxFileDropTarget, OnData);
+IMP_PYCALLBACK_BOOL_INTINT(wxPyFileDropTarget, wxFileDropTarget, OnDrop);
+
 #ifdef __cplusplus
 extern "C" {
 #endif
+static PyObject *_wrap_wxCustomDataFormat(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataFormat * _result;
+    wxString * _arg0;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "id", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCustomDataFormat",_kwnames,&_obj0)) 
+        return NULL;
+{
+    _arg0 = wxString_in_helper(_obj0);
+    if (_arg0 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDataFormat *)wxCustomDataFormat(*_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDataFormat_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj0)
+        delete _arg0;
+}
+    return _resultobj;
+}
+
+static int _wrap_wxPyFormatInvalid_set(PyObject *val) {
+
+    PyErr_SetString(PyExc_TypeError,"Variable wxFormatInvalid is read-only.");
+    return 1;
+}
+
+static PyObject *_wrap_wxPyFormatInvalid_get() {
+    PyObject * pyobj;
+    char ptemp[128];
+
+    SWIG_MakePtr(ptemp,(char *) &wxPyFormatInvalid,"_wxDataFormat_p");
+    pyobj = PyString_FromString(ptemp);
+    return pyobj;
+}
+
+static int _wrap_wxPyTheClipboard_set(PyObject *val) {
+
+    PyErr_SetString(PyExc_TypeError,"Variable wxTheClipboard is read-only.");
+    return 1;
+}
+
+static PyObject *_wrap_wxPyTheClipboard_get() {
+    PyObject * pyobj;
+    char ptemp[128];
+
+    SWIG_MakePtr(ptemp, (char *) wxPyTheClipboard,"_wxClipboard_p");
+    pyobj = PyString_FromString(ptemp);
+    return pyobj;
+}
+
+static PyObject *_wrap_wxIsDragResultOk(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxDragResult  _arg0;
+    char *_kwnames[] = { "res", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:wxIsDragResultOk",_kwnames,&_arg0)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxIsDragResultOk(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define new_wxDataFormat(_swigarg0) (new wxDataFormat(_swigarg0))
+static PyObject *_wrap_new_wxDataFormat(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataFormat * _result;
+    wxDataFormatId  _arg0;
+    char *_kwnames[] = { "type", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:new_wxDataFormat",_kwnames,&_arg0)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDataFormat *)new_wxDataFormat(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDataFormat_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define delete_wxDataFormat(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxDataFormat(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataFormat * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxDataFormat",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxDataFormat. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxDataFormat(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxDataFormat_SetType(_swigobj,_swigarg0)  (_swigobj->SetType(_swigarg0))
+static PyObject *_wrap_wxDataFormat_SetType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataFormat * _arg0;
+    wxDataFormatId  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","format", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDataFormat_SetType",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataFormat_SetType. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxDataFormat_SetType(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxDataFormat_GetType(_swigobj)  (_swigobj->GetType())
+static PyObject *_wrap_wxDataFormat_GetType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataFormatId  _result;
+    wxDataFormat * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDataFormat_GetType",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataFormat_GetType. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDataFormatId )wxDataFormat_GetType(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxDataFormat_GetId(_swigobj)  (_swigobj->GetId())
+static PyObject *_wrap_wxDataFormat_GetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxDataFormat * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDataFormat_GetId",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataFormat_GetId. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxDataFormat_GetId(_arg0));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{
+#if wxUSE_UNICODE
+    _resultobj = PyUnicode_FromUnicode(_result->c_str(), _result->Len());
+#else
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+#endif
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxDataFormat_SetId(_swigobj,_swigarg0)  (_swigobj->SetId(_swigarg0))
+static PyObject *_wrap_wxDataFormat_SetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataFormat * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","format", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDataFormat_SetId",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataFormat_SetId. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxDataFormat_SetId(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define delete_wxDataObject(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataObject * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxDataObject",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxDataObject. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxDataObject(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxDataObject_GetPreferredFormat(_swigobj,_swigarg0)  (_swigobj->GetPreferredFormat(_swigarg0))
+static PyObject *_wrap_wxDataObject_GetPreferredFormat(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataFormat * _result;
+    wxDataObject * _arg0;
+    wxDataObject::Direction  _arg1 = (wxDataObject::Direction ) wxDataObject::Get;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","dir", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxDataObject_GetPreferredFormat",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataObject_GetPreferredFormat. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxDataFormat (wxDataObject_GetPreferredFormat(_arg0,_arg1));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxDataFormat_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+    return _resultobj;
+}
+
+#define wxDataObject_GetFormatCount(_swigobj,_swigarg0)  (_swigobj->GetFormatCount(_swigarg0))
+static PyObject *_wrap_wxDataObject_GetFormatCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    size_t  _result;
+    wxDataObject * _arg0;
+    wxDataObject::Direction  _arg1 = (wxDataObject::Direction ) wxDataObject::Get;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","dir", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxDataObject_GetFormatCount",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataObject_GetFormatCount. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (size_t )wxDataObject_GetFormatCount(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxDataObject_GetAllFormats(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetAllFormats(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxDataObject_GetAllFormats(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataObject * _arg0;
+    wxDataFormat * _arg1;
+    wxDataObject::Direction  _arg2 = (wxDataObject::Direction ) wxDataObject::Get;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","formats","dir", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxDataObject_GetAllFormats",_kwnames,&_argo0,&_argo1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataObject_GetAllFormats. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDataObject_GetAllFormats. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxDataObject_GetAllFormats(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxDataObject_GetDataSize(_swigobj,_swigarg0)  (_swigobj->GetDataSize(_swigarg0))
+static PyObject *_wrap_wxDataObject_GetDataSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    size_t  _result;
+    wxDataObject * _arg0;
+    wxDataFormat * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","format", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDataObject_GetDataSize",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataObject_GetDataSize. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDataObject_GetDataSize. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (size_t )wxDataObject_GetDataSize(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxDataObject_GetDataHere(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetDataHere(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxDataObject_GetDataHere(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxDataObject * _arg0;
+    wxDataFormat * _arg1;
+    void * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "self","format","buf", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxDataObject_GetDataHere",_kwnames,&_argo0,&_argo1,&_argo2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataObject_GetDataHere. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDataObject_GetDataHere. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxDataObject_GetDataHere. Expected _void_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxDataObject_GetDataHere(_arg0,*_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxDataObject_SetData(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetData(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxDataObject_SetData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxDataObject * _arg0;
+    wxDataFormat * _arg1;
+    size_t  _arg2;
+    void * _arg3;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _argo3 = 0;
+    char *_kwnames[] = { "self","format","len","buf", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOiO:wxDataObject_SetData",_kwnames,&_argo0,&_argo1,&_arg2,&_argo3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataObject_SetData. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDataObject_SetData. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+    if (_argo3) {
+        if (_argo3 == Py_None) { _arg3 = NULL; }
+        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,(char *) 0 )) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxDataObject_SetData. Expected _void_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxDataObject_SetData(_arg0,*_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxDataObject_IsSupportedFormat(_swigobj,_swigarg0)  (_swigobj->IsSupportedFormat(_swigarg0))
+static PyObject *_wrap_wxDataObject_IsSupportedFormat(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxDataObject * _arg0;
+    wxDataFormat * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","format", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDataObject_IsSupportedFormat",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataObject_IsSupportedFormat. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDataObject_IsSupportedFormat. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxDataObject_IsSupportedFormat(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static void *SwigwxDataObjectSimpleTowxDataObject(void *ptr) {
+    wxDataObjectSimple *src;
+    wxDataObject *dest;
+    src = (wxDataObjectSimple *) ptr;
+    dest = (wxDataObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxDataObjectSimple(_swigarg0) (new wxDataObjectSimple(_swigarg0))
+static PyObject *_wrap_new_wxDataObjectSimple(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataObjectSimple * _result;
+    wxDataFormat * _arg0 = (wxDataFormat *) &wxPyFormatInvalid;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "format", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxDataObjectSimple",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxDataObjectSimple. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDataObjectSimple *)new_wxDataObjectSimple(*_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDataObjectSimple_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxDataObjectSimple_GetFormat(_swigobj)  (_swigobj->GetFormat())
+static PyObject *_wrap_wxDataObjectSimple_GetFormat(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataFormat * _result;
+    wxDataObjectSimple * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDataObjectSimple_GetFormat",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObjectSimple_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataObjectSimple_GetFormat. Expected _wxDataObjectSimple_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    const wxDataFormat & _result_ref = wxDataObjectSimple_GetFormat(_arg0);
+    _result = (wxDataFormat *) &_result_ref;
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDataFormat_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxDataObjectSimple_SetFormat(_swigobj,_swigarg0)  (_swigobj->SetFormat(_swigarg0))
+static PyObject *_wrap_wxDataObjectSimple_SetFormat(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataObjectSimple * _arg0;
+    wxDataFormat * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","format", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDataObjectSimple_SetFormat",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObjectSimple_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataObjectSimple_SetFormat. Expected _wxDataObjectSimple_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDataObjectSimple_SetFormat. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxDataObjectSimple_SetFormat(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxPyDataObjectSimpleTowxDataObjectSimple(void *ptr) {
+    wxPyDataObjectSimple *src;
+    wxDataObjectSimple *dest;
+    src = (wxPyDataObjectSimple *) ptr;
+    dest = (wxDataObjectSimple *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyDataObjectSimpleTowxDataObject(void *ptr) {
+    wxPyDataObjectSimple *src;
+    wxDataObject *dest;
+    src = (wxPyDataObjectSimple *) ptr;
+    dest = (wxDataObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxPyDataObjectSimple(_swigarg0) (new wxPyDataObjectSimple(_swigarg0))
+static PyObject *_wrap_new_wxPyDataObjectSimple(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDataObjectSimple * _result;
+    wxDataFormat * _arg0 = (wxDataFormat *) &wxPyFormatInvalid;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "format", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxPyDataObjectSimple",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPyDataObjectSimple. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPyDataObjectSimple *)new_wxPyDataObjectSimple(*_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyDataObjectSimple_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyDataObjectSimple__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyDataObjectSimple__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDataObjectSimple * _arg0;
+    PyObject * _arg1;
+    PyObject * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","self","_class", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyDataObjectSimple__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDataObjectSimple_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyDataObjectSimple__setCallbackInfo. Expected _wxPyDataObjectSimple_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+  _arg2 = _obj2;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxPyDataObjectSimple__setCallbackInfo(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxDataObjectCompositeTowxDataObject(void *ptr) {
+    wxDataObjectComposite *src;
+    wxDataObject *dest;
+    src = (wxDataObjectComposite *) ptr;
+    dest = (wxDataObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxDataObjectComposite() (new wxDataObjectComposite())
+static PyObject *_wrap_new_wxDataObjectComposite(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataObjectComposite * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxDataObjectComposite",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDataObjectComposite *)new_wxDataObjectComposite();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDataObjectComposite_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxDataObjectComposite_Add(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Add(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxDataObjectComposite_Add(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataObjectComposite * _arg0;
+    wxDataObjectSimple * _arg1;
+    int  _arg2 = (int ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dataObject","preferred", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxDataObjectComposite_Add",_kwnames,&_argo0,&_argo1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObjectComposite_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDataObjectComposite_Add. Expected _wxDataObjectComposite_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataObjectSimple_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDataObjectComposite_Add. Expected _wxDataObjectSimple_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxDataObjectComposite_Add(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxTextDataObjectTowxDataObjectSimple(void *ptr) {
+    wxTextDataObject *src;
+    wxDataObjectSimple *dest;
+    src = (wxTextDataObject *) ptr;
+    dest = (wxDataObjectSimple *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxTextDataObjectTowxDataObject(void *ptr) {
+    wxTextDataObject *src;
+    wxDataObject *dest;
+    src = (wxTextDataObject *) ptr;
+    dest = (wxDataObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxTextDataObject(_swigarg0) (new wxTextDataObject(_swigarg0))
+static PyObject *_wrap_new_wxTextDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxTextDataObject * _result;
+    wxString * _arg0 = (wxString *) &wxPyEmptyString;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "text", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxTextDataObject",_kwnames,&_obj0)) 
+        return NULL;
+    if (_obj0)
+{
+    _arg0 = wxString_in_helper(_obj0);
+    if (_arg0 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxTextDataObject *)new_wxTextDataObject(*_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxTextDataObject_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj0)
+        delete _arg0;
+}
+    return _resultobj;
+}
+
+#define wxTextDataObject_GetTextLength(_swigobj)  (_swigobj->GetTextLength())
+static PyObject *_wrap_wxTextDataObject_GetTextLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    size_t  _result;
+    wxTextDataObject * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextDataObject_GetTextLength",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextDataObject_GetTextLength. Expected _wxTextDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (size_t )wxTextDataObject_GetTextLength(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextDataObject_GetText(_swigobj)  (_swigobj->GetText())
+static PyObject *_wrap_wxTextDataObject_GetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxTextDataObject * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextDataObject_GetText",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextDataObject_GetText. Expected _wxTextDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxTextDataObject_GetText(_arg0));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{
+#if wxUSE_UNICODE
+    _resultobj = PyUnicode_FromUnicode(_result->c_str(), _result->Len());
+#else
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+#endif
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxTextDataObject_SetText(_swigobj,_swigarg0)  (_swigobj->SetText(_swigarg0))
+static PyObject *_wrap_wxTextDataObject_SetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxTextDataObject * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","text", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTextDataObject_SetText",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTextDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextDataObject_SetText. Expected _wxTextDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxTextDataObject_SetText(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+static void *SwigwxPyTextDataObjectTowxTextDataObject(void *ptr) {
+    wxPyTextDataObject *src;
+    wxTextDataObject *dest;
+    src = (wxPyTextDataObject *) ptr;
+    dest = (wxTextDataObject *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyTextDataObjectTowxDataObjectSimple(void *ptr) {
+    wxPyTextDataObject *src;
+    wxDataObjectSimple *dest;
+    src = (wxPyTextDataObject *) ptr;
+    dest = (wxDataObjectSimple *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyTextDataObjectTowxDataObject(void *ptr) {
+    wxPyTextDataObject *src;
+    wxDataObject *dest;
+    src = (wxPyTextDataObject *) ptr;
+    dest = (wxDataObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxPyTextDataObject(_swigarg0) (new wxPyTextDataObject(_swigarg0))
+static PyObject *_wrap_new_wxPyTextDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextDataObject * _result;
+    wxString * _arg0 = (wxString *) &wxPyEmptyString;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "text", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxPyTextDataObject",_kwnames,&_obj0)) 
+        return NULL;
+    if (_obj0)
+{
+    _arg0 = wxString_in_helper(_obj0);
+    if (_arg0 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPyTextDataObject *)new_wxPyTextDataObject(*_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyTextDataObject_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj0)
+        delete _arg0;
+}
+    return _resultobj;
+}
+
+#define wxPyTextDataObject__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyTextDataObject__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextDataObject * _arg0;
+    PyObject * _arg1;
+    PyObject * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","self","_class", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyTextDataObject__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyTextDataObject__setCallbackInfo. Expected _wxPyTextDataObject_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+  _arg2 = _obj2;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxPyTextDataObject__setCallbackInfo(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxBitmapDataObjectTowxDataObjectSimple(void *ptr) {
+    wxBitmapDataObject *src;
+    wxDataObjectSimple *dest;
+    src = (wxBitmapDataObject *) ptr;
+    dest = (wxDataObjectSimple *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxBitmapDataObjectTowxDataObject(void *ptr) {
+    wxBitmapDataObject *src;
+    wxDataObject *dest;
+    src = (wxBitmapDataObject *) ptr;
+    dest = (wxDataObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxBitmapDataObject(_swigarg0) (new wxBitmapDataObject(_swigarg0))
+static PyObject *_wrap_new_wxBitmapDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxBitmapDataObject * _result;
+    wxBitmap * _arg0 = (wxBitmap *) &wxNullBitmap;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "bitmap", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxBitmapDataObject",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxBitmapDataObject. Expected _wxBitmap_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxBitmapDataObject *)new_wxBitmapDataObject(*_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmapDataObject_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxBitmapDataObject_GetBitmap(_swigobj)  (_swigobj->GetBitmap())
+static PyObject *_wrap_wxBitmapDataObject_GetBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxBitmap * _result;
+    wxBitmapDataObject * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxBitmapDataObject_GetBitmap",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmapDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapDataObject_GetBitmap. Expected _wxBitmapDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxBitmap (wxBitmapDataObject_GetBitmap(_arg0));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+    return _resultobj;
+}
+
+#define wxBitmapDataObject_SetBitmap(_swigobj,_swigarg0)  (_swigobj->SetBitmap(_swigarg0))
+static PyObject *_wrap_wxBitmapDataObject_SetBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxBitmapDataObject * _arg0;
+    wxBitmap * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","bitmap", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxBitmapDataObject_SetBitmap",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmapDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxBitmapDataObject_SetBitmap. Expected _wxBitmapDataObject_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxBitmapDataObject_SetBitmap. Expected _wxBitmap_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxBitmapDataObject_SetBitmap(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxPyBitmapDataObjectTowxBitmapDataObject(void *ptr) {
+    wxPyBitmapDataObject *src;
+    wxBitmapDataObject *dest;
+    src = (wxPyBitmapDataObject *) ptr;
+    dest = (wxBitmapDataObject *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyBitmapDataObjectTowxDataObjectSimple(void *ptr) {
+    wxPyBitmapDataObject *src;
+    wxDataObjectSimple *dest;
+    src = (wxPyBitmapDataObject *) ptr;
+    dest = (wxDataObjectSimple *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyBitmapDataObjectTowxDataObject(void *ptr) {
+    wxPyBitmapDataObject *src;
+    wxDataObject *dest;
+    src = (wxPyBitmapDataObject *) ptr;
+    dest = (wxDataObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxPyBitmapDataObject(_swigarg0) (new wxPyBitmapDataObject(_swigarg0))
+static PyObject *_wrap_new_wxPyBitmapDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyBitmapDataObject * _result;
+    wxBitmap * _arg0 = (wxBitmap *) &wxNullBitmap;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "bitmap", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxPyBitmapDataObject",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPyBitmapDataObject. Expected _wxBitmap_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPyBitmapDataObject *)new_wxPyBitmapDataObject(*_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyBitmapDataObject_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyBitmapDataObject__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyBitmapDataObject__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyBitmapDataObject * _arg0;
+    PyObject * _arg1;
+    PyObject * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","self","_class", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyBitmapDataObject__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyBitmapDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyBitmapDataObject__setCallbackInfo. Expected _wxPyBitmapDataObject_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+  _arg2 = _obj2;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxPyBitmapDataObject__setCallbackInfo(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxFileDataObjectTowxDataObjectSimple(void *ptr) {
+    wxFileDataObject *src;
+    wxDataObjectSimple *dest;
+    src = (wxFileDataObject *) ptr;
+    dest = (wxDataObjectSimple *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxFileDataObjectTowxDataObject(void *ptr) {
+    wxFileDataObject *src;
+    wxDataObject *dest;
+    src = (wxFileDataObject *) ptr;
+    dest = (wxDataObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxFileDataObject() (new wxFileDataObject())
+static PyObject *_wrap_new_wxFileDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileDataObject * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxFileDataObject",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxFileDataObject *)new_wxFileDataObject();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFileDataObject_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static PyObject * wxFileDataObject_GetFilenames(wxFileDataObject *self) {
+            const wxArrayString& strings = self->GetFilenames();
+            return wxArrayString2PyList_helper(strings);
+        }
+static PyObject *_wrap_wxFileDataObject_GetFilenames(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxFileDataObject * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileDataObject_GetFilenames",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileDataObject_GetFilenames. Expected _wxFileDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (PyObject *)wxFileDataObject_GetFilenames(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+static void *SwigwxCustomDataObjectTowxDataObjectSimple(void *ptr) {
+    wxCustomDataObject *src;
+    wxDataObjectSimple *dest;
+    src = (wxCustomDataObject *) ptr;
+    dest = (wxDataObjectSimple *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxCustomDataObjectTowxDataObject(void *ptr) {
+    wxCustomDataObject *src;
+    wxDataObject *dest;
+    src = (wxCustomDataObject *) ptr;
+    dest = (wxDataObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxCustomDataObject(_swigarg0) (new wxCustomDataObject(_swigarg0))
+static PyObject *_wrap_new_wxCustomDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxCustomDataObject * _result;
+    wxDataFormat * _arg0 = (wxDataFormat *) &wxPyFormatInvalid;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "format", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxCustomDataObject",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxCustomDataObject. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxCustomDataObject *)new_wxCustomDataObject(*_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxCustomDataObject_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static void  wxCustomDataObject_TakeData(wxCustomDataObject *self,PyObject * data) {
+            if (PyString_Check(data)) {
+                self->SetData(PyString_Size(data), PyString_AsString(data));
+            }
+        }
+static PyObject *_wrap_wxCustomDataObject_TakeData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxCustomDataObject * _arg0;
+    PyObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","data", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxCustomDataObject_TakeData",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCustomDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCustomDataObject_TakeData. Expected _wxCustomDataObject_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxCustomDataObject_TakeData(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static bool  wxCustomDataObject_SetData(wxCustomDataObject *self,PyObject * data) {
+            if (PyString_Check(data)) {
+                return self->SetData(PyString_Size(data), PyString_AsString(data));
+            }
+            return FALSE;
+        }
+static PyObject *_wrap_wxCustomDataObject_SetData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxCustomDataObject * _arg0;
+    PyObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","data", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxCustomDataObject_SetData",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCustomDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCustomDataObject_SetData. Expected _wxCustomDataObject_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxCustomDataObject_SetData(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxCustomDataObject_GetSize(_swigobj)  (_swigobj->GetSize())
+static PyObject *_wrap_wxCustomDataObject_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    size_t  _result;
+    wxCustomDataObject * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCustomDataObject_GetSize",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCustomDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCustomDataObject_GetSize. Expected _wxCustomDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (size_t )wxCustomDataObject_GetSize(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject * wxCustomDataObject_GetData(wxCustomDataObject *self) {
+            return PyString_FromStringAndSize((char*)self->GetData(), self->GetSize());
+        }
+static PyObject *_wrap_wxCustomDataObject_GetData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxCustomDataObject * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxCustomDataObject_GetData",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxCustomDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxCustomDataObject_GetData. Expected _wxCustomDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (PyObject *)wxCustomDataObject_GetData(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+static void *SwigwxURLDataObjectTowxDataObjectComposite(void *ptr) {
+    wxURLDataObject *src;
+    wxDataObjectComposite *dest;
+    src = (wxURLDataObject *) ptr;
+    dest = (wxDataObjectComposite *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxURLDataObjectTowxDataObject(void *ptr) {
+    wxURLDataObject *src;
+    wxDataObject *dest;
+    src = (wxURLDataObject *) ptr;
+    dest = (wxDataObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxURLDataObject() (new wxURLDataObject())
+static PyObject *_wrap_new_wxURLDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxURLDataObject * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxURLDataObject",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxURLDataObject *)new_wxURLDataObject();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxURLDataObject_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxURLDataObject_GetURL(_swigobj)  (_swigobj->GetURL())
+static PyObject *_wrap_wxURLDataObject_GetURL(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxURLDataObject * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxURLDataObject_GetURL",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxURLDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxURLDataObject_GetURL. Expected _wxURLDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxString (wxURLDataObject_GetURL(_arg0));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}{
+#if wxUSE_UNICODE
+    _resultobj = PyUnicode_FromUnicode(_result->c_str(), _result->Len());
+#else
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+#endif
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxURLDataObject_SetURL(_swigobj,_swigarg0)  (_swigobj->SetURL(_swigarg0))
+static PyObject *_wrap_wxURLDataObject_SetURL(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxURLDataObject * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","url", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxURLDataObject_SetURL",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxURLDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxURLDataObject_SetURL. Expected _wxURLDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = wxString_in_helper(_obj1);
+    if (_arg1 == NULL)
+        return NULL;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxURLDataObject_SetURL(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+static void *SwigwxMetafileDataObjectTowxDataObjectSimple(void *ptr) {
+    wxMetafileDataObject *src;
+    wxDataObjectSimple *dest;
+    src = (wxMetafileDataObject *) ptr;
+    dest = (wxDataObjectSimple *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxMetafileDataObjectTowxDataObject(void *ptr) {
+    wxMetafileDataObject *src;
+    wxDataObject *dest;
+    src = (wxMetafileDataObject *) ptr;
+    dest = (wxDataObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxMetafileDataObject() (new wxMetafileDataObject())
+static PyObject *_wrap_new_wxMetafileDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMetafileDataObject * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxMetafileDataObject",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxMetafileDataObject *)new_wxMetafileDataObject();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxMetafileDataObject_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxMetafileDataObject_SetMetafile(_swigobj,_swigarg0)  (_swigobj->SetMetafile(_swigarg0))
+static PyObject *_wrap_wxMetafileDataObject_SetMetafile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMetafileDataObject * _arg0;
+    wxMetafile * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","metafile", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMetafileDataObject_SetMetafile",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMetafileDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMetafileDataObject_SetMetafile. Expected _wxMetafileDataObject_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxMetafile_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxMetafileDataObject_SetMetafile. Expected _wxMetafile_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxMetafileDataObject_SetMetafile(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxMetafileDataObject_GetMetafile(_swigobj)  (_swigobj->GetMetafile())
+static PyObject *_wrap_wxMetafileDataObject_GetMetafile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMetafile * _result;
+    wxMetafileDataObject * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMetafileDataObject_GetMetafile",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMetafileDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMetafileDataObject_GetMetafile. Expected _wxMetafileDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = new wxMetafile (wxMetafileDataObject_GetMetafile(_arg0));
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxMetafile_p");
+    _resultobj = Py_BuildValue("s",_ptemp);
+    return _resultobj;
+}
+
+static void *SwigwxClipboardTowxObject(void *ptr) {
+    wxClipboard *src;
+    wxObject *dest;
+    src = (wxClipboard *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxClipboard() (new wxClipboard())
+static PyObject *_wrap_new_wxClipboard(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxClipboard * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxClipboard",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxClipboard *)new_wxClipboard();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxClipboard_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxClipboard_Open(_swigobj)  (_swigobj->Open())
+static PyObject *_wrap_wxClipboard_Open(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxClipboard * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxClipboard_Open",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxClipboard_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxClipboard_Open. Expected _wxClipboard_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxClipboard_Open(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxClipboard_Close(_swigobj)  (_swigobj->Close())
+static PyObject *_wrap_wxClipboard_Close(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxClipboard * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxClipboard_Close",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxClipboard_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxClipboard_Close. Expected _wxClipboard_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxClipboard_Close(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxClipboard_IsOpened(_swigobj)  (_swigobj->IsOpened())
+static PyObject *_wrap_wxClipboard_IsOpened(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxClipboard * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxClipboard_IsOpened",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxClipboard_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxClipboard_IsOpened. Expected _wxClipboard_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxClipboard_IsOpened(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxClipboard_AddData(_swigobj,_swigarg0)  (_swigobj->AddData(_swigarg0))
+static PyObject *_wrap_wxClipboard_AddData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxClipboard * _arg0;
+    wxDataObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","data", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxClipboard_AddData",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxClipboard_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxClipboard_AddData. Expected _wxClipboard_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxClipboard_AddData. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxClipboard_AddData(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxClipboard_SetData(_swigobj,_swigarg0)  (_swigobj->SetData(_swigarg0))
+static PyObject *_wrap_wxClipboard_SetData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxClipboard * _arg0;
+    wxDataObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","data", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxClipboard_SetData",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxClipboard_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxClipboard_SetData. Expected _wxClipboard_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxClipboard_SetData. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxClipboard_SetData(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxClipboard_IsSupported(_swigobj,_swigarg0)  (_swigobj->IsSupported(_swigarg0))
+static PyObject *_wrap_wxClipboard_IsSupported(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxClipboard * _arg0;
+    wxDataFormat * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","format", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxClipboard_IsSupported",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxClipboard_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxClipboard_IsSupported. Expected _wxClipboard_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataFormat_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxClipboard_IsSupported. Expected _wxDataFormat_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxClipboard_IsSupported(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxClipboard_GetData(_swigobj,_swigarg0)  (_swigobj->GetData(_swigarg0))
+static PyObject *_wrap_wxClipboard_GetData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxClipboard * _arg0;
+    wxDataObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","data", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxClipboard_GetData",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxClipboard_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxClipboard_GetData. Expected _wxClipboard_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxClipboard_GetData. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxClipboard_GetData(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxClipboard_Clear(_swigobj)  (_swigobj->Clear())
+static PyObject *_wrap_wxClipboard_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxClipboard * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxClipboard_Clear",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxClipboard_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxClipboard_Clear. Expected _wxClipboard_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxClipboard_Clear(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxClipboard_Flush(_swigobj)  (_swigobj->Flush())
+static PyObject *_wrap_wxClipboard_Flush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxClipboard * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxClipboard_Flush",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxClipboard_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxClipboard_Flush. Expected _wxClipboard_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxClipboard_Flush(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxClipboard_UsePrimarySelection(_swigobj,_swigarg0)  (_swigobj->UsePrimarySelection(_swigarg0))
+static PyObject *_wrap_wxClipboard_UsePrimarySelection(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxClipboard * _arg0;
+    int  _arg1 = (int ) FALSE;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","primary", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxClipboard_UsePrimarySelection",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxClipboard_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxClipboard_UsePrimarySelection. Expected _wxClipboard_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxClipboard_UsePrimarySelection(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define new_wxDropSource(_swigarg0,_swigarg1) (new wxPyDropSource(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxDropSource(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDropSource * _result;
+    wxWindow * _arg0 = (wxWindow *) NULL;
+    wxIcon * _arg1 = (wxIcon *) &wxNullIcon;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "win","go", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|OO:new_wxDropSource",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxDropSource. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxIcon_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxDropSource. Expected _wxIcon_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPyDropSource *)new_wxDropSource(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyDropSource_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxDropSource__setCallbackInfo(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxDropSource__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDropSource * _arg0;
+    PyObject * _arg1;
+    PyObject * _arg2;
+    int  _arg3;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","self","_class","incref", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOi:wxDropSource__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2,&_arg3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropSource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDropSource__setCallbackInfo. Expected _wxPyDropSource_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+  _arg2 = _obj2;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxDropSource__setCallbackInfo(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define delete_wxPyDropSource(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxDropSource(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDropSource * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxDropSource",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropSource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxDropSource. Expected _wxPyDropSource_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxPyDropSource(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxDropSource_SetData(_swigobj,_swigarg0)  (_swigobj->SetData(_swigarg0))
+static PyObject *_wrap_wxDropSource_SetData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDropSource * _arg0;
+    wxDataObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","data", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDropSource_SetData",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropSource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDropSource_SetData. Expected _wxPyDropSource_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxDropSource_SetData. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxDropSource_SetData(_arg0,*_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxDropSource_GetDataObject(_swigobj)  (_swigobj->GetDataObject())
+static PyObject *_wrap_wxDropSource_GetDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataObject * _result;
+    wxPyDropSource * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxDropSource_GetDataObject",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropSource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDropSource_GetDataObject. Expected _wxPyDropSource_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDataObject *)wxDropSource_GetDataObject(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDataObject_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxDropSource_SetCursor(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetCursor(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxDropSource_SetCursor(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDropSource * _arg0;
+    wxDragResult  _arg1;
+    wxCursor * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _argo2 = 0;
+    char *_kwnames[] = { "self","res","cursor", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxDropSource_SetCursor",_kwnames,&_argo0,&_arg1,&_argo2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropSource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDropSource_SetCursor. Expected _wxPyDropSource_p.");
+        return NULL;
+        }
+    }
+    if (_argo2) {
+        if (_argo2 == Py_None) { _arg2 = NULL; }
+        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxCursor_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxDropSource_SetCursor. Expected _wxCursor_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxDropSource_SetCursor(_arg0,_arg1,*_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxDropSource_DoDragDrop(_swigobj,_swigarg0)  (_swigobj->DoDragDrop(_swigarg0))
+static PyObject *_wrap_wxDropSource_DoDragDrop(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDragResult  _result;
+    wxPyDropSource * _arg0;
+    int  _arg1 = (int ) (wxDrag_CopyOnly);
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","flags", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxDropSource_DoDragDrop",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropSource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDropSource_DoDragDrop. Expected _wxPyDropSource_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDragResult )wxDropSource_DoDragDrop(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxDropSource_base_GiveFeedback(_swigobj,_swigarg0)  (_swigobj->base_GiveFeedback(_swigarg0))
+static PyObject *_wrap_wxDropSource_base_GiveFeedback(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyDropSource * _arg0;
+    wxDragResult  _arg1;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","effect", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxDropSource_base_GiveFeedback",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropSource_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDropSource_base_GiveFeedback. Expected _wxPyDropSource_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxDropSource_base_GiveFeedback(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static void *SwigwxPyDropTargetTowxDropTarget(void *ptr) {
+    wxPyDropTarget *src;
+    wxDropTarget *dest;
+    src = (wxPyDropTarget *) ptr;
+    dest = (wxDropTarget *) src;
+    return (void *) dest;
+}
+
+#define new_wxPyDropTarget(_swigarg0) (new wxPyDropTarget(_swigarg0))
+static PyObject *_wrap_new_wxPyDropTarget(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDropTarget * _result;
+    wxDataObject * _arg0 = (wxDataObject *) NULL;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "dataObject", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxPyDropTarget",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPyDropTarget. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPyDropTarget *)new_wxPyDropTarget(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyDropTarget_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyDropTarget__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyDropTarget__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDropTarget * _arg0;
+    PyObject * _arg1;
+    PyObject * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","self","_class", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyDropTarget__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyDropTarget__setCallbackInfo. Expected _wxPyDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+  _arg2 = _obj2;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxPyDropTarget__setCallbackInfo(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define delete_wxPyDropTarget(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxPyDropTarget(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDropTarget * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxPyDropTarget",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxPyDropTarget. Expected _wxPyDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    delete_wxPyDropTarget(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyDropTarget_GetDataObject(_swigobj)  (_swigobj->GetDataObject())
+static PyObject *_wrap_wxPyDropTarget_GetDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDataObject * _result;
+    wxPyDropTarget * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyDropTarget_GetDataObject",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyDropTarget_GetDataObject. Expected _wxPyDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDataObject *)wxPyDropTarget_GetDataObject(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxDataObject_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxPyDropTarget_SetDataObject(_swigobj,_swigarg0)  (_swigobj->SetDataObject(_swigarg0))
+static PyObject *_wrap_wxPyDropTarget_SetDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDropTarget * _arg0;
+    wxDataObject * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","dataObject", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyDropTarget_SetDataObject",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyDropTarget_SetDataObject. Expected _wxPyDropTarget_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDataObject_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyDropTarget_SetDataObject. Expected _wxDataObject_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxPyDropTarget_SetDataObject(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyDropTarget_base_OnEnter(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_OnEnter(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxPyDropTarget_base_OnEnter(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDragResult  _result;
+    wxPyDropTarget * _arg0;
+    wxCoord  _arg1;
+    wxCoord  _arg2;
+    wxDragResult  _arg3;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","def", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxPyDropTarget_base_OnEnter",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyDropTarget_base_OnEnter. Expected _wxPyDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDragResult )wxPyDropTarget_base_OnEnter(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyDropTarget_base_OnDragOver(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_OnDragOver(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxPyDropTarget_base_OnDragOver(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDragResult  _result;
+    wxPyDropTarget * _arg0;
+    wxCoord  _arg1;
+    wxCoord  _arg2;
+    wxDragResult  _arg3;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","def", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxPyDropTarget_base_OnDragOver",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyDropTarget_base_OnDragOver. Expected _wxPyDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDragResult )wxPyDropTarget_base_OnDragOver(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyDropTarget_base_OnLeave(_swigobj)  (_swigobj->base_OnLeave())
+static PyObject *_wrap_wxPyDropTarget_base_OnLeave(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyDropTarget * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyDropTarget_base_OnLeave",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyDropTarget_base_OnLeave. Expected _wxPyDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxPyDropTarget_base_OnLeave(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxPyDropTarget_base_OnDrop(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnDrop(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxPyDropTarget_base_OnDrop(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyDropTarget * _arg0;
+    wxCoord  _arg1;
+    wxCoord  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxPyDropTarget_base_OnDrop",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyDropTarget_base_OnDrop. Expected _wxPyDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxPyDropTarget_base_OnDrop(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxPyDropTarget_GetData(_swigobj)  (_swigobj->GetData())
+static PyObject *_wrap_wxPyDropTarget_GetData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyDropTarget * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyDropTarget_GetData",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyDropTarget_GetData. Expected _wxPyDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxPyDropTarget_GetData(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static void *SwigwxPyTextDropTargetTowxPyDropTarget(void *ptr) {
+    wxPyTextDropTarget *src;
+    wxPyDropTarget *dest;
+    src = (wxPyTextDropTarget *) ptr;
+    dest = (wxPyDropTarget *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyTextDropTargetTowxDropTarget(void *ptr) {
+    wxPyTextDropTarget *src;
+    wxDropTarget *dest;
+    src = (wxPyTextDropTarget *) ptr;
+    dest = (wxDropTarget *) src;
+    return (void *) dest;
+}
+
+#define new_wxTextDropTarget() (new wxPyTextDropTarget())
+static PyObject *_wrap_new_wxTextDropTarget(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextDropTarget * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxTextDropTarget",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPyTextDropTarget *)new_wxTextDropTarget();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyTextDropTarget_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxTextDropTarget__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxTextDropTarget__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextDropTarget * _arg0;
+    PyObject * _arg1;
+    PyObject * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","self","_class", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxTextDropTarget__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextDropTarget__setCallbackInfo. Expected _wxPyTextDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+  _arg2 = _obj2;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxTextDropTarget__setCallbackInfo(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxTextDropTarget_base_OnEnter(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_OnEnter(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxTextDropTarget_base_OnEnter(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDragResult  _result;
+    wxPyTextDropTarget * _arg0;
+    wxCoord  _arg1;
+    wxCoord  _arg2;
+    wxDragResult  _arg3;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","def", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxTextDropTarget_base_OnEnter",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextDropTarget_base_OnEnter. Expected _wxPyTextDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDragResult )wxTextDropTarget_base_OnEnter(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextDropTarget_base_OnDragOver(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_OnDragOver(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxTextDropTarget_base_OnDragOver(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDragResult  _result;
+    wxPyTextDropTarget * _arg0;
+    wxCoord  _arg1;
+    wxCoord  _arg2;
+    wxDragResult  _arg3;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","def", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxTextDropTarget_base_OnDragOver",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextDropTarget_base_OnDragOver. Expected _wxPyTextDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDragResult )wxTextDropTarget_base_OnDragOver(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextDropTarget_base_OnLeave(_swigobj)  (_swigobj->base_OnLeave())
+static PyObject *_wrap_wxTextDropTarget_base_OnLeave(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyTextDropTarget * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTextDropTarget_base_OnLeave",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextDropTarget_base_OnLeave. Expected _wxPyTextDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxTextDropTarget_base_OnLeave(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxTextDropTarget_base_OnDrop(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnDrop(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxTextDropTarget_base_OnDrop(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyTextDropTarget * _arg0;
+    wxCoord  _arg1;
+    wxCoord  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxTextDropTarget_base_OnDrop",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextDropTarget_base_OnDrop. Expected _wxPyTextDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxTextDropTarget_base_OnDrop(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextDropTarget_base_OnData(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_OnData(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxTextDropTarget_base_OnData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDragResult  _result;
+    wxPyTextDropTarget * _arg0;
+    wxCoord  _arg1;
+    wxCoord  _arg2;
+    wxDragResult  _arg3;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","def", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxTextDropTarget_base_OnData",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTextDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextDropTarget_base_OnData. Expected _wxPyTextDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDragResult )wxTextDropTarget_base_OnData(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static void *SwigwxPyFileDropTargetTowxPyDropTarget(void *ptr) {
+    wxPyFileDropTarget *src;
+    wxPyDropTarget *dest;
+    src = (wxPyFileDropTarget *) ptr;
+    dest = (wxPyDropTarget *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxPyFileDropTargetTowxDropTarget(void *ptr) {
+    wxPyFileDropTarget *src;
+    wxDropTarget *dest;
+    src = (wxPyFileDropTarget *) ptr;
+    dest = (wxDropTarget *) src;
+    return (void *) dest;
+}
+
+#define new_wxFileDropTarget() (new wxPyFileDropTarget())
+static PyObject *_wrap_new_wxFileDropTarget(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyFileDropTarget * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxFileDropTarget",_kwnames)) 
+        return NULL;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxPyFileDropTarget *)new_wxFileDropTarget();
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyFileDropTarget_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxFileDropTarget__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxFileDropTarget__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyFileDropTarget * _arg0;
+    PyObject * _arg1;
+    PyObject * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","self","_class", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxFileDropTarget__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyFileDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileDropTarget__setCallbackInfo. Expected _wxPyFileDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+  _arg1 = _obj1;
+}
+{
+  _arg2 = _obj2;
+}
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxFileDropTarget__setCallbackInfo(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxFileDropTarget_base_OnEnter(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_OnEnter(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxFileDropTarget_base_OnEnter(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDragResult  _result;
+    wxPyFileDropTarget * _arg0;
+    wxCoord  _arg1;
+    wxCoord  _arg2;
+    wxDragResult  _arg3;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","def", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxFileDropTarget_base_OnEnter",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyFileDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileDropTarget_base_OnEnter. Expected _wxPyFileDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDragResult )wxFileDropTarget_base_OnEnter(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxFileDropTarget_base_OnDragOver(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_OnDragOver(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxFileDropTarget_base_OnDragOver(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDragResult  _result;
+    wxPyFileDropTarget * _arg0;
+    wxCoord  _arg1;
+    wxCoord  _arg2;
+    wxDragResult  _arg3;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","def", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxFileDropTarget_base_OnDragOver",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyFileDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileDropTarget_base_OnDragOver. Expected _wxPyFileDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDragResult )wxFileDropTarget_base_OnDragOver(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxFileDropTarget_base_OnLeave(_swigobj)  (_swigobj->base_OnLeave())
+static PyObject *_wrap_wxFileDropTarget_base_OnLeave(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPyFileDropTarget * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileDropTarget_base_OnLeave",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyFileDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileDropTarget_base_OnLeave. Expected _wxPyFileDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxFileDropTarget_base_OnLeave(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxFileDropTarget_base_OnDrop(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_OnDrop(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxFileDropTarget_base_OnDrop(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxPyFileDropTarget * _arg0;
+    wxCoord  _arg1;
+    wxCoord  _arg2;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxFileDropTarget_base_OnDrop",_kwnames,&_argo0,&_arg1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyFileDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileDropTarget_base_OnDrop. Expected _wxPyFileDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxFileDropTarget_base_OnDrop(_arg0,_arg1,_arg2);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxFileDropTarget_base_OnData(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_OnData(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxFileDropTarget_base_OnData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxDragResult  _result;
+    wxPyFileDropTarget * _arg0;
+    wxCoord  _arg1;
+    wxCoord  _arg2;
+    wxDragResult  _arg3;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","x","y","def", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxFileDropTarget_base_OnData",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyFileDropTarget_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileDropTarget_base_OnData. Expected _wxPyFileDropTarget_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (wxDragResult )wxFileDropTarget_base_OnData(_arg0,_arg1,_arg2,_arg3);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
 static PyMethodDef clip_dndcMethods[] = {
+        { "wxFileDropTarget_base_OnData", (PyCFunction) _wrap_wxFileDropTarget_base_OnData, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileDropTarget_base_OnDrop", (PyCFunction) _wrap_wxFileDropTarget_base_OnDrop, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileDropTarget_base_OnLeave", (PyCFunction) _wrap_wxFileDropTarget_base_OnLeave, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileDropTarget_base_OnDragOver", (PyCFunction) _wrap_wxFileDropTarget_base_OnDragOver, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileDropTarget_base_OnEnter", (PyCFunction) _wrap_wxFileDropTarget_base_OnEnter, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileDropTarget__setCallbackInfo", (PyCFunction) _wrap_wxFileDropTarget__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxFileDropTarget", (PyCFunction) _wrap_new_wxFileDropTarget, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextDropTarget_base_OnData", (PyCFunction) _wrap_wxTextDropTarget_base_OnData, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextDropTarget_base_OnDrop", (PyCFunction) _wrap_wxTextDropTarget_base_OnDrop, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextDropTarget_base_OnLeave", (PyCFunction) _wrap_wxTextDropTarget_base_OnLeave, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextDropTarget_base_OnDragOver", (PyCFunction) _wrap_wxTextDropTarget_base_OnDragOver, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextDropTarget_base_OnEnter", (PyCFunction) _wrap_wxTextDropTarget_base_OnEnter, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextDropTarget__setCallbackInfo", (PyCFunction) _wrap_wxTextDropTarget__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxTextDropTarget", (PyCFunction) _wrap_new_wxTextDropTarget, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyDropTarget_GetData", (PyCFunction) _wrap_wxPyDropTarget_GetData, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyDropTarget_base_OnDrop", (PyCFunction) _wrap_wxPyDropTarget_base_OnDrop, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyDropTarget_base_OnLeave", (PyCFunction) _wrap_wxPyDropTarget_base_OnLeave, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyDropTarget_base_OnDragOver", (PyCFunction) _wrap_wxPyDropTarget_base_OnDragOver, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyDropTarget_base_OnEnter", (PyCFunction) _wrap_wxPyDropTarget_base_OnEnter, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyDropTarget_SetDataObject", (PyCFunction) _wrap_wxPyDropTarget_SetDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyDropTarget_GetDataObject", (PyCFunction) _wrap_wxPyDropTarget_GetDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxPyDropTarget", (PyCFunction) _wrap_delete_wxPyDropTarget, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyDropTarget__setCallbackInfo", (PyCFunction) _wrap_wxPyDropTarget__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPyDropTarget", (PyCFunction) _wrap_new_wxPyDropTarget, METH_VARARGS | METH_KEYWORDS },
+        { "wxDropSource_base_GiveFeedback", (PyCFunction) _wrap_wxDropSource_base_GiveFeedback, METH_VARARGS | METH_KEYWORDS },
+        { "wxDropSource_DoDragDrop", (PyCFunction) _wrap_wxDropSource_DoDragDrop, METH_VARARGS | METH_KEYWORDS },
+        { "wxDropSource_SetCursor", (PyCFunction) _wrap_wxDropSource_SetCursor, METH_VARARGS | METH_KEYWORDS },
+        { "wxDropSource_GetDataObject", (PyCFunction) _wrap_wxDropSource_GetDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxDropSource_SetData", (PyCFunction) _wrap_wxDropSource_SetData, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxDropSource", (PyCFunction) _wrap_delete_wxDropSource, METH_VARARGS | METH_KEYWORDS },
+        { "wxDropSource__setCallbackInfo", (PyCFunction) _wrap_wxDropSource__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxDropSource", (PyCFunction) _wrap_new_wxDropSource, METH_VARARGS | METH_KEYWORDS },
+        { "wxClipboard_UsePrimarySelection", (PyCFunction) _wrap_wxClipboard_UsePrimarySelection, METH_VARARGS | METH_KEYWORDS },
+        { "wxClipboard_Flush", (PyCFunction) _wrap_wxClipboard_Flush, METH_VARARGS | METH_KEYWORDS },
+        { "wxClipboard_Clear", (PyCFunction) _wrap_wxClipboard_Clear, METH_VARARGS | METH_KEYWORDS },
+        { "wxClipboard_GetData", (PyCFunction) _wrap_wxClipboard_GetData, METH_VARARGS | METH_KEYWORDS },
+        { "wxClipboard_IsSupported", (PyCFunction) _wrap_wxClipboard_IsSupported, METH_VARARGS | METH_KEYWORDS },
+        { "wxClipboard_SetData", (PyCFunction) _wrap_wxClipboard_SetData, METH_VARARGS | METH_KEYWORDS },
+        { "wxClipboard_AddData", (PyCFunction) _wrap_wxClipboard_AddData, METH_VARARGS | METH_KEYWORDS },
+        { "wxClipboard_IsOpened", (PyCFunction) _wrap_wxClipboard_IsOpened, METH_VARARGS | METH_KEYWORDS },
+        { "wxClipboard_Close", (PyCFunction) _wrap_wxClipboard_Close, METH_VARARGS | METH_KEYWORDS },
+        { "wxClipboard_Open", (PyCFunction) _wrap_wxClipboard_Open, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxClipboard", (PyCFunction) _wrap_new_wxClipboard, METH_VARARGS | METH_KEYWORDS },
+        { "wxMetafileDataObject_GetMetafile", (PyCFunction) _wrap_wxMetafileDataObject_GetMetafile, METH_VARARGS | METH_KEYWORDS },
+        { "wxMetafileDataObject_SetMetafile", (PyCFunction) _wrap_wxMetafileDataObject_SetMetafile, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxMetafileDataObject", (PyCFunction) _wrap_new_wxMetafileDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxURLDataObject_SetURL", (PyCFunction) _wrap_wxURLDataObject_SetURL, METH_VARARGS | METH_KEYWORDS },
+        { "wxURLDataObject_GetURL", (PyCFunction) _wrap_wxURLDataObject_GetURL, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxURLDataObject", (PyCFunction) _wrap_new_wxURLDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxCustomDataObject_GetData", (PyCFunction) _wrap_wxCustomDataObject_GetData, METH_VARARGS | METH_KEYWORDS },
+        { "wxCustomDataObject_GetSize", (PyCFunction) _wrap_wxCustomDataObject_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxCustomDataObject_SetData", (PyCFunction) _wrap_wxCustomDataObject_SetData, METH_VARARGS | METH_KEYWORDS },
+        { "wxCustomDataObject_TakeData", (PyCFunction) _wrap_wxCustomDataObject_TakeData, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxCustomDataObject", (PyCFunction) _wrap_new_wxCustomDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileDataObject_GetFilenames", (PyCFunction) _wrap_wxFileDataObject_GetFilenames, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxFileDataObject", (PyCFunction) _wrap_new_wxFileDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyBitmapDataObject__setCallbackInfo", (PyCFunction) _wrap_wxPyBitmapDataObject__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPyBitmapDataObject", (PyCFunction) _wrap_new_wxPyBitmapDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxBitmapDataObject_SetBitmap", (PyCFunction) _wrap_wxBitmapDataObject_SetBitmap, METH_VARARGS | METH_KEYWORDS },
+        { "wxBitmapDataObject_GetBitmap", (PyCFunction) _wrap_wxBitmapDataObject_GetBitmap, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxBitmapDataObject", (PyCFunction) _wrap_new_wxBitmapDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyTextDataObject__setCallbackInfo", (PyCFunction) _wrap_wxPyTextDataObject__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPyTextDataObject", (PyCFunction) _wrap_new_wxPyTextDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextDataObject_SetText", (PyCFunction) _wrap_wxTextDataObject_SetText, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextDataObject_GetText", (PyCFunction) _wrap_wxTextDataObject_GetText, METH_VARARGS | METH_KEYWORDS },
+        { "wxTextDataObject_GetTextLength", (PyCFunction) _wrap_wxTextDataObject_GetTextLength, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxTextDataObject", (PyCFunction) _wrap_new_wxTextDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataObjectComposite_Add", (PyCFunction) _wrap_wxDataObjectComposite_Add, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxDataObjectComposite", (PyCFunction) _wrap_new_wxDataObjectComposite, METH_VARARGS | METH_KEYWORDS },
+        { "wxPyDataObjectSimple__setCallbackInfo", (PyCFunction) _wrap_wxPyDataObjectSimple__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxPyDataObjectSimple", (PyCFunction) _wrap_new_wxPyDataObjectSimple, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataObjectSimple_SetFormat", (PyCFunction) _wrap_wxDataObjectSimple_SetFormat, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataObjectSimple_GetFormat", (PyCFunction) _wrap_wxDataObjectSimple_GetFormat, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxDataObjectSimple", (PyCFunction) _wrap_new_wxDataObjectSimple, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataObject_IsSupportedFormat", (PyCFunction) _wrap_wxDataObject_IsSupportedFormat, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataObject_SetData", (PyCFunction) _wrap_wxDataObject_SetData, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataObject_GetDataHere", (PyCFunction) _wrap_wxDataObject_GetDataHere, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataObject_GetDataSize", (PyCFunction) _wrap_wxDataObject_GetDataSize, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataObject_GetAllFormats", (PyCFunction) _wrap_wxDataObject_GetAllFormats, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataObject_GetFormatCount", (PyCFunction) _wrap_wxDataObject_GetFormatCount, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataObject_GetPreferredFormat", (PyCFunction) _wrap_wxDataObject_GetPreferredFormat, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxDataObject", (PyCFunction) _wrap_delete_wxDataObject, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataFormat_SetId", (PyCFunction) _wrap_wxDataFormat_SetId, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataFormat_GetId", (PyCFunction) _wrap_wxDataFormat_GetId, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataFormat_GetType", (PyCFunction) _wrap_wxDataFormat_GetType, METH_VARARGS | METH_KEYWORDS },
+        { "wxDataFormat_SetType", (PyCFunction) _wrap_wxDataFormat_SetType, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxDataFormat", (PyCFunction) _wrap_delete_wxDataFormat, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxDataFormat", (PyCFunction) _wrap_new_wxDataFormat, METH_VARARGS | METH_KEYWORDS },
+        { "wxIsDragResultOk", (PyCFunction) _wrap_wxIsDragResultOk, METH_VARARGS | METH_KEYWORDS },
+        { "wxCustomDataFormat", (PyCFunction) _wrap_wxCustomDataFormat, METH_VARARGS | METH_KEYWORDS },
         { NULL, NULL }
 };
 #ifdef __cplusplus
@@ -68,17 +3638,127 @@ static PyMethodDef clip_dndcMethods[] = {
  */
 static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_signed_long","_long",0},
+    { "_wxBitmapDataObject","_wxPyBitmapDataObject",SwigwxPyBitmapDataObjectTowxBitmapDataObject},
+    { "_wxPrintQuality","_wxCoord",0},
+    { "_wxPrintQuality","_int",0},
+    { "_wxPrintQuality","_signed_int",0},
+    { "_wxPrintQuality","_unsigned_int",0},
+    { "_wxPrintQuality","_wxWindowID",0},
+    { "_wxPrintQuality","_uint",0},
+    { "_wxPrintQuality","_EBool",0},
+    { "_wxPrintQuality","_size_t",0},
+    { "_wxPrintQuality","_time_t",0},
+    { "_byte","_unsigned_char",0},
+    { "_wxDataObject","_wxMetafileDataObject",SwigwxMetafileDataObjectTowxDataObject},
+    { "_wxDataObject","_wxURLDataObject",SwigwxURLDataObjectTowxDataObject},
+    { "_wxDataObject","_wxCustomDataObject",SwigwxCustomDataObjectTowxDataObject},
+    { "_wxDataObject","_wxFileDataObject",SwigwxFileDataObjectTowxDataObject},
+    { "_wxDataObject","_wxPyBitmapDataObject",SwigwxPyBitmapDataObjectTowxDataObject},
+    { "_wxDataObject","_wxBitmapDataObject",SwigwxBitmapDataObjectTowxDataObject},
+    { "_wxDataObject","_wxPyTextDataObject",SwigwxPyTextDataObjectTowxDataObject},
+    { "_wxDataObject","_wxTextDataObject",SwigwxTextDataObjectTowxDataObject},
+    { "_wxDataObject","_wxDataObjectComposite",SwigwxDataObjectCompositeTowxDataObject},
+    { "_wxDataObject","_wxPyDataObjectSimple",SwigwxPyDataObjectSimpleTowxDataObject},
+    { "_wxDataObject","_wxDataObjectSimple",SwigwxDataObjectSimpleTowxDataObject},
     { "_long","_unsigned_long",0},
     { "_long","_signed_long",0},
+    { "_wxDataObjectSimple","_wxMetafileDataObject",SwigwxMetafileDataObjectTowxDataObjectSimple},
+    { "_wxDataObjectSimple","_wxCustomDataObject",SwigwxCustomDataObjectTowxDataObjectSimple},
+    { "_wxDataObjectSimple","_wxFileDataObject",SwigwxFileDataObjectTowxDataObjectSimple},
+    { "_wxDataObjectSimple","_wxPyBitmapDataObject",SwigwxPyBitmapDataObjectTowxDataObjectSimple},
+    { "_wxDataObjectSimple","_wxBitmapDataObject",SwigwxBitmapDataObjectTowxDataObjectSimple},
+    { "_wxDataObjectSimple","_wxPyTextDataObject",SwigwxPyTextDataObjectTowxDataObjectSimple},
+    { "_wxDataObjectSimple","_wxTextDataObject",SwigwxTextDataObjectTowxDataObjectSimple},
+    { "_wxDataObjectSimple","_wxPyDataObjectSimple",SwigwxPyDataObjectSimpleTowxDataObjectSimple},
+    { "_size_t","_wxCoord",0},
+    { "_size_t","_wxPrintQuality",0},
+    { "_size_t","_time_t",0},
+    { "_size_t","_unsigned_int",0},
+    { "_size_t","_int",0},
+    { "_size_t","_wxWindowID",0},
+    { "_size_t","_uint",0},
+    { "_wxTextDataObject","_wxPyTextDataObject",SwigwxPyTextDataObjectTowxTextDataObject},
+    { "_uint","_wxCoord",0},
+    { "_uint","_wxPrintQuality",0},
+    { "_uint","_time_t",0},
+    { "_uint","_size_t",0},
+    { "_uint","_unsigned_int",0},
+    { "_uint","_int",0},
+    { "_uint","_wxWindowID",0},
+    { "_wxChar","_char",0},
+    { "_char","_wxChar",0},
+    { "_struct_wxNativeFontInfo","_wxNativeFontInfo",0},
+    { "_wxDropTarget","_wxPyFileDropTarget",SwigwxPyFileDropTargetTowxDropTarget},
+    { "_wxDropTarget","_wxPyTextDropTarget",SwigwxPyTextDropTargetTowxDropTarget},
+    { "_wxDropTarget","_wxPyDropTarget",SwigwxPyDropTargetTowxDropTarget},
+    { "_EBool","_wxCoord",0},
+    { "_EBool","_wxPrintQuality",0},
+    { "_EBool","_signed_int",0},
+    { "_EBool","_int",0},
+    { "_EBool","_wxWindowID",0},
     { "_unsigned_long","_long",0},
+    { "_wxNativeFontInfo","_struct_wxNativeFontInfo",0},
+    { "_signed_int","_wxCoord",0},
+    { "_signed_int","_wxPrintQuality",0},
+    { "_signed_int","_EBool",0},
+    { "_signed_int","_wxWindowID",0},
     { "_signed_int","_int",0},
+    { "_WXTYPE","_short",0},
+    { "_WXTYPE","_signed_short",0},
+    { "_WXTYPE","_unsigned_short",0},
+    { "_unsigned_short","_WXTYPE",0},
     { "_unsigned_short","_short",0},
+    { "_wxObject","_wxClipboard",SwigwxClipboardTowxObject},
+    { "_signed_short","_WXTYPE",0},
     { "_signed_short","_short",0},
+    { "_unsigned_char","_byte",0},
+    { "_unsigned_int","_wxCoord",0},
+    { "_unsigned_int","_wxPrintQuality",0},
+    { "_unsigned_int","_time_t",0},
+    { "_unsigned_int","_size_t",0},
+    { "_unsigned_int","_uint",0},
+    { "_unsigned_int","_wxWindowID",0},
     { "_unsigned_int","_int",0},
+    { "_short","_WXTYPE",0},
     { "_short","_unsigned_short",0},
     { "_short","_signed_short",0},
+    { "_wxWindowID","_wxCoord",0},
+    { "_wxWindowID","_wxPrintQuality",0},
+    { "_wxWindowID","_time_t",0},
+    { "_wxWindowID","_size_t",0},
+    { "_wxWindowID","_EBool",0},
+    { "_wxWindowID","_uint",0},
+    { "_wxWindowID","_int",0},
+    { "_wxWindowID","_signed_int",0},
+    { "_wxWindowID","_unsigned_int",0},
+    { "_int","_wxCoord",0},
+    { "_int","_wxPrintQuality",0},
+    { "_int","_time_t",0},
+    { "_int","_size_t",0},
+    { "_int","_EBool",0},
+    { "_int","_uint",0},
+    { "_int","_wxWindowID",0},
     { "_int","_unsigned_int",0},
     { "_int","_signed_int",0},
+    { "_time_t","_wxCoord",0},
+    { "_time_t","_wxPrintQuality",0},
+    { "_time_t","_unsigned_int",0},
+    { "_time_t","_int",0},
+    { "_time_t","_wxWindowID",0},
+    { "_time_t","_uint",0},
+    { "_time_t","_size_t",0},
+    { "_wxCoord","_int",0},
+    { "_wxCoord","_signed_int",0},
+    { "_wxCoord","_unsigned_int",0},
+    { "_wxCoord","_wxWindowID",0},
+    { "_wxCoord","_uint",0},
+    { "_wxCoord","_EBool",0},
+    { "_wxCoord","_size_t",0},
+    { "_wxCoord","_time_t",0},
+    { "_wxCoord","_wxPrintQuality",0},
+    { "_wxDataObjectComposite","_wxURLDataObject",SwigwxURLDataObjectTowxDataObjectComposite},
+    { "_wxPyDropTarget","_wxPyFileDropTarget",SwigwxPyFileDropTargetTowxPyDropTarget},
+    { "_wxPyDropTarget","_wxPyTextDropTarget",SwigwxPyTextDropTargetTowxPyDropTarget},
 {0,0,0}};
 
 static PyObject *SWIG_globals;
@@ -90,6 +3770,47 @@ SWIGEXPORT(void) initclip_dndc() {
         SWIG_globals = SWIG_newvarlink();
         m = Py_InitModule("clip_dndc", clip_dndcMethods);
         d = PyModule_GetDict(m);
+        PyDict_SetItemString(d,"wxDF_INVALID", PyInt_FromLong((long) wxDF_INVALID));
+        PyDict_SetItemString(d,"wxDF_TEXT", PyInt_FromLong((long) wxDF_TEXT));
+        PyDict_SetItemString(d,"wxDF_BITMAP", PyInt_FromLong((long) wxDF_BITMAP));
+        PyDict_SetItemString(d,"wxDF_METAFILE", PyInt_FromLong((long) wxDF_METAFILE));
+        PyDict_SetItemString(d,"wxDF_SYLK", PyInt_FromLong((long) wxDF_SYLK));
+        PyDict_SetItemString(d,"wxDF_DIF", PyInt_FromLong((long) wxDF_DIF));
+        PyDict_SetItemString(d,"wxDF_TIFF", PyInt_FromLong((long) wxDF_TIFF));
+        PyDict_SetItemString(d,"wxDF_OEMTEXT", PyInt_FromLong((long) wxDF_OEMTEXT));
+        PyDict_SetItemString(d,"wxDF_DIB", PyInt_FromLong((long) wxDF_DIB));
+        PyDict_SetItemString(d,"wxDF_PALETTE", PyInt_FromLong((long) wxDF_PALETTE));
+        PyDict_SetItemString(d,"wxDF_PENDATA", PyInt_FromLong((long) wxDF_PENDATA));
+        PyDict_SetItemString(d,"wxDF_RIFF", PyInt_FromLong((long) wxDF_RIFF));
+        PyDict_SetItemString(d,"wxDF_WAVE", PyInt_FromLong((long) wxDF_WAVE));
+        PyDict_SetItemString(d,"wxDF_UNICODETEXT", PyInt_FromLong((long) wxDF_UNICODETEXT));
+        PyDict_SetItemString(d,"wxDF_ENHMETAFILE", PyInt_FromLong((long) wxDF_ENHMETAFILE));
+        PyDict_SetItemString(d,"wxDF_FILENAME", PyInt_FromLong((long) wxDF_FILENAME));
+        PyDict_SetItemString(d,"wxDF_LOCALE", PyInt_FromLong((long) wxDF_LOCALE));
+        PyDict_SetItemString(d,"wxDF_PRIVATE", PyInt_FromLong((long) wxDF_PRIVATE));
+        PyDict_SetItemString(d,"wxDF_HTML", PyInt_FromLong((long) wxDF_HTML));
+        PyDict_SetItemString(d,"wxDF_MAX", PyInt_FromLong((long) wxDF_MAX));
+        PyDict_SetItemString(d,"cvar", SWIG_globals);
+        SWIG_addvarlink(SWIG_globals,"wxFormatInvalid",_wrap_wxPyFormatInvalid_get, _wrap_wxPyFormatInvalid_set);
+        SWIG_addvarlink(SWIG_globals,"wxTheClipboard",_wrap_wxPyTheClipboard_get, _wrap_wxPyTheClipboard_set);
+        PyDict_SetItemString(d,"wxDrag_CopyOnly", PyInt_FromLong((long) wxDrag_CopyOnly));
+        PyDict_SetItemString(d,"wxDrag_AllowMove", PyInt_FromLong((long) wxDrag_AllowMove));
+        PyDict_SetItemString(d,"wxDrag_DefaultMove", PyInt_FromLong((long) wxDrag_DefaultMove));
+        PyDict_SetItemString(d,"wxDragError", PyInt_FromLong((long) wxDragError));
+        PyDict_SetItemString(d,"wxDragNone", PyInt_FromLong((long) wxDragNone));
+        PyDict_SetItemString(d,"wxDragCopy", PyInt_FromLong((long) wxDragCopy));
+        PyDict_SetItemString(d,"wxDragMove", PyInt_FromLong((long) wxDragMove));
+        PyDict_SetItemString(d,"wxDragLink", PyInt_FromLong((long) wxDragLink));
+        PyDict_SetItemString(d,"wxDragCancel", PyInt_FromLong((long) wxDragCancel));
+
+
+    wxPyTheClipboard = wxTheClipboard;
+    wxPyPtrTypeMap_Add("wxDropSource", "wxPyDropSource");
+    wxPyPtrTypeMap_Add("wxTextDropTarget", "wxPyTextDropTarget");
+    wxPyPtrTypeMap_Add("wxFileDropTarget", "wxPyFileDropTarget");
+        PyDict_SetItemString(d,"wxDataObject_Get", PyInt_FromLong((long) wxDataObject::Get));
+        PyDict_SetItemString(d,"wxDataObject_Set", PyInt_FromLong((long) wxDataObject::Set));
+        PyDict_SetItemString(d,"wxDataObject_Both", PyInt_FromLong((long) wxDataObject::Both));
 {
    int i;
    for (i = 0; _swig_mapping[i].n1; i++)
index 9f4031dcc2f464f1cc63c5100e5042a75a1446c0..90d523ed2613add5b426a65e818cb44e999248d3 100644 (file)
 # This file was created automatically by SWIG.
 import clip_dndc
 
+from misc import *
+
+from gdi import *
+
+from fonts import *
+import wx
+class wxDataFormatPtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,clip_dndc=clip_dndc):
+        if self.thisown == 1 :
+            clip_dndc.delete_wxDataFormat(self)
+    def SetType(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataFormat_SetType,(self,) + _args, _kwargs)
+        return val
+    def GetType(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataFormat_GetType,(self,) + _args, _kwargs)
+        return val
+    def GetId(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataFormat_GetId,(self,) + _args, _kwargs)
+        return val
+    def SetId(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataFormat_SetId,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxDataFormat instance at %s>" % (self.this,)
+class wxDataFormat(wxDataFormatPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxDataFormat,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxDataObjectPtr :
+    Get = clip_dndc.wxDataObject_Get
+    Set = clip_dndc.wxDataObject_Set
+    Both = clip_dndc.wxDataObject_Both
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,clip_dndc=clip_dndc):
+        if self.thisown == 1 :
+            clip_dndc.delete_wxDataObject(self)
+    def GetPreferredFormat(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataObject_GetPreferredFormat,(self,) + _args, _kwargs)
+        if val: val = wxDataFormatPtr(val) ; val.thisown = 1
+        return val
+    def GetFormatCount(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataObject_GetFormatCount,(self,) + _args, _kwargs)
+        return val
+    def GetAllFormats(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataObject_GetAllFormats,(self,) + _args, _kwargs)
+        return val
+    def GetDataSize(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataObject_GetDataSize,(self,) + _args, _kwargs)
+        return val
+    def GetDataHere(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataObject_GetDataHere,(self,) + _args, _kwargs)
+        return val
+    def SetData(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataObject_SetData,(self,) + _args, _kwargs)
+        return val
+    def IsSupportedFormat(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataObject_IsSupportedFormat,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxDataObject instance at %s>" % (self.this,)
+class wxDataObject(wxDataObjectPtr):
+    def __init__(self,this):
+        self.this = this
+
+
+
+
+class wxDataObjectSimplePtr(wxDataObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def GetFormat(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataObjectSimple_GetFormat,(self,) + _args, _kwargs)
+        if val: val = wxDataFormatPtr(val) 
+        return val
+    def SetFormat(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataObjectSimple_SetFormat,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxDataObjectSimple instance at %s>" % (self.this,)
+class wxDataObjectSimple(wxDataObjectSimplePtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxDataObjectSimple,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxPyDataObjectSimplePtr(wxDataObjectSimplePtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxPyDataObjectSimple__setCallbackInfo,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxPyDataObjectSimple instance at %s>" % (self.this,)
+class wxPyDataObjectSimple(wxPyDataObjectSimplePtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxPyDataObjectSimple,_args,_kwargs)
+        self.thisown = 1
+        self._setCallbackInfo(self, wxPyDataObjectSimple)
+
+
+
+
+class wxDataObjectCompositePtr(wxDataObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def Add(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDataObjectComposite_Add,(self,) + _args, _kwargs)
+        _args[0].thisown = 0
+        return val
+    def __repr__(self):
+        return "<C wxDataObjectComposite instance at %s>" % (self.this,)
+class wxDataObjectComposite(wxDataObjectCompositePtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxDataObjectComposite,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxTextDataObjectPtr(wxDataObjectSimplePtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def GetTextLength(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxTextDataObject_GetTextLength,(self,) + _args, _kwargs)
+        return val
+    def GetText(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxTextDataObject_GetText,(self,) + _args, _kwargs)
+        return val
+    def SetText(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxTextDataObject_SetText,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxTextDataObject instance at %s>" % (self.this,)
+class wxTextDataObject(wxTextDataObjectPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxTextDataObject,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxPyTextDataObjectPtr(wxTextDataObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxPyTextDataObject__setCallbackInfo,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxPyTextDataObject instance at %s>" % (self.this,)
+class wxPyTextDataObject(wxPyTextDataObjectPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxPyTextDataObject,_args,_kwargs)
+        self.thisown = 1
+        self._setCallbackInfo(self, wxPyTextDataObject)
+
+
+
+
+class wxBitmapDataObjectPtr(wxDataObjectSimplePtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def GetBitmap(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxBitmapDataObject_GetBitmap,(self,) + _args, _kwargs)
+        if val: val = wxBitmapPtr(val) ; val.thisown = 1
+        return val
+    def SetBitmap(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxBitmapDataObject_SetBitmap,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxBitmapDataObject instance at %s>" % (self.this,)
+class wxBitmapDataObject(wxBitmapDataObjectPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxBitmapDataObject,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxPyBitmapDataObjectPtr(wxBitmapDataObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxPyBitmapDataObject__setCallbackInfo,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxPyBitmapDataObject instance at %s>" % (self.this,)
+class wxPyBitmapDataObject(wxPyBitmapDataObjectPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxPyBitmapDataObject,_args,_kwargs)
+        self.thisown = 1
+        self._setCallbackInfo(self, wxPyBitmapDataObject)
+
+
+
+
+class wxFileDataObjectPtr(wxDataObjectSimplePtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def GetFilenames(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxFileDataObject_GetFilenames,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxFileDataObject instance at %s>" % (self.this,)
+class wxFileDataObject(wxFileDataObjectPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxFileDataObject,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxCustomDataObjectPtr(wxDataObjectSimplePtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def TakeData(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxCustomDataObject_TakeData,(self,) + _args, _kwargs)
+        return val
+    def SetData(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxCustomDataObject_SetData,(self,) + _args, _kwargs)
+        return val
+    def GetSize(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxCustomDataObject_GetSize,(self,) + _args, _kwargs)
+        return val
+    def GetData(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxCustomDataObject_GetData,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxCustomDataObject instance at %s>" % (self.this,)
+class wxCustomDataObject(wxCustomDataObjectPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxCustomDataObject,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxURLDataObjectPtr(wxDataObjectCompositePtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def GetURL(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxURLDataObject_GetURL,(self,) + _args, _kwargs)
+        return val
+    def SetURL(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxURLDataObject_SetURL,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxURLDataObject instance at %s>" % (self.this,)
+class wxURLDataObject(wxURLDataObjectPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxURLDataObject,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxMetafileDataObjectPtr(wxDataObjectSimplePtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def SetMetafile(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxMetafileDataObject_SetMetafile,(self,) + _args, _kwargs)
+        return val
+    def GetMetafile(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxMetafileDataObject_GetMetafile,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxMetafileDataObject instance at %s>" % (self.this,)
+class wxMetafileDataObject(wxMetafileDataObjectPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxMetafileDataObject,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxClipboardPtr(wxObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def Open(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxClipboard_Open,(self,) + _args, _kwargs)
+        return val
+    def Close(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxClipboard_Close,(self,) + _args, _kwargs)
+        return val
+    def IsOpened(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxClipboard_IsOpened,(self,) + _args, _kwargs)
+        return val
+    def AddData(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxClipboard_AddData,(self,) + _args, _kwargs)
+        _args[0].thisown = 0
+        return val
+    def SetData(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxClipboard_SetData,(self,) + _args, _kwargs)
+        _args[0].thisown = 0
+        return val
+    def IsSupported(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxClipboard_IsSupported,(self,) + _args, _kwargs)
+        return val
+    def GetData(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxClipboard_GetData,(self,) + _args, _kwargs)
+        return val
+    def Clear(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxClipboard_Clear,(self,) + _args, _kwargs)
+        return val
+    def Flush(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxClipboard_Flush,(self,) + _args, _kwargs)
+        return val
+    def UsePrimarySelection(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxClipboard_UsePrimarySelection,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxClipboard instance at %s>" % (self.this,)
+class wxClipboard(wxClipboardPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxClipboard,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxDropSourcePtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDropSource__setCallbackInfo,(self,) + _args, _kwargs)
+        return val
+    def __del__(self,clip_dndc=clip_dndc):
+        if self.thisown == 1 :
+            clip_dndc.delete_wxDropSource(self)
+    def SetData(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDropSource_SetData,(self,) + _args, _kwargs)
+        return val
+    def GetDataObject(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDropSource_GetDataObject,(self,) + _args, _kwargs)
+        if val: val = wxDataObjectPtr(val) 
+        return val
+    def SetCursor(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDropSource_SetCursor,(self,) + _args, _kwargs)
+        return val
+    def DoDragDrop(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDropSource_DoDragDrop,(self,) + _args, _kwargs)
+        return val
+    def base_GiveFeedback(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxDropSource_base_GiveFeedback,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxDropSource instance at %s>" % (self.this,)
+class wxDropSource(wxDropSourcePtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxDropSource,_args,_kwargs)
+        self.thisown = 1
+        self._setCallbackInfo(self, wxDropSource, 0)
+
+
+
+
+class wxDropTargetPtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __repr__(self):
+        return "<C wxDropTarget instance at %s>" % (self.this,)
+class wxDropTarget(wxDropTargetPtr):
+    def __init__(self,this):
+        self.this = this
+
+
+
+
+class wxPyDropTargetPtr(wxDropTargetPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxPyDropTarget__setCallbackInfo,(self,) + _args, _kwargs)
+        return val
+    def __del__(self,clip_dndc=clip_dndc):
+        if self.thisown == 1 :
+            clip_dndc.delete_wxPyDropTarget(self)
+    def GetDataObject(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxPyDropTarget_GetDataObject,(self,) + _args, _kwargs)
+        if val: val = wxDataObjectPtr(val) 
+        return val
+    def SetDataObject(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxPyDropTarget_SetDataObject,(self,) + _args, _kwargs)
+        if _args:_args[0].thisown = 0
+        return val
+    def base_OnEnter(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxPyDropTarget_base_OnEnter,(self,) + _args, _kwargs)
+        return val
+    def base_OnDragOver(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxPyDropTarget_base_OnDragOver,(self,) + _args, _kwargs)
+        return val
+    def base_OnLeave(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxPyDropTarget_base_OnLeave,(self,) + _args, _kwargs)
+        return val
+    def base_OnDrop(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxPyDropTarget_base_OnDrop,(self,) + _args, _kwargs)
+        return val
+    def GetData(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxPyDropTarget_GetData,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxPyDropTarget instance at %s>" % (self.this,)
+class wxPyDropTarget(wxPyDropTargetPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxPyDropTarget,_args,_kwargs)
+        self.thisown = 1
+        if _args:_args[0].thisown = 0
+        self._setCallbackInfo(self, wxPyDropTarget)
+
+
+
+
+class wxTextDropTargetPtr(wxPyDropTargetPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxTextDropTarget__setCallbackInfo,(self,) + _args, _kwargs)
+        return val
+    def base_OnEnter(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxTextDropTarget_base_OnEnter,(self,) + _args, _kwargs)
+        return val
+    def base_OnDragOver(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxTextDropTarget_base_OnDragOver,(self,) + _args, _kwargs)
+        return val
+    def base_OnLeave(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxTextDropTarget_base_OnLeave,(self,) + _args, _kwargs)
+        return val
+    def base_OnDrop(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxTextDropTarget_base_OnDrop,(self,) + _args, _kwargs)
+        return val
+    def base_OnData(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxTextDropTarget_base_OnData,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxTextDropTarget instance at %s>" % (self.this,)
+class wxTextDropTarget(wxTextDropTargetPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxTextDropTarget,_args,_kwargs)
+        self.thisown = 1
+        self._setCallbackInfo(self, wxTextDropTarget)
+
+
+
+
+class wxFileDropTargetPtr(wxPyDropTargetPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxFileDropTarget__setCallbackInfo,(self,) + _args, _kwargs)
+        return val
+    def base_OnEnter(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxFileDropTarget_base_OnEnter,(self,) + _args, _kwargs)
+        return val
+    def base_OnDragOver(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxFileDropTarget_base_OnDragOver,(self,) + _args, _kwargs)
+        return val
+    def base_OnLeave(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxFileDropTarget_base_OnLeave,(self,) + _args, _kwargs)
+        return val
+    def base_OnDrop(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxFileDropTarget_base_OnDrop,(self,) + _args, _kwargs)
+        return val
+    def base_OnData(self, *_args, **_kwargs):
+        val = apply(clip_dndc.wxFileDropTarget_base_OnData,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxFileDropTarget instance at %s>" % (self.this,)
+class wxFileDropTarget(wxFileDropTargetPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(clip_dndc.new_wxFileDropTarget,_args,_kwargs)
+        self.thisown = 1
+        self._setCallbackInfo(self, wxFileDropTarget)
+
+
+
+
+
 
 #-------------- FUNCTION WRAPPERS ------------------
 
+def wxCustomDataFormat(*_args, **_kwargs):
+    val = apply(clip_dndc.wxCustomDataFormat,_args,_kwargs)
+    if val: val = wxDataFormatPtr(val); val.thisown = 1
+    return val
+
+wxIsDragResultOk = clip_dndc.wxIsDragResultOk
+
 
 
 #-------------- VARIABLE WRAPPERS ------------------
 
+wxDF_INVALID = clip_dndc.wxDF_INVALID
+wxDF_TEXT = clip_dndc.wxDF_TEXT
+wxDF_BITMAP = clip_dndc.wxDF_BITMAP
+wxDF_METAFILE = clip_dndc.wxDF_METAFILE
+wxDF_SYLK = clip_dndc.wxDF_SYLK
+wxDF_DIF = clip_dndc.wxDF_DIF
+wxDF_TIFF = clip_dndc.wxDF_TIFF
+wxDF_OEMTEXT = clip_dndc.wxDF_OEMTEXT
+wxDF_DIB = clip_dndc.wxDF_DIB
+wxDF_PALETTE = clip_dndc.wxDF_PALETTE
+wxDF_PENDATA = clip_dndc.wxDF_PENDATA
+wxDF_RIFF = clip_dndc.wxDF_RIFF
+wxDF_WAVE = clip_dndc.wxDF_WAVE
+wxDF_UNICODETEXT = clip_dndc.wxDF_UNICODETEXT
+wxDF_ENHMETAFILE = clip_dndc.wxDF_ENHMETAFILE
+wxDF_FILENAME = clip_dndc.wxDF_FILENAME
+wxDF_LOCALE = clip_dndc.wxDF_LOCALE
+wxDF_PRIVATE = clip_dndc.wxDF_PRIVATE
+wxDF_HTML = clip_dndc.wxDF_HTML
+wxDF_MAX = clip_dndc.wxDF_MAX
+cvar = clip_dndc.cvar
+wxFormatInvalid = wxDataFormatPtr(clip_dndc.cvar.wxFormatInvalid)
+wxTheClipboard = wxClipboardPtr(clip_dndc.cvar.wxTheClipboard)
+wxDrag_CopyOnly = clip_dndc.wxDrag_CopyOnly
+wxDrag_AllowMove = clip_dndc.wxDrag_AllowMove
+wxDrag_DefaultMove = clip_dndc.wxDrag_DefaultMove
+wxDragError = clip_dndc.wxDragError
+wxDragNone = clip_dndc.wxDragNone
+wxDragCopy = clip_dndc.wxDragCopy
+wxDragMove = clip_dndc.wxDragMove
+wxDragLink = clip_dndc.wxDragLink
+wxDragCancel = clip_dndc.wxDragCancel