/*
 * FILE : src/gtk/grid.cpp
 * 
 * This file was automatically generated by :
 * Simplified Wrapper and Interface Generator (SWIG)
 * Version 1.1 (Build 883)
 * 
 * Portions Copyright (c) 1995-1998
 * The University of Utah and The Regents of the University of California.
 * Permission is granted to distribute this file in any manner provided
 * this notice remains intact.
 * 
 * Do not make changes to this file--changes will be lost!
 *
 */


#define SWIGCODE
/* Implementation : PYTHON */

#define SWIGPYTHON
#include "Python.h"

#include <string.h>
#include <stdlib.h>
/* Definitions for Windows/Unix exporting */
#if defined(__WIN32__)
#   if defined(_MSC_VER)
#	define SWIGEXPORT(a) __declspec(dllexport) a
#   else
#	if defined(__BORLANDC__)
#	    define SWIGEXPORT(a) a _export
#	else
#	    define SWIGEXPORT(a) a
#	endif
#   endif
#else
#   define SWIGEXPORT(a) a
#endif

#ifdef __cplusplus
extern "C" {
#endif
extern void SWIG_MakePtr(char *, void *, char *);
extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *));
extern char *SWIG_GetPtr(char *, void **, char *);
extern char *SWIG_GetPtrObj(PyObject *, void **, char *);
extern void SWIG_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
extern PyObject *SWIG_newvarlink(void);
#ifdef __cplusplus
}
#endif
#define SWIG_init    initgridc

#define SWIG_name    "gridc"

#include "wxPython.h"
#include <wx/grid.h>
#include <wx/generic/gridctrl.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.
    DECLARE_DEF_STRING(PanelNameStr);
    DECLARE_DEF_STRING2(DateTimeFormatStr, wxT("%c"));
    static const wxString wxPyEmptyString(wxT(""));


#define wxPyMake_TEMPLATE(TYPE) \
PyObject* wxPyMake_##TYPE(TYPE* source) { \
    PyObject* target = NULL; \
    if (source) { \
        /* Check if there is already a pointer to a Python object in the \
           OOR data that we can use. */ \
        wxPyOORClientData* data = (wxPyOORClientData*)source->GetClientObject(); \
        if (data) { \
            target = data->m_obj; \
            Py_INCREF(target); \
        } \
        /* Otherwise make a new wrapper for it the old fashioned way and \
           give it the OOR treatment */ \
        if (! target) { \
            target = wxPyConstructObject(source, wxT(#TYPE), FALSE); \
            if (target) \
                source->SetClientObject(new wxPyOORClientData(target)); \
        } \
    } else {  /* source was NULL so return None. */ \
        Py_INCREF(Py_None); target = Py_None; \
    } \
    return target; \
} \


wxPyMake_TEMPLATE(wxGridCellRenderer)
wxPyMake_TEMPLATE(wxGridCellEditor)
wxPyMake_TEMPLATE(wxGridCellAttr)
wxPyMake_TEMPLATE(wxGridCellAttrProvider)
wxPyMake_TEMPLATE(wxGridTableBase)


#define PYCALLBACK_GCA_INTINTKIND(PCLASS, CBNAME)                               \
    wxGridCellAttr* CBNAME(int a, int b, wxGridCellAttr::wxAttrKind c) {        \
        wxGridCellAttr* rval = NULL;                                            \
        bool found;                                                             \
        wxPyBeginBlockThreads();                            \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) {                \
            PyObject* ro;                                                       \
            wxGridCellAttr* ptr;                                                \
            ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(iii)", a, b, c)); \
            if (ro) {                                                           \
                if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxGridCellAttr_p"))    \
                    rval = ptr;                                                 \
                Py_DECREF(ro);                                                  \
            }                                                                   \
        }                                                                       \
        wxPyEndBlockThreads();                                             \
        if (! found)                                                            \
            rval = PCLASS::CBNAME(a, b, c);                                     \
        return rval;                                                            \
    }                                                                           \
    wxGridCellAttr *base_##CBNAME(int a, int b, wxGridCellAttr::wxAttrKind c) { \
        return PCLASS::CBNAME(a, b, c);                                         \
    }



#define PYCALLBACK__GCAINTINT(PCLASS, CBNAME)                                   \
    void CBNAME(wxGridCellAttr *attr, int a, int b) {                           \
        wxPyBeginBlockThreads();                                                \
        bool found;                                                             \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) {                \
            PyObject* obj = wxPyMake_wxGridCellAttr(attr);                      \
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oii)", obj, a, b));  \
            Py_DECREF(obj);                                                     \
        }                                                                       \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            PCLASS::CBNAME(attr, a, b);                                         \
    }                                                                           \
    void base_##CBNAME(wxGridCellAttr *attr, int a, int b) {                    \
        PCLASS::CBNAME(attr, a, b);                                             \
    }



#define PYCALLBACK__GCAINT(PCLASS, CBNAME)                                      \
    void CBNAME(wxGridCellAttr *attr, int val) {                                \
        wxPyBeginBlockThreads();                                                \
        bool found;                                                             \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) {                \
            PyObject* obj = wxPyMake_wxGridCellAttr(attr);                      \
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", obj, val));    \
            Py_DECREF(obj);                                                     \
        }                                                                       \
        wxPyEndBlockThreads();                                             \
        if (! found)                                                            \
            PCLASS::CBNAME(attr, val);                                          \
    }                                                                           \
    void base_##CBNAME(wxGridCellAttr *attr, int val) {                         \
        PCLASS::CBNAME(attr, val);                                              \
    }



#define PYCALLBACK_INT__pure(CBNAME)                                            \
    int  CBNAME() {                                                             \
        wxPyBeginBlockThreads();                            \
        int rval = 0;                                                           \
        if (wxPyCBH_findCallback(m_myInst, #CBNAME))                            \
            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("()"));         \
        wxPyEndBlockThreads();                                             \
        return rval;                                                            \
    }



#define PYCALLBACK_BOOL_INTINT_pure(CBNAME)                                     \
    bool CBNAME(int a, int b) {                                                 \
        wxPyBeginBlockThreads();                            \
        bool rval = 0;                                                          \
        if (wxPyCBH_findCallback(m_myInst, #CBNAME))                            \
            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)",a,b));   \
        wxPyEndBlockThreads();                                             \
        return rval;                                                            \
    }


#define PYCALLBACK_STRING_INTINT_pure(CBNAME)                                   \
    wxString CBNAME(int a, int b) {                                             \
        wxPyBeginBlockThreads();                                                \
        wxString rval;                                                          \
        if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                          \
            PyObject* ro;                                                       \
            ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)",a,b));  \
            if (ro) {                                                           \
                rval = Py2wxString(ro);                                         \
                Py_DECREF(ro);                                                  \
            }                                                                   \
        }                                                                       \
        wxPyEndBlockThreads();                                                  \
        return rval;                                                            \
    }


#define PYCALLBACK__INTINTSTRING_pure(CBNAME)                                   \
    void CBNAME(int a, int b, const wxString& c) {                              \
        wxPyBeginBlockThreads();                                                \
        if (wxPyCBH_findCallback(m_myInst, #CBNAME)) {                          \
            PyObject* s = wx2PyString(c);                                       \
            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)",a,b,s));\
            Py_DECREF(s);                                                       \
        }                                                                       \
        wxPyEndBlockThreads();                                                  \
    }


#define PYCALLBACK_STRING_INTINT(PCLASS, CBNAME)                                \
    wxString CBNAME(int a, int b) {                                             \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        wxString rval;                                                          \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) {                \
            PyObject* ro;                                                       \
            ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)",a,b));  \
            if (ro) {                                                           \
                rval = Py2wxString(ro);                                         \
                Py_DECREF(ro);                                                  \
            }                                                                   \
        }                                                                       \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            rval = PCLASS::CBNAME(a, b);                                        \
        return rval;                                                            \
    }                                                                           \
    wxString base_##CBNAME(int a, int b) {                                      \
        return PCLASS::CBNAME(a, b);                                            \
    }


#define PYCALLBACK_BOOL_INTINTSTRING(PCLASS, CBNAME)                            \
    bool CBNAME(int a, int b, const wxString& c)  {                             \
        bool rval = 0;                                                          \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) {                \
            PyObject* s = wx2PyString(c);                                       \
            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)",a,b,s));\
            Py_DECREF(s);                                                       \
        }                                                                       \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            rval = PCLASS::CBNAME(a,b,c);                                       \
        return rval;                                                            \
    }                                                                           \
    bool base_##CBNAME(int a, int b, const wxString& c) {                       \
        return PCLASS::CBNAME(a,b,c);                                           \
    }




#define PYCALLBACK_LONG_INTINT(PCLASS, CBNAME)                                  \
    long CBNAME(int a, int b)  {                                                \
        long rval;                                                              \
        bool found;                                                             \
        wxPyBeginBlockThreads();                            \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME)))                  \
            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)", a,b));  \
        wxPyEndBlockThreads();                                             \
        if (! found)                                                            \
            rval = PCLASS::CBNAME(a,b);                                         \
        return rval;                                                            \
    }                                                                           \
    long base_##CBNAME(int a, int b) {                                          \
        return PCLASS::CBNAME(a,b);                                             \
    }



#define PYCALLBACK_BOOL_INTINT(PCLASS, CBNAME)                                  \
    bool CBNAME(int a, int b)  {                                                \
        bool rval = 0;                                                          \
        bool found;                                                             \
        wxPyBeginBlockThreads();                            \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME)))                  \
            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)", a,b));  \
        wxPyEndBlockThreads();                                             \
        if (! found)                                                            \
            rval = PCLASS::CBNAME(a,b);                                         \
        return rval;                                                            \
    }                                                                           \
    bool base_##CBNAME(int a, int b) {                                          \
        return PCLASS::CBNAME(a,b);                                             \
    }



#define PYCALLBACK_DOUBLE_INTINT(PCLASS, CBNAME)                                \
    double CBNAME(int a, int b) {                                               \
        bool found;                                                             \
        wxPyBeginBlockThreads();                            \
        double rval;                                                            \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) {                \
            PyObject* ro;                                                       \
            ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)",a,b));  \
            if (ro) {                                                           \
                PyObject* str = PyObject_Str(ro);                               \
                rval = PyFloat_AsDouble(str);                                   \
                Py_DECREF(ro);   Py_DECREF(str);                                \
            }                                                                   \
        }                                                                       \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            rval = PCLASS::CBNAME(a, b);                                        \
        return rval;                                                            \
    }                                                                           \
    double base_##CBNAME(int a, int b) {                                        \
        return PCLASS::CBNAME(a, b);                                            \
    }



#define PYCALLBACK__(PCLASS, CBNAME)                                            \
    void CBNAME()  {                                                            \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME)))                  \
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("()"));                \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            PCLASS::CBNAME();                                                   \
    }                                                                           \
    void base_##CBNAME() {                                                      \
        PCLASS::CBNAME();                                                       \
    }




#define PYCALLBACK_BOOL_SIZETSIZET(PCLASS, CBNAME)                              \
    bool CBNAME(size_t a, size_t b)  {                                          \
        bool rval = 0;                                                          \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME)))                  \
            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)", a,b));  \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            rval = PCLASS::CBNAME(a,b);                                         \
        return rval;                                                            \
    }                                                                           \
    bool base_##CBNAME(size_t a, size_t b) {                                    \
        return PCLASS::CBNAME(a,b);                                             \
    }



#define PYCALLBACK_BOOL_SIZET(PCLASS, CBNAME)                                   \
    bool CBNAME(size_t a)  {                                                    \
        bool rval = 0;                                                          \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME)))                  \
            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)", a));     \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            rval = PCLASS::CBNAME(a);                                           \
        return rval;                                                            \
    }                                                                           \
    bool base_##CBNAME(size_t a) {                                              \
        return PCLASS::CBNAME(a);                                               \
    }


#define PYCALLBACK_STRING_INT(PCLASS, CBNAME)                                   \
    wxString CBNAME(int a) {                                                    \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        wxString rval;                                                          \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) {                \
            PyObject* ro;                                                       \
            ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(i)",a));     \
            if (ro) {                                                           \
                rval = Py2wxString(ro);                                         \
                Py_DECREF(ro);                                                  \
            }                                                                   \
        }                                                                       \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            rval = PCLASS::CBNAME(a);                                           \
        return rval;                                                            \
    }                                                                           \
    wxString base_##CBNAME(int a) {                                             \
        return PCLASS::CBNAME(a);                                               \
    }


#define PYCALLBACK__INTSTRING(PCLASS, CBNAME)                                   \
    void CBNAME(int a, const wxString& c)  {                                    \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) {                \
            PyObject* s = wx2PyString(c);                                       \
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iO)",a,s));          \
            Py_DECREF(s);                                                       \
        }                                                                       \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            PCLASS::CBNAME(a,c);                                                \
    }                                                                           \
    void base_##CBNAME(int a, const wxString& c) {                              \
        PCLASS::CBNAME(a,c);                                                    \
    }




#define PYCALLBACK_BOOL_(PCLASS, CBNAME)                                        \
    bool CBNAME()  {                                                            \
        bool rval = 0;                                                          \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME)))                  \
            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("()"));         \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            rval = PCLASS::CBNAME();                                            \
        return rval;                                                            \
    }                                                                           \
    bool base_##CBNAME() {                                                      \
        return PCLASS::CBNAME();                                                \
    }



#define PYCALLBACK__SIZETINT(PCLASS, CBNAME)                                    \
    void CBNAME(size_t a, int b)  {                                             \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME)))                  \
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)", a,b));         \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            PCLASS::CBNAME(a,b);                                                \
    }                                                                           \
    void base_##CBNAME(size_t a, int b) {                                       \
        PCLASS::CBNAME(a,b);                                                    \
    }




#define PYCALLBACK__INTINTLONG(PCLASS, CBNAME)                                  \
    void CBNAME(int a, int b, long c)  {                                        \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME)))                  \
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iii)", a,b,c));      \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            PCLASS::CBNAME(a,b,c);                                              \
    }                                                                           \
    void base_##CBNAME(int a, int b, long c) {                                  \
        PCLASS::CBNAME(a,b,c);                                                  \
    }




#define PYCALLBACK__INTINTDOUBLE(PCLASS, CBNAME)                                \
    void CBNAME(int a, int b, double c)  {                                      \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME)))                  \
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iif)", a,b,c));      \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            PCLASS::CBNAME(a,b,c);                                              \
    }                                                                           \
    void base_##CBNAME(int a, int b, double c) {                                \
        PCLASS::CBNAME(a,b,c);                                                  \
    }



#define PYCALLBACK__INTINTBOOL(PCLASS, CBNAME)                                  \
    void CBNAME(int a, int b, bool c)  {                                        \
        bool found;                                                             \
        wxPyBeginBlockThreads();                                                \
        if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME)))                  \
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iii)", a,b,c));      \
        wxPyEndBlockThreads();                                                  \
        if (! found)                                                            \
            PCLASS::CBNAME(a,b,c);                                              \
    }                                                                           \
    void base_##CBNAME(int a, int b, bool c) {                                  \
        PCLASS::CBNAME(a,b,c);                                                  \
    }





class wxPyGridCellRenderer : public wxGridCellRenderer
{
public:
    wxPyGridCellRenderer() : wxGridCellRenderer() {};

    // Implement Python callback aware virtual methods
    void Draw(wxGrid& grid, wxGridCellAttr& attr,
              wxDC& dc, const wxRect& rect,
              int row, int col, bool isSelected) {
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "Draw")) {
            PyObject* go = wxPyMake_wxObject(&grid);
            PyObject* dco = wxPyMake_wxObject(&dc);
            PyObject* ao = wxPyMake_wxGridCellAttr(&attr);
            PyObject* ro = wxPyConstructObject((void*)&rect, wxT("wxRect"), 0);

            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOOOiii)", go, ao, dco, ro,
                                                         row, col, isSelected));
            Py_DECREF(go);
            Py_DECREF(ao);
            Py_DECREF(dco);
            Py_DECREF(ro);
        }
        wxPyEndBlockThreads();
    }

    wxSize GetBestSize(wxGrid& grid, wxGridCellAttr& attr, wxDC& dc,
                       int row, int col) {
        wxSize rval;
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "GetBestSize")) {
            PyObject* ro;
            wxSize*   ptr;
            PyObject* go = wxPyMake_wxObject(&grid);
            PyObject* dco = wxPyMake_wxObject(&dc);
            PyObject* ao = wxPyMake_wxGridCellAttr(&attr);

            ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(OOOii)",
                                                                 go, ao, dco,
                                                                 row, col));
            Py_DECREF(go);
            Py_DECREF(ao);
            Py_DECREF(dco);

            if (ro) {
                const char* errmsg = "GetBestSize should return a 2-tuple of integers or a wxSize object.";
                if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxSize_p")) {
                    rval = *ptr;
                }
                else if (PySequence_Check(ro) && PyObject_Length(ro) == 2) {
                    PyObject* o1 = PySequence_GetItem(ro, 0);
                    PyObject* o2 = PySequence_GetItem(ro, 1);
                    if (PyNumber_Check(o1) && PyNumber_Check(o2))
                        rval = wxSize(PyInt_AsLong(o1), PyInt_AsLong(o2));
                    else
                        PyErr_SetString(PyExc_TypeError, errmsg);
                    Py_DECREF(o1);
                    Py_DECREF(o2);
                }
                else {
                    PyErr_SetString(PyExc_TypeError, errmsg);
                }
                Py_DECREF(ro);
            }
        }
        wxPyEndBlockThreads();
        return rval;
    }


    wxGridCellRenderer *Clone() const {
        wxGridCellRenderer* rval = NULL;
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "Clone")) {
            PyObject* ro;
            wxGridCellRenderer* ptr;
            ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()"));
            if (ro) {
                if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxGridCellRenderer_p"))
                    rval = ptr;
                Py_DECREF(ro);
            }
        }
        wxPyEndBlockThreads();
        return rval;
    }

    DEC_PYCALLBACK__STRING(SetParameters);

    PYPRIVATE;
};

IMP_PYCALLBACK__STRING( wxPyGridCellRenderer, wxGridCellRenderer, SetParameters);


class wxPyGridCellEditor : public wxGridCellEditor
{
public:
    wxPyGridCellEditor() : wxGridCellEditor() {}

    void Create(wxWindow* parent, wxWindowID id, wxEvtHandler* evtHandler) {
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "Create")) {
            PyObject* po = wxPyMake_wxObject(parent);
            PyObject* eo = wxPyMake_wxObject(evtHandler);

            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OiO)", po, id, eo));
            Py_DECREF(po);
            Py_DECREF(eo);
        }
        wxPyEndBlockThreads();
    }


    void BeginEdit(int row, int col, wxGrid* grid) {
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "BeginEdit")) {
            PyObject* go = wxPyMake_wxObject(grid);
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)", row, col, go));
            Py_DECREF(go);
        }
        wxPyEndBlockThreads();
    }


    bool EndEdit(int row, int col, wxGrid* grid) {
        bool rv = FALSE;
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "EndEdit")) {
            PyObject* go = wxPyMake_wxObject(grid);
            rv = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)", row, col, go));
            Py_DECREF(go);
        }
        wxPyEndBlockThreads();
        return rv;
    }


    wxGridCellEditor*Clone() const {
        wxGridCellEditor* rval = NULL;
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "Clone")) {
            PyObject* ro;
            wxGridCellEditor* ptr;
            ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()"));
            if (ro) {
                if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxGridCellEditor_p"))
                    rval = ptr;
                Py_DECREF(ro);
            }
        }
        wxPyEndBlockThreads();
        return rval;
    }


    void Show(bool show, wxGridCellAttr *attr) {
        bool found;
        wxPyBeginBlockThreads();
        if ((found = wxPyCBH_findCallback(m_myInst, "Show"))) {
            PyObject* ao = wxPyMake_wxGridCellAttr(attr);
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iO)", show, ao));
            Py_DECREF(ao);
        }
        wxPyEndBlockThreads();
        if (! found)
            wxGridCellEditor::Show(show, attr);
    }
    void base_Show(bool show, wxGridCellAttr *attr) {
        wxGridCellEditor::Show(show, attr);
    }


    void PaintBackground(const wxRect& rectCell, wxGridCellAttr *attr) {
        bool found;
        wxPyBeginBlockThreads();
        if ((found = wxPyCBH_findCallback(m_myInst, "PaintBackground)"))) {
            PyObject* ao = wxPyMake_wxGridCellAttr(attr);
            PyObject* ro = wxPyConstructObject((void*)&rectCell, wxT("wxRect"), 0);

            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)", ro, ao));

            Py_DECREF(ro);
            Py_DECREF(ao);
        }
        wxPyEndBlockThreads();
        if (! found)
            wxGridCellEditor::PaintBackground(rectCell, attr);
    }
    void base_PaintBackground(const wxRect& rectCell, wxGridCellAttr *attr) {
        wxGridCellEditor::PaintBackground(rectCell, attr);
    }


    DEC_PYCALLBACK___pure(Reset);
    DEC_PYCALLBACK__constany(SetSize, wxRect);
    DEC_PYCALLBACK_bool_any(IsAcceptedKey, wxKeyEvent);
    DEC_PYCALLBACK__any(StartingKey, wxKeyEvent);
    DEC_PYCALLBACK__any(HandleReturn, wxKeyEvent);
    DEC_PYCALLBACK__(StartingClick);
    DEC_PYCALLBACK__(Destroy);
    DEC_PYCALLBACK__STRING(SetParameters);

    PYPRIVATE;
};


IMP_PYCALLBACK__STRING( wxPyGridCellEditor, wxGridCellEditor, SetParameters);
IMP_PYCALLBACK___pure(wxPyGridCellEditor, wxGridCellEditor, Reset);
IMP_PYCALLBACK__constany(wxPyGridCellEditor, wxGridCellEditor, SetSize, wxRect);
IMP_PYCALLBACK_bool_any(wxPyGridCellEditor, wxGridCellEditor, IsAcceptedKey, wxKeyEvent);
IMP_PYCALLBACK__any(wxPyGridCellEditor, wxGridCellEditor, StartingKey, wxKeyEvent);
IMP_PYCALLBACK__any(wxPyGridCellEditor, wxGridCellEditor, HandleReturn, wxKeyEvent);
IMP_PYCALLBACK__(wxPyGridCellEditor, wxGridCellEditor, StartingClick);
IMP_PYCALLBACK__(wxPyGridCellEditor, wxGridCellEditor, Destroy);


class wxPyGridCellAttrProvider : public wxGridCellAttrProvider
{
public:
    wxPyGridCellAttrProvider() : wxGridCellAttrProvider() {};

    PYCALLBACK_GCA_INTINTKIND(wxGridCellAttrProvider, GetAttr);
    PYCALLBACK__GCAINTINT(wxGridCellAttrProvider, SetAttr);
    PYCALLBACK__GCAINT(wxGridCellAttrProvider, SetRowAttr);
    PYCALLBACK__GCAINT(wxGridCellAttrProvider, SetColAttr);

    PYPRIVATE;
};

class wxPyGridTableBase : public wxGridTableBase
{
public:
    wxPyGridTableBase() : wxGridTableBase() {}

    PYCALLBACK_INT__pure(GetNumberRows);
    PYCALLBACK_INT__pure(GetNumberCols);
    PYCALLBACK_BOOL_INTINT_pure(IsEmptyCell);
    PYCALLBACK_STRING_INTINT(wxGridTableBase, GetTypeName);
    PYCALLBACK_BOOL_INTINTSTRING(wxGridTableBase, CanGetValueAs);
    PYCALLBACK_BOOL_INTINTSTRING(wxGridTableBase, CanSetValueAs);
    PYCALLBACK__(wxGridTableBase, Clear);
    PYCALLBACK_BOOL_SIZETSIZET(wxGridTableBase, InsertRows);
    PYCALLBACK_BOOL_SIZETSIZET(wxGridTableBase, DeleteRows);
    PYCALLBACK_BOOL_SIZETSIZET(wxGridTableBase, InsertCols);
    PYCALLBACK_BOOL_SIZETSIZET(wxGridTableBase, DeleteCols);
    PYCALLBACK_BOOL_SIZET(wxGridTableBase, AppendRows);
    PYCALLBACK_BOOL_SIZET(wxGridTableBase, AppendCols);
    PYCALLBACK_STRING_INT(wxGridTableBase, GetRowLabelValue);
    PYCALLBACK_STRING_INT(wxGridTableBase, GetColLabelValue);
    PYCALLBACK__INTSTRING(wxGridTableBase, SetRowLabelValue);
    PYCALLBACK__INTSTRING(wxGridTableBase, SetColLabelValue);
    PYCALLBACK_BOOL_(wxGridTableBase, CanHaveAttributes);
    PYCALLBACK_GCA_INTINTKIND(wxGridTableBase, GetAttr);
    PYCALLBACK__GCAINTINT(wxGridTableBase, SetAttr);
    PYCALLBACK__GCAINT(wxGridTableBase, SetRowAttr);
    PYCALLBACK__GCAINT(wxGridTableBase, SetColAttr);


    wxString GetValue(int row, int col) {
        wxPyBeginBlockThreads();
        wxString rval;
        if (wxPyCBH_findCallback(m_myInst, "GetValue")) {
            PyObject* ro;
            ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)",row,col));
            if (ro) {
                rval = Py2wxString(ro);
                Py_DECREF(ro);
            }
        }
        wxPyEndBlockThreads();
        return rval;
    }

    void SetValue(int row, int col, const wxString& val) {
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "SetValue")) {
            PyObject* s = wx2PyString(val);
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)",row,col,s));
            Py_DECREF(s);
	}
        wxPyEndBlockThreads();
    }


    // Map the Get/Set methods for the standard non-string types to
    // the GetValue and SetValue python methods.
    long GetValueAsLong( int row, int col ) {
        long rval = 0;
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "GetValue")) {
            PyObject* ro;
            PyObject* num;
            ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)", row, col));
            if (ro && PyNumber_Check(ro)) {
                num = PyNumber_Int(ro);
                if (num) {
                    rval = PyInt_AsLong(num);
                    Py_DECREF(num);
                }
                Py_DECREF(ro);
            }
        }
        wxPyEndBlockThreads();
        return rval;
    }

    double GetValueAsDouble( int row, int col ) {
        double rval = 0.0;
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "GetValue")) {
            PyObject* ro;
            PyObject* num;
            ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)", row, col));
            if (ro && PyNumber_Check(ro)) {
                num = PyNumber_Float(ro);
                if (num) {
                    rval = PyFloat_AsDouble(num);
                    Py_DECREF(num);
                }
                Py_DECREF(ro);
            }
        }
        wxPyEndBlockThreads();
        return rval;
    }

    bool GetValueAsBool( int row, int col ) {
        return (bool)GetValueAsLong(row, col);
    }

    void SetValueAsLong( int row, int col, long value ) {
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "SetValue")) {
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iii)", row, col, value));
        }
        wxPyEndBlockThreads();
    }

    void SetValueAsDouble( int row, int col, double value ) {
        wxPyBeginBlockThreads();
        if (wxPyCBH_findCallback(m_myInst, "SetValue")) {
            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iid)", row, col, value));
        }
        wxPyEndBlockThreads();
    }

    void SetValueAsBool( int row, int col, bool value ) {
        SetValueAsLong( row, col, (long)value );
    }


    PYPRIVATE;
};

bool wxGridCellCoords_helper(PyObject* source, wxGridCellCoords** obj) {

    // If source is an object instance then it may already be the right type
    if (PyInstance_Check(source)) {
        wxGridCellCoords* ptr;
        if (SWIG_GetPtrObj(source, (void **)&ptr, "_wxGridCellCoords_p"))
            goto error;
        *obj = ptr;
        return TRUE;
    }
    // otherwise a 2-tuple of integers is expected
    else if (PySequence_Check(source) && PyObject_Length(source) == 2) {
        PyObject* o1 = PySequence_GetItem(source, 0);
        PyObject* o2 = PySequence_GetItem(source, 1);
        **obj = wxGridCellCoords(PyInt_AsLong(o1), PyInt_AsLong(o2));
        return TRUE;
    }

 error:
    PyErr_SetString(PyExc_TypeError, "Expected a 2-tuple of integers or a wxGridCellCoords object.");
    return FALSE;
}

PyObject* wxGridCellCoordsArray_helper(const wxGridCellCoordsArray* source)
{
    PyObject* list = PyList_New(0);
    size_t idx;
    for (idx = 0; idx < source->GetCount(); idx += 1) {
        wxGridCellCoords& coord = source->Item(idx);
        PyObject* tup = PyTuple_New(2);
        PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(coord.GetRow()));
        PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(coord.GetCol()));
        PyList_Append(list, tup);
        Py_DECREF(tup);
    }
    return list;
}

typedef wxGrid::wxGridSelectionModes WXGRIDSELECTIONMODES;
#ifdef __cplusplus
extern "C" {
#endif
static int _wrap_wxGridNoCellCoords_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxGridNoCellCoords is read-only.");
    return 1;
}

static PyObject *_wrap_wxGridNoCellCoords_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp,(char *) &wxGridNoCellCoords,"_wxGridCellCoords_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static int _wrap_wxGridNoCellRect_set(PyObject *val) {

    PyErr_SetString(PyExc_TypeError,"Variable wxGridNoCellRect is read-only.");
    return 1;
}

static PyObject *_wrap_wxGridNoCellRect_get() {
    PyObject * pyobj;
    char ptemp[128];

    SWIG_MakePtr(ptemp,(char *) &wxGridNoCellRect,"_wxRect_p");
    pyobj = PyString_FromString(ptemp);
    return pyobj;
}

static void  wxGridCellRenderer__setOORInfo(wxGridCellRenderer *self,PyObject * _self) {
            self->SetClientObject(new wxPyOORClientData(_self));
        }
static PyObject *_wrap_wxGridCellRenderer__setOORInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellRenderer * _arg0;
    PyObject * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","_self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellRenderer__setOORInfo",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellRenderer__setOORInfo. Expected _wxGridCellRenderer_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellRenderer__setOORInfo(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellRenderer_SetParameters(_swigobj,_swigarg0)  (_swigobj->SetParameters(_swigarg0))
static PyObject *_wrap_wxGridCellRenderer_SetParameters(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellRenderer * _arg0;
    wxString * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","params", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellRenderer_SetParameters",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellRenderer_SetParameters. Expected _wxGridCellRenderer_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellRenderer_SetParameters(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxGridCellRenderer_IncRef(_swigobj)  (_swigobj->IncRef())
static PyObject *_wrap_wxGridCellRenderer_IncRef(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellRenderer * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellRenderer_IncRef",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellRenderer_IncRef. Expected _wxGridCellRenderer_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellRenderer_IncRef(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellRenderer_DecRef(_swigobj)  (_swigobj->DecRef())
static PyObject *_wrap_wxGridCellRenderer_DecRef(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellRenderer * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellRenderer_DecRef",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellRenderer_DecRef. Expected _wxGridCellRenderer_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellRenderer_DecRef(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellRenderer_Draw(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6)  (_swigobj->Draw(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6))
static PyObject *_wrap_wxGridCellRenderer_Draw(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellRenderer * _arg0;
    wxGrid * _arg1;
    wxGridCellAttr * _arg2;
    wxDC * _arg3;
    wxRect * _arg4;
    int  _arg5;
    int  _arg6;
    bool  _arg7;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    PyObject * _argo2 = 0;
    PyObject * _argo3 = 0;
    wxRect  temp;
    PyObject * _obj4 = 0;
    int tempbool7;
    char *_kwnames[] = { "self","grid","attr","dc","rect","row","col","isSelected", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOOOiii:wxGridCellRenderer_Draw",_kwnames,&_argo0,&_argo1,&_argo2,&_argo3,&_obj4,&_arg5,&_arg6,&tempbool7)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellRenderer_Draw. Expected _wxGridCellRenderer_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellRenderer_Draw. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo2) {
        if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGridCellRenderer_Draw. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
    if (_argo3) {
        if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGridCellRenderer_Draw. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg4 = &temp;
    if (! wxRect_helper(_obj4, &_arg4))
        return NULL;
}
    _arg7 = (bool ) tempbool7;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellRenderer_Draw(_arg0,*_arg1,*_arg2,*_arg3,*_arg4,_arg5,_arg6,_arg7);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellRenderer_GetBestSize(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->GetBestSize(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
static PyObject *_wrap_wxGridCellRenderer_GetBestSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxSize * _result;
    wxGridCellRenderer * _arg0;
    wxGrid * _arg1;
    wxGridCellAttr * _arg2;
    wxDC * _arg3;
    int  _arg4;
    int  _arg5;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    PyObject * _argo2 = 0;
    PyObject * _argo3 = 0;
    char *_kwnames[] = { "self","grid","attr","dc","row","col", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOOii:wxGridCellRenderer_GetBestSize",_kwnames,&_argo0,&_argo1,&_argo2,&_argo3,&_arg4,&_arg5)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellRenderer_GetBestSize. Expected _wxGridCellRenderer_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellRenderer_GetBestSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo2) {
        if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGridCellRenderer_GetBestSize. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
    if (_argo3) {
        if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGridCellRenderer_GetBestSize. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxSize (wxGridCellRenderer_GetBestSize(_arg0,*_arg1,*_arg2,*_arg3,_arg4,_arg5));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGridCellRenderer_Clone(_swigobj)  (_swigobj->Clone())
static PyObject *_wrap_wxGridCellRenderer_Clone(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellRenderer * _result;
    wxGridCellRenderer * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellRenderer_Clone",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellRenderer_Clone. Expected _wxGridCellRenderer_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellRenderer *)wxGridCellRenderer_Clone(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellRenderer(_result); }
    return _resultobj;
}

static void *SwigwxPyGridCellRendererTowxGridCellRenderer(void *ptr) {
    wxPyGridCellRenderer *src;
    wxGridCellRenderer *dest;
    src = (wxPyGridCellRenderer *) ptr;
    dest = (wxGridCellRenderer *) src;
    return (void *) dest;
}

#define new_wxPyGridCellRenderer() (new wxPyGridCellRenderer())
static PyObject *_wrap_new_wxPyGridCellRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellRenderer * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxPyGridCellRenderer",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxPyGridCellRenderer *)new_wxPyGridCellRenderer();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyGridCellRenderer_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxPyGridCellRenderer__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridCellRenderer__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellRenderer * _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:wxPyGridCellRenderer__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellRenderer__setCallbackInfo. Expected _wxPyGridCellRenderer_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
  _arg2 = _obj2;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellRenderer__setCallbackInfo(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellRenderer_base_SetParameters(_swigobj,_swigarg0)  (_swigobj->base_SetParameters(_swigarg0))
static PyObject *_wrap_wxPyGridCellRenderer_base_SetParameters(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellRenderer * _arg0;
    wxString * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","params", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyGridCellRenderer_base_SetParameters",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellRenderer_base_SetParameters. Expected _wxPyGridCellRenderer_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellRenderer_base_SetParameters(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

static void *SwigwxGridCellStringRendererTowxGridCellRenderer(void *ptr) {
    wxGridCellStringRenderer *src;
    wxGridCellRenderer *dest;
    src = (wxGridCellStringRenderer *) ptr;
    dest = (wxGridCellRenderer *) src;
    return (void *) dest;
}

#define new_wxGridCellStringRenderer() (new wxGridCellStringRenderer())
static PyObject *_wrap_new_wxGridCellStringRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellStringRenderer * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxGridCellStringRenderer",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellStringRenderer *)new_wxGridCellStringRenderer();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellStringRenderer_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxGridCellNumberRendererTowxGridCellStringRenderer(void *ptr) {
    wxGridCellNumberRenderer *src;
    wxGridCellStringRenderer *dest;
    src = (wxGridCellNumberRenderer *) ptr;
    dest = (wxGridCellStringRenderer *) src;
    return (void *) dest;
}

static void *SwigwxGridCellNumberRendererTowxGridCellRenderer(void *ptr) {
    wxGridCellNumberRenderer *src;
    wxGridCellRenderer *dest;
    src = (wxGridCellNumberRenderer *) ptr;
    dest = (wxGridCellRenderer *) src;
    return (void *) dest;
}

#define new_wxGridCellNumberRenderer() (new wxGridCellNumberRenderer())
static PyObject *_wrap_new_wxGridCellNumberRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellNumberRenderer * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxGridCellNumberRenderer",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellNumberRenderer *)new_wxGridCellNumberRenderer();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellNumberRenderer_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxGridCellFloatRendererTowxGridCellStringRenderer(void *ptr) {
    wxGridCellFloatRenderer *src;
    wxGridCellStringRenderer *dest;
    src = (wxGridCellFloatRenderer *) ptr;
    dest = (wxGridCellStringRenderer *) src;
    return (void *) dest;
}

static void *SwigwxGridCellFloatRendererTowxGridCellRenderer(void *ptr) {
    wxGridCellFloatRenderer *src;
    wxGridCellRenderer *dest;
    src = (wxGridCellFloatRenderer *) ptr;
    dest = (wxGridCellRenderer *) src;
    return (void *) dest;
}

#define new_wxGridCellFloatRenderer(_swigarg0,_swigarg1) (new wxGridCellFloatRenderer(_swigarg0,_swigarg1))
static PyObject *_wrap_new_wxGridCellFloatRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellFloatRenderer * _result;
    int  _arg0 = (int ) -1;
    int  _arg1 = (int ) -1;
    char *_kwnames[] = { "width","precision", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxGridCellFloatRenderer",_kwnames,&_arg0,&_arg1)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellFloatRenderer *)new_wxGridCellFloatRenderer(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellFloatRenderer_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxGridCellFloatRenderer_GetWidth(_swigobj)  (_swigobj->GetWidth())
static PyObject *_wrap_wxGridCellFloatRenderer_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridCellFloatRenderer * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellFloatRenderer_GetWidth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellFloatRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellFloatRenderer_GetWidth. Expected _wxGridCellFloatRenderer_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridCellFloatRenderer_GetWidth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellFloatRenderer_SetWidth(_swigobj,_swigarg0)  (_swigobj->SetWidth(_swigarg0))
static PyObject *_wrap_wxGridCellFloatRenderer_SetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellFloatRenderer * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","width", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridCellFloatRenderer_SetWidth",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellFloatRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellFloatRenderer_SetWidth. Expected _wxGridCellFloatRenderer_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellFloatRenderer_SetWidth(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellFloatRenderer_GetPrecision(_swigobj)  (_swigobj->GetPrecision())
static PyObject *_wrap_wxGridCellFloatRenderer_GetPrecision(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridCellFloatRenderer * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellFloatRenderer_GetPrecision",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellFloatRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellFloatRenderer_GetPrecision. Expected _wxGridCellFloatRenderer_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridCellFloatRenderer_GetPrecision(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellFloatRenderer_SetPrecision(_swigobj,_swigarg0)  (_swigobj->SetPrecision(_swigarg0))
static PyObject *_wrap_wxGridCellFloatRenderer_SetPrecision(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellFloatRenderer * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","precision", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridCellFloatRenderer_SetPrecision",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellFloatRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellFloatRenderer_SetPrecision. Expected _wxGridCellFloatRenderer_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellFloatRenderer_SetPrecision(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void *SwigwxGridCellBoolRendererTowxGridCellRenderer(void *ptr) {
    wxGridCellBoolRenderer *src;
    wxGridCellRenderer *dest;
    src = (wxGridCellBoolRenderer *) ptr;
    dest = (wxGridCellRenderer *) src;
    return (void *) dest;
}

#define new_wxGridCellBoolRenderer() (new wxGridCellBoolRenderer())
static PyObject *_wrap_new_wxGridCellBoolRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellBoolRenderer * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxGridCellBoolRenderer",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellBoolRenderer *)new_wxGridCellBoolRenderer();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellBoolRenderer_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxGridCellDateTimeRendererTowxGridCellStringRenderer(void *ptr) {
    wxGridCellDateTimeRenderer *src;
    wxGridCellStringRenderer *dest;
    src = (wxGridCellDateTimeRenderer *) ptr;
    dest = (wxGridCellStringRenderer *) src;
    return (void *) dest;
}

static void *SwigwxGridCellDateTimeRendererTowxGridCellRenderer(void *ptr) {
    wxGridCellDateTimeRenderer *src;
    wxGridCellRenderer *dest;
    src = (wxGridCellDateTimeRenderer *) ptr;
    dest = (wxGridCellRenderer *) src;
    return (void *) dest;
}

#define new_wxGridCellDateTimeRenderer(_swigarg0,_swigarg1) (new wxGridCellDateTimeRenderer(_swigarg0,_swigarg1))
static PyObject *_wrap_new_wxGridCellDateTimeRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellDateTimeRenderer * _result;
    wxString * _arg0 = (wxString *) &wxPyDateTimeFormatStr;
    wxString * _arg1 = (wxString *) &wxPyDateTimeFormatStr;
    PyObject * _obj0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "outformat","informat", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|OO:new_wxGridCellDateTimeRenderer",_kwnames,&_obj0,&_obj1)) 
        return NULL;
    if (_obj0)
{
    _arg0 = wxString_in_helper(_obj0);
    if (_arg0 == NULL)
        return NULL;
}
    if (_obj1)
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellDateTimeRenderer *)new_wxGridCellDateTimeRenderer(*_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellDateTimeRenderer_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    if (_obj0)
        delete _arg0;
}
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

static void *SwigwxGridCellEnumRendererTowxGridCellStringRenderer(void *ptr) {
    wxGridCellEnumRenderer *src;
    wxGridCellStringRenderer *dest;
    src = (wxGridCellEnumRenderer *) ptr;
    dest = (wxGridCellStringRenderer *) src;
    return (void *) dest;
}

static void *SwigwxGridCellEnumRendererTowxGridCellRenderer(void *ptr) {
    wxGridCellEnumRenderer *src;
    wxGridCellRenderer *dest;
    src = (wxGridCellEnumRenderer *) ptr;
    dest = (wxGridCellRenderer *) src;
    return (void *) dest;
}

#define new_wxGridCellEnumRenderer(_swigarg0) (new wxGridCellEnumRenderer(_swigarg0))
static PyObject *_wrap_new_wxGridCellEnumRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEnumRenderer * _result;
    wxString * _arg0 = (wxString *) &wxPyEmptyString;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "choices", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxGridCellEnumRenderer",_kwnames,&_obj0)) 
        return NULL;
    if (_obj0)
{
    _arg0 = wxString_LIST_helper(_obj0);
    if (_arg0 == NULL) {
        return NULL;
    }
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellEnumRenderer *)new_wxGridCellEnumRenderer(*_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellEnumRenderer_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    delete [] _arg0;
}
    return _resultobj;
}

static void *SwigwxGridCellAutoWrapStringRendererTowxGridCellStringRenderer(void *ptr) {
    wxGridCellAutoWrapStringRenderer *src;
    wxGridCellStringRenderer *dest;
    src = (wxGridCellAutoWrapStringRenderer *) ptr;
    dest = (wxGridCellStringRenderer *) src;
    return (void *) dest;
}

static void *SwigwxGridCellAutoWrapStringRendererTowxGridCellRenderer(void *ptr) {
    wxGridCellAutoWrapStringRenderer *src;
    wxGridCellRenderer *dest;
    src = (wxGridCellAutoWrapStringRenderer *) ptr;
    dest = (wxGridCellRenderer *) src;
    return (void *) dest;
}

#define new_wxGridCellAutoWrapStringRenderer() (new wxGridCellAutoWrapStringRenderer())
static PyObject *_wrap_new_wxGridCellAutoWrapStringRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAutoWrapStringRenderer * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxGridCellAutoWrapStringRenderer",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellAutoWrapStringRenderer *)new_wxGridCellAutoWrapStringRenderer();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellAutoWrapStringRenderer_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void  wxGridCellEditor__setOORInfo(wxGridCellEditor *self,PyObject * _self) {
            self->SetClientObject(new wxPyOORClientData(_self));
        }
static PyObject *_wrap_wxGridCellEditor__setOORInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    PyObject * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","_self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellEditor__setOORInfo",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor__setOORInfo. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor__setOORInfo(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_IsCreated(_swigobj)  (_swigobj->IsCreated())
static PyObject *_wrap_wxGridCellEditor_IsCreated(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellEditor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellEditor_IsCreated",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_IsCreated. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellEditor_IsCreated(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellEditor_GetControl(_swigobj)  (_swigobj->GetControl())
static PyObject *_wrap_wxGridCellEditor_GetControl(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxControl * _result;
    wxGridCellEditor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellEditor_GetControl",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_GetControl. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxControl *)wxGridCellEditor_GetControl(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxObject(_result); }
    return _resultobj;
}

#define wxGridCellEditor_SetControl(_swigobj,_swigarg0)  (_swigobj->SetControl(_swigarg0))
static PyObject *_wrap_wxGridCellEditor_SetControl(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    wxControl * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","control", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellEditor_SetControl",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_SetControl. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControl_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellEditor_SetControl. Expected _wxControl_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_SetControl(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_GetCellAttr(_swigobj)  (_swigobj->GetCellAttr())
static PyObject *_wrap_wxGridCellEditor_GetCellAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _result;
    wxGridCellEditor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellEditor_GetCellAttr",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_GetCellAttr. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellAttr *)wxGridCellEditor_GetCellAttr(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellAttr(_result); }
    return _resultobj;
}

#define wxGridCellEditor_SetCellAttr(_swigobj,_swigarg0)  (_swigobj->SetCellAttr(_swigarg0))
static PyObject *_wrap_wxGridCellEditor_SetCellAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    wxGridCellAttr * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellEditor_SetCellAttr",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_SetCellAttr. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellEditor_SetCellAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_SetCellAttr(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_SetParameters(_swigobj,_swigarg0)  (_swigobj->SetParameters(_swigarg0))
static PyObject *_wrap_wxGridCellEditor_SetParameters(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    wxString * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","params", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellEditor_SetParameters",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_SetParameters. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_SetParameters(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxGridCellEditor_IncRef(_swigobj)  (_swigobj->IncRef())
static PyObject *_wrap_wxGridCellEditor_IncRef(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellEditor_IncRef",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_IncRef. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_IncRef(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_DecRef(_swigobj)  (_swigobj->DecRef())
static PyObject *_wrap_wxGridCellEditor_DecRef(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellEditor_DecRef",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_DecRef. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_DecRef(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_Create(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->Create(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridCellEditor_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    wxWindow * _arg1;
    wxWindowID  _arg2;
    wxEvtHandler * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    PyObject * _argo3 = 0;
    char *_kwnames[] = { "self","parent","id","evtHandler", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOiO:wxGridCellEditor_Create",_kwnames,&_argo0,&_argo1,&_arg2,&_argo3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_Create. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellEditor_Create. Expected _wxWindow_p.");
        return NULL;
        }
    }
    if (_argo3) {
        if (_argo3 == Py_None) { _arg3 = NULL; }
        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxEvtHandler_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGridCellEditor_Create. Expected _wxEvtHandler_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_Create(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_BeginEdit(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->BeginEdit(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridCellEditor_BeginEdit(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    int  _arg1;
    int  _arg2;
    wxGrid * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo3 = 0;
    char *_kwnames[] = { "self","row","col","grid", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGridCellEditor_BeginEdit",_kwnames,&_argo0,&_arg1,&_arg2,&_argo3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_BeginEdit. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
    if (_argo3) {
        if (_argo3 == Py_None) { _arg3 = NULL; }
        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGridCellEditor_BeginEdit. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_BeginEdit(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_EndEdit(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->EndEdit(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridCellEditor_EndEdit(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellEditor * _arg0;
    int  _arg1;
    int  _arg2;
    wxGrid * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo3 = 0;
    char *_kwnames[] = { "self","row","col","grid", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGridCellEditor_EndEdit",_kwnames,&_argo0,&_arg1,&_arg2,&_argo3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_EndEdit. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
    if (_argo3) {
        if (_argo3 == Py_None) { _arg3 = NULL; }
        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGridCellEditor_EndEdit. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellEditor_EndEdit(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellEditor_Reset(_swigobj)  (_swigobj->Reset())
static PyObject *_wrap_wxGridCellEditor_Reset(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellEditor_Reset",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_Reset. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_Reset(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_Clone(_swigobj)  (_swigobj->Clone())
static PyObject *_wrap_wxGridCellEditor_Clone(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _result;
    wxGridCellEditor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellEditor_Clone",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_Clone. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellEditor *)wxGridCellEditor_Clone(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellEditor(_result); }
    return _resultobj;
}

#define wxGridCellEditor_SetSize(_swigobj,_swigarg0)  (_swigobj->SetSize(_swigarg0))
static PyObject *_wrap_wxGridCellEditor_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    wxRect * _arg1;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","rect", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellEditor_SetSize",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_SetSize. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_SetSize(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_Show(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Show(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridCellEditor_Show(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    bool  _arg1;
    wxGridCellAttr * _arg2 = (wxGridCellAttr *) NULL;
    PyObject * _argo0 = 0;
    int tempbool1;
    PyObject * _argo2 = 0;
    char *_kwnames[] = { "self","show","attr", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|O:wxGridCellEditor_Show",_kwnames,&_argo0,&tempbool1,&_argo2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_Show. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGridCellEditor_Show. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_Show(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_PaintBackground(_swigobj,_swigarg0,_swigarg1)  (_swigobj->PaintBackground(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridCellEditor_PaintBackground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    wxRect * _arg1;
    wxGridCellAttr * _arg2;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    PyObject * _argo2 = 0;
    char *_kwnames[] = { "self","rectCell","attr", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxGridCellEditor_PaintBackground",_kwnames,&_argo0,&_obj1,&_argo2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_PaintBackground. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGridCellEditor_PaintBackground. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_PaintBackground(_arg0,*_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_IsAcceptedKey(_swigobj,_swigarg0)  (_swigobj->IsAcceptedKey(_swigarg0))
static PyObject *_wrap_wxGridCellEditor_IsAcceptedKey(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellEditor * _arg0;
    wxKeyEvent * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","event", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellEditor_IsAcceptedKey",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_IsAcceptedKey. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxKeyEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellEditor_IsAcceptedKey. Expected _wxKeyEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellEditor_IsAcceptedKey(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellEditor_StartingKey(_swigobj,_swigarg0)  (_swigobj->StartingKey(_swigarg0))
static PyObject *_wrap_wxGridCellEditor_StartingKey(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    wxKeyEvent * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","event", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellEditor_StartingKey",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_StartingKey. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxKeyEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellEditor_StartingKey. Expected _wxKeyEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_StartingKey(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_StartingClick(_swigobj)  (_swigobj->StartingClick())
static PyObject *_wrap_wxGridCellEditor_StartingClick(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellEditor_StartingClick",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_StartingClick. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_StartingClick(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_HandleReturn(_swigobj,_swigarg0)  (_swigobj->HandleReturn(_swigarg0))
static PyObject *_wrap_wxGridCellEditor_HandleReturn(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    wxKeyEvent * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","event", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellEditor_HandleReturn",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_HandleReturn. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxKeyEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellEditor_HandleReturn. Expected _wxKeyEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_HandleReturn(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellEditor_Destroy(_swigobj)  (_swigobj->Destroy())
static PyObject *_wrap_wxGridCellEditor_Destroy(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellEditor_Destroy",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_Destroy. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellEditor_Destroy(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void *SwigwxPyGridCellEditorTowxGridCellEditor(void *ptr) {
    wxPyGridCellEditor *src;
    wxGridCellEditor *dest;
    src = (wxPyGridCellEditor *) ptr;
    dest = (wxGridCellEditor *) src;
    return (void *) dest;
}

#define new_wxPyGridCellEditor() (new wxPyGridCellEditor())
static PyObject *_wrap_new_wxPyGridCellEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellEditor * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxPyGridCellEditor",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxPyGridCellEditor *)new_wxPyGridCellEditor();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyGridCellEditor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxPyGridCellEditor__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridCellEditor__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellEditor * _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:wxPyGridCellEditor__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellEditor__setCallbackInfo. Expected _wxPyGridCellEditor_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
  _arg2 = _obj2;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellEditor__setCallbackInfo(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellEditor_base_SetSize(_swigobj,_swigarg0)  (_swigobj->base_SetSize(_swigarg0))
static PyObject *_wrap_wxPyGridCellEditor_base_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellEditor * _arg0;
    wxRect * _arg1;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","rect", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyGridCellEditor_base_SetSize",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellEditor_base_SetSize. Expected _wxPyGridCellEditor_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellEditor_base_SetSize(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellEditor_base_Show(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_Show(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridCellEditor_base_Show(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellEditor * _arg0;
    bool  _arg1;
    wxGridCellAttr * _arg2 = (wxGridCellAttr *) NULL;
    PyObject * _argo0 = 0;
    int tempbool1;
    PyObject * _argo2 = 0;
    char *_kwnames[] = { "self","show","attr", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|O:wxPyGridCellEditor_base_Show",_kwnames,&_argo0,&tempbool1,&_argo2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellEditor_base_Show. Expected _wxPyGridCellEditor_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPyGridCellEditor_base_Show. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellEditor_base_Show(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellEditor_base_PaintBackground(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_PaintBackground(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridCellEditor_base_PaintBackground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellEditor * _arg0;
    wxRect * _arg1;
    wxGridCellAttr * _arg2;
    PyObject * _argo0 = 0;
    wxRect  temp;
    PyObject * _obj1 = 0;
    PyObject * _argo2 = 0;
    char *_kwnames[] = { "self","rectCell","attr", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyGridCellEditor_base_PaintBackground",_kwnames,&_argo0,&_obj1,&_argo2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellEditor_base_PaintBackground. Expected _wxPyGridCellEditor_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxRect_helper(_obj1, &_arg1))
        return NULL;
}
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPyGridCellEditor_base_PaintBackground. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellEditor_base_PaintBackground(_arg0,*_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellEditor_base_IsAcceptedKey(_swigobj,_swigarg0)  (_swigobj->base_IsAcceptedKey(_swigarg0))
static PyObject *_wrap_wxPyGridCellEditor_base_IsAcceptedKey(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPyGridCellEditor * _arg0;
    wxKeyEvent * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","event", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyGridCellEditor_base_IsAcceptedKey",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellEditor_base_IsAcceptedKey. Expected _wxPyGridCellEditor_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxKeyEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyGridCellEditor_base_IsAcceptedKey. Expected _wxKeyEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPyGridCellEditor_base_IsAcceptedKey(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPyGridCellEditor_base_StartingKey(_swigobj,_swigarg0)  (_swigobj->base_StartingKey(_swigarg0))
static PyObject *_wrap_wxPyGridCellEditor_base_StartingKey(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellEditor * _arg0;
    wxKeyEvent * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","event", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyGridCellEditor_base_StartingKey",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellEditor_base_StartingKey. Expected _wxPyGridCellEditor_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxKeyEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyGridCellEditor_base_StartingKey. Expected _wxKeyEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellEditor_base_StartingKey(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellEditor_base_StartingClick(_swigobj)  (_swigobj->base_StartingClick())
static PyObject *_wrap_wxPyGridCellEditor_base_StartingClick(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellEditor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyGridCellEditor_base_StartingClick",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellEditor_base_StartingClick. Expected _wxPyGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellEditor_base_StartingClick(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellEditor_base_HandleReturn(_swigobj,_swigarg0)  (_swigobj->base_HandleReturn(_swigarg0))
static PyObject *_wrap_wxPyGridCellEditor_base_HandleReturn(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellEditor * _arg0;
    wxKeyEvent * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","event", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyGridCellEditor_base_HandleReturn",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellEditor_base_HandleReturn. Expected _wxPyGridCellEditor_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxKeyEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyGridCellEditor_base_HandleReturn. Expected _wxKeyEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellEditor_base_HandleReturn(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellEditor_base_Destroy(_swigobj)  (_swigobj->base_Destroy())
static PyObject *_wrap_wxPyGridCellEditor_base_Destroy(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellEditor * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyGridCellEditor_base_Destroy",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellEditor_base_Destroy. Expected _wxPyGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellEditor_base_Destroy(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellEditor_base_SetParameters(_swigobj,_swigarg0)  (_swigobj->base_SetParameters(_swigarg0))
static PyObject *_wrap_wxPyGridCellEditor_base_SetParameters(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellEditor * _arg0;
    wxString * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","params", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyGridCellEditor_base_SetParameters",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellEditor_base_SetParameters. Expected _wxPyGridCellEditor_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellEditor_base_SetParameters(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

static void *SwigwxGridCellTextEditorTowxGridCellEditor(void *ptr) {
    wxGridCellTextEditor *src;
    wxGridCellEditor *dest;
    src = (wxGridCellTextEditor *) ptr;
    dest = (wxGridCellEditor *) src;
    return (void *) dest;
}

#define new_wxGridCellTextEditor() (new wxGridCellTextEditor())
static PyObject *_wrap_new_wxGridCellTextEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellTextEditor * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxGridCellTextEditor",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellTextEditor *)new_wxGridCellTextEditor();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellTextEditor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxGridCellNumberEditorTowxGridCellTextEditor(void *ptr) {
    wxGridCellNumberEditor *src;
    wxGridCellTextEditor *dest;
    src = (wxGridCellNumberEditor *) ptr;
    dest = (wxGridCellTextEditor *) src;
    return (void *) dest;
}

static void *SwigwxGridCellNumberEditorTowxGridCellEditor(void *ptr) {
    wxGridCellNumberEditor *src;
    wxGridCellEditor *dest;
    src = (wxGridCellNumberEditor *) ptr;
    dest = (wxGridCellEditor *) src;
    return (void *) dest;
}

#define new_wxGridCellNumberEditor(_swigarg0,_swigarg1) (new wxGridCellNumberEditor(_swigarg0,_swigarg1))
static PyObject *_wrap_new_wxGridCellNumberEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellNumberEditor * _result;
    int  _arg0 = (int ) -1;
    int  _arg1 = (int ) -1;
    char *_kwnames[] = { "min","max", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxGridCellNumberEditor",_kwnames,&_arg0,&_arg1)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellNumberEditor *)new_wxGridCellNumberEditor(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellNumberEditor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxGridCellFloatEditorTowxGridCellTextEditor(void *ptr) {
    wxGridCellFloatEditor *src;
    wxGridCellTextEditor *dest;
    src = (wxGridCellFloatEditor *) ptr;
    dest = (wxGridCellTextEditor *) src;
    return (void *) dest;
}

static void *SwigwxGridCellFloatEditorTowxGridCellEditor(void *ptr) {
    wxGridCellFloatEditor *src;
    wxGridCellEditor *dest;
    src = (wxGridCellFloatEditor *) ptr;
    dest = (wxGridCellEditor *) src;
    return (void *) dest;
}

#define new_wxGridCellFloatEditor() (new wxGridCellFloatEditor())
static PyObject *_wrap_new_wxGridCellFloatEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellFloatEditor * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxGridCellFloatEditor",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellFloatEditor *)new_wxGridCellFloatEditor();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellFloatEditor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxGridCellBoolEditorTowxGridCellEditor(void *ptr) {
    wxGridCellBoolEditor *src;
    wxGridCellEditor *dest;
    src = (wxGridCellBoolEditor *) ptr;
    dest = (wxGridCellEditor *) src;
    return (void *) dest;
}

#define new_wxGridCellBoolEditor() (new wxGridCellBoolEditor())
static PyObject *_wrap_new_wxGridCellBoolEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellBoolEditor * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxGridCellBoolEditor",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellBoolEditor *)new_wxGridCellBoolEditor();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellBoolEditor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void *SwigwxGridCellChoiceEditorTowxGridCellEditor(void *ptr) {
    wxGridCellChoiceEditor *src;
    wxGridCellEditor *dest;
    src = (wxGridCellChoiceEditor *) ptr;
    dest = (wxGridCellEditor *) src;
    return (void *) dest;
}

#define new_wxGridCellChoiceEditor(_swigarg0,_swigarg1,_swigarg2) (new wxGridCellChoiceEditor(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_new_wxGridCellChoiceEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellChoiceEditor * _result;
    int  _arg0 = (int ) 0;
    wxString * _arg1 = (wxString *) NULL;
    bool  _arg2 = (bool ) FALSE;
    PyObject * _obj1 = 0;
    int tempbool2 = (int) FALSE;
    char *_kwnames[] = { "choices","allowOthers", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|Oi:new_wxGridCellChoiceEditor",_kwnames,&_obj1,&tempbool2)) 
        return NULL;
    if (_obj1)
{
    _arg1 = wxString_LIST_helper(_obj1);
    if (_arg1 == NULL) {
        return NULL;
    }
}
    _arg2 = (bool ) tempbool2;
{
    if (_obj1) {
        _arg0 = PyList_Size(_obj1);
    }
    else {
        _arg0 = 0;
    }
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellChoiceEditor *)new_wxGridCellChoiceEditor(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellChoiceEditor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    delete [] _arg1;
}
    return _resultobj;
}

static void *SwigwxGridCellEnumEditorTowxGridCellChoiceEditor(void *ptr) {
    wxGridCellEnumEditor *src;
    wxGridCellChoiceEditor *dest;
    src = (wxGridCellEnumEditor *) ptr;
    dest = (wxGridCellChoiceEditor *) src;
    return (void *) dest;
}

static void *SwigwxGridCellEnumEditorTowxGridCellEditor(void *ptr) {
    wxGridCellEnumEditor *src;
    wxGridCellEditor *dest;
    src = (wxGridCellEnumEditor *) ptr;
    dest = (wxGridCellEditor *) src;
    return (void *) dest;
}

#define new_wxGridCellEnumEditor(_swigarg0) (new wxGridCellEnumEditor(_swigarg0))
static PyObject *_wrap_new_wxGridCellEnumEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEnumEditor * _result;
    wxString * _arg0 = (wxString *) &wxPyEmptyString;
    PyObject * _obj0 = 0;
    char *_kwnames[] = { "choices", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxGridCellEnumEditor",_kwnames,&_obj0)) 
        return NULL;
    if (_obj0)
{
    _arg0 = wxString_LIST_helper(_obj0);
    if (_arg0 == NULL) {
        return NULL;
    }
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellEnumEditor *)new_wxGridCellEnumEditor(*_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellEnumEditor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    delete [] _arg0;
}
    return _resultobj;
}

static void *SwigwxGridCellAutoWrapStringEditorTowxGridCellTextEditor(void *ptr) {
    wxGridCellAutoWrapStringEditor *src;
    wxGridCellTextEditor *dest;
    src = (wxGridCellAutoWrapStringEditor *) ptr;
    dest = (wxGridCellTextEditor *) src;
    return (void *) dest;
}

static void *SwigwxGridCellAutoWrapStringEditorTowxGridCellEditor(void *ptr) {
    wxGridCellAutoWrapStringEditor *src;
    wxGridCellEditor *dest;
    src = (wxGridCellAutoWrapStringEditor *) ptr;
    dest = (wxGridCellEditor *) src;
    return (void *) dest;
}

#define new_wxGridCellAutoWrapStringEditor() (new wxGridCellAutoWrapStringEditor())
static PyObject *_wrap_new_wxGridCellAutoWrapStringEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAutoWrapStringEditor * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxGridCellAutoWrapStringEditor",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellAutoWrapStringEditor *)new_wxGridCellAutoWrapStringEditor();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellAutoWrapStringEditor_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void  wxGridCellAttr__setOORInfo(wxGridCellAttr *self,PyObject * _self) {
            self->SetClientObject(new wxPyOORClientData(_self));
        }
static PyObject *_wrap_wxGridCellAttr__setOORInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    PyObject * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","_self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellAttr__setOORInfo",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr__setOORInfo. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr__setOORInfo(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define new_wxGridCellAttr(_swigarg0) (new wxGridCellAttr(_swigarg0))
static PyObject *_wrap_new_wxGridCellAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _result;
    wxGridCellAttr * _arg0 = (wxGridCellAttr *) NULL;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "attrDefault", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxGridCellAttr",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxGridCellAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellAttr *)new_wxGridCellAttr(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellAttr_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxGridCellAttr_Clone(_swigobj)  (_swigobj->Clone())
static PyObject *_wrap_wxGridCellAttr_Clone(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_Clone",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_Clone. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellAttr *)wxGridCellAttr_Clone(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellAttr(_result); }
    return _resultobj;
}

#define wxGridCellAttr_MergeWith(_swigobj,_swigarg0)  (_swigobj->MergeWith(_swigarg0))
static PyObject *_wrap_wxGridCellAttr_MergeWith(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    wxGridCellAttr * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","mergefrom", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellAttr_MergeWith",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_MergeWith. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttr_MergeWith. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_MergeWith(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_IncRef(_swigobj)  (_swigobj->IncRef())
static PyObject *_wrap_wxGridCellAttr_IncRef(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_IncRef",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_IncRef. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_IncRef(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_DecRef(_swigobj)  (_swigobj->DecRef())
static PyObject *_wrap_wxGridCellAttr_DecRef(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_DecRef",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_DecRef. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_DecRef(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_SetTextColour(_swigobj,_swigarg0)  (_swigobj->SetTextColour(_swigarg0))
static PyObject *_wrap_wxGridCellAttr_SetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","colText", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellAttr_SetTextColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetTextColour. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_SetTextColour(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_SetBackgroundColour(_swigobj,_swigarg0)  (_swigobj->SetBackgroundColour(_swigarg0))
static PyObject *_wrap_wxGridCellAttr_SetBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","colBack", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellAttr_SetBackgroundColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetBackgroundColour. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_SetBackgroundColour(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_SetFont(_swigobj,_swigarg0)  (_swigobj->SetFont(_swigarg0))
static PyObject *_wrap_wxGridCellAttr_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    wxFont * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","font", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellAttr_SetFont",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetFont. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFont_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttr_SetFont. Expected _wxFont_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_SetFont(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_SetAlignment(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetAlignment(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridCellAttr_SetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","hAlign","vAlign", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridCellAttr_SetAlignment",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetAlignment. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_SetAlignment(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_SetSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetSize(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridCellAttr_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","num_rows","num_cols", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridCellAttr_SetSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetSize. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_SetSize(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_SetOverflow(_swigobj,_swigarg0)  (_swigobj->SetOverflow(_swigarg0))
static PyObject *_wrap_wxGridCellAttr_SetOverflow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","allow", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridCellAttr_SetOverflow",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetOverflow. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_SetOverflow(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_SetReadOnly(_swigobj,_swigarg0)  (_swigobj->SetReadOnly(_swigarg0))
static PyObject *_wrap_wxGridCellAttr_SetReadOnly(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    bool  _arg1 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool1 = (int) TRUE;
    char *_kwnames[] = { "self","isReadOnly", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxGridCellAttr_SetReadOnly",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetReadOnly. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_SetReadOnly(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_SetRenderer(_swigobj,_swigarg0)  (_swigobj->SetRenderer(_swigarg0))
static PyObject *_wrap_wxGridCellAttr_SetRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    wxGridCellRenderer * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","renderer", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellAttr_SetRenderer",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetRenderer. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttr_SetRenderer. Expected _wxGridCellRenderer_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_SetRenderer(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_SetEditor(_swigobj,_swigarg0)  (_swigobj->SetEditor(_swigarg0))
static PyObject *_wrap_wxGridCellAttr_SetEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    wxGridCellEditor * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","editor", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellAttr_SetEditor",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetEditor. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttr_SetEditor. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_SetEditor(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_SetKind(_swigobj,_swigarg0)  (_swigobj->SetKind(_swigarg0))
static PyObject *_wrap_wxGridCellAttr_SetKind(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    wxGridCellAttr::wxAttrKind  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","kind", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridCellAttr_SetKind",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetKind. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_SetKind(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttr_HasTextColour(_swigobj)  (_swigobj->HasTextColour())
static PyObject *_wrap_wxGridCellAttr_HasTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_HasTextColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_HasTextColour. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellAttr_HasTextColour(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellAttr_HasBackgroundColour(_swigobj)  (_swigobj->HasBackgroundColour())
static PyObject *_wrap_wxGridCellAttr_HasBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_HasBackgroundColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_HasBackgroundColour. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellAttr_HasBackgroundColour(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellAttr_HasFont(_swigobj)  (_swigobj->HasFont())
static PyObject *_wrap_wxGridCellAttr_HasFont(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_HasFont",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_HasFont. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellAttr_HasFont(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellAttr_HasAlignment(_swigobj)  (_swigobj->HasAlignment())
static PyObject *_wrap_wxGridCellAttr_HasAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_HasAlignment",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_HasAlignment. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellAttr_HasAlignment(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellAttr_HasRenderer(_swigobj)  (_swigobj->HasRenderer())
static PyObject *_wrap_wxGridCellAttr_HasRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_HasRenderer",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_HasRenderer. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellAttr_HasRenderer(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellAttr_HasEditor(_swigobj)  (_swigobj->HasEditor())
static PyObject *_wrap_wxGridCellAttr_HasEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_HasEditor",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_HasEditor. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellAttr_HasEditor(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellAttr_HasReadWriteMode(_swigobj)  (_swigobj->HasReadWriteMode())
static PyObject *_wrap_wxGridCellAttr_HasReadWriteMode(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_HasReadWriteMode",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_HasReadWriteMode. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellAttr_HasReadWriteMode(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellAttr_GetTextColour(_swigobj)  (_swigobj->GetTextColour())
static PyObject *_wrap_wxGridCellAttr_GetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_GetTextColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_GetTextColour. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGridCellAttr_GetTextColour(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGridCellAttr_GetBackgroundColour(_swigobj)  (_swigobj->GetBackgroundColour())
static PyObject *_wrap_wxGridCellAttr_GetBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_GetBackgroundColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_GetBackgroundColour. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGridCellAttr_GetBackgroundColour(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGridCellAttr_GetFont(_swigobj)  (_swigobj->GetFont())
static PyObject *_wrap_wxGridCellAttr_GetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxFont * _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_GetFont",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_GetFont. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxFont (wxGridCellAttr_GetFont(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxFont_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGridCellAttr_GetAlignment(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetAlignment(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridCellAttr_GetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    int * _arg1;
    int  temp;
    int * _arg2;
    int  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_GetAlignment",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_GetAlignment. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_GetAlignment(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg1));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg2));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxGridCellAttr_GetSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetSize(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridCellAttr_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    int * _arg1;
    int  temp;
    int * _arg2;
    int  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_GetSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_GetSize. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_GetSize(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg1));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg2));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxGridCellAttr_GetOverflow(_swigobj)  (_swigobj->GetOverflow())
static PyObject *_wrap_wxGridCellAttr_GetOverflow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_GetOverflow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_GetOverflow. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellAttr_GetOverflow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellAttr_GetRenderer(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->GetRenderer(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridCellAttr_GetRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellRenderer * _result;
    wxGridCellAttr * _arg0;
    wxGrid * _arg1;
    int  _arg2;
    int  _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","grid","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxGridCellAttr_GetRenderer",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_GetRenderer. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttr_GetRenderer. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellRenderer *)wxGridCellAttr_GetRenderer(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellRenderer(_result); }
    return _resultobj;
}

#define wxGridCellAttr_GetEditor(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->GetEditor(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridCellAttr_GetEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _result;
    wxGridCellAttr * _arg0;
    wxGrid * _arg1;
    int  _arg2;
    int  _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","grid","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxGridCellAttr_GetEditor",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_GetEditor. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttr_GetEditor. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellEditor *)wxGridCellAttr_GetEditor(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellEditor(_result); }
    return _resultobj;
}

#define wxGridCellAttr_IsReadOnly(_swigobj)  (_swigobj->IsReadOnly())
static PyObject *_wrap_wxGridCellAttr_IsReadOnly(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridCellAttr * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_IsReadOnly",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_IsReadOnly. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridCellAttr_IsReadOnly(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellAttr_SetDefAttr(_swigobj,_swigarg0)  (_swigobj->SetDefAttr(_swigarg0))
static PyObject *_wrap_wxGridCellAttr_SetDefAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _arg0;
    wxGridCellAttr * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","defAttr", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellAttr_SetDefAttr",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetDefAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttr_SetDefAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttr_SetDefAttr(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define new_wxGridCellAttrProvider() (new wxGridCellAttrProvider())
static PyObject *_wrap_new_wxGridCellAttrProvider(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttrProvider * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxGridCellAttrProvider",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellAttrProvider *)new_wxGridCellAttrProvider();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellAttrProvider_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

static void  wxGridCellAttrProvider__setOORInfo(wxGridCellAttrProvider *self,PyObject * _self) {
            self->SetClientObject(new wxPyOORClientData(_self));
        }
static PyObject *_wrap_wxGridCellAttrProvider__setOORInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttrProvider * _arg0;
    PyObject * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","_self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellAttrProvider__setOORInfo",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttrProvider__setOORInfo. Expected _wxGridCellAttrProvider_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttrProvider__setOORInfo(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttrProvider_GetAttr(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->GetAttr(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridCellAttrProvider_GetAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _result;
    wxGridCellAttrProvider * _arg0;
    int  _arg1;
    int  _arg2;
    wxGridCellAttr::wxAttrKind  _arg3;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col","kind", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxGridCellAttrProvider_GetAttr",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttrProvider_GetAttr. Expected _wxGridCellAttrProvider_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellAttr *)wxGridCellAttrProvider_GetAttr(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellAttr(_result); }
    return _resultobj;
}

#define wxGridCellAttrProvider_SetAttr(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetAttr(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridCellAttrProvider_SetAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttrProvider * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    int  _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxGridCellAttrProvider_SetAttr",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttrProvider_SetAttr. Expected _wxGridCellAttrProvider_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttrProvider_SetAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttrProvider_SetAttr(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttrProvider_SetRowAttr(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetRowAttr(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridCellAttrProvider_SetRowAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttrProvider * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","row", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxGridCellAttrProvider_SetRowAttr",_kwnames,&_argo0,&_argo1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttrProvider_SetRowAttr. Expected _wxGridCellAttrProvider_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttrProvider_SetRowAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttrProvider_SetRowAttr(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttrProvider_SetColAttr(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetColAttr(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridCellAttrProvider_SetColAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttrProvider * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxGridCellAttrProvider_SetColAttr",_kwnames,&_argo0,&_argo1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttrProvider_SetColAttr. Expected _wxGridCellAttrProvider_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttrProvider_SetColAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttrProvider_SetColAttr(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttrProvider_UpdateAttrRows(_swigobj,_swigarg0,_swigarg1)  (_swigobj->UpdateAttrRows(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridCellAttrProvider_UpdateAttrRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttrProvider * _arg0;
    size_t  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","pos","numRows", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridCellAttrProvider_UpdateAttrRows",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttrProvider_UpdateAttrRows. Expected _wxGridCellAttrProvider_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttrProvider_UpdateAttrRows(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellAttrProvider_UpdateAttrCols(_swigobj,_swigarg0,_swigarg1)  (_swigobj->UpdateAttrCols(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridCellAttrProvider_UpdateAttrCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttrProvider * _arg0;
    size_t  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","pos","numCols", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridCellAttrProvider_UpdateAttrCols",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttrProvider_UpdateAttrCols. Expected _wxGridCellAttrProvider_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellAttrProvider_UpdateAttrCols(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void *SwigwxPyGridCellAttrProviderTowxGridCellAttrProvider(void *ptr) {
    wxPyGridCellAttrProvider *src;
    wxGridCellAttrProvider *dest;
    src = (wxPyGridCellAttrProvider *) ptr;
    dest = (wxGridCellAttrProvider *) src;
    return (void *) dest;
}

#define new_wxPyGridCellAttrProvider() (new wxPyGridCellAttrProvider())
static PyObject *_wrap_new_wxPyGridCellAttrProvider(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellAttrProvider * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxPyGridCellAttrProvider",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxPyGridCellAttrProvider *)new_wxPyGridCellAttrProvider();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyGridCellAttrProvider_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxPyGridCellAttrProvider__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridCellAttrProvider__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellAttrProvider * _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:wxPyGridCellAttrProvider__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellAttrProvider__setCallbackInfo. Expected _wxPyGridCellAttrProvider_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
  _arg2 = _obj2;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellAttrProvider__setCallbackInfo(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellAttrProvider_base_GetAttr(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_GetAttr(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxPyGridCellAttrProvider_base_GetAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _result;
    wxPyGridCellAttrProvider * _arg0;
    int  _arg1;
    int  _arg2;
    wxGridCellAttr::wxAttrKind  _arg3;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col","kind", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxPyGridCellAttrProvider_base_GetAttr",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellAttrProvider_base_GetAttr. Expected _wxPyGridCellAttrProvider_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellAttr *)wxPyGridCellAttrProvider_base_GetAttr(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellAttr(_result); }
    return _resultobj;
}

#define wxPyGridCellAttrProvider_base_SetAttr(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_SetAttr(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxPyGridCellAttrProvider_base_SetAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellAttrProvider * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    int  _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxPyGridCellAttrProvider_base_SetAttr",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellAttrProvider_base_SetAttr. Expected _wxPyGridCellAttrProvider_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyGridCellAttrProvider_base_SetAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellAttrProvider_base_SetAttr(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellAttrProvider_base_SetRowAttr(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_SetRowAttr(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridCellAttrProvider_base_SetRowAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellAttrProvider * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","row", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxPyGridCellAttrProvider_base_SetRowAttr",_kwnames,&_argo0,&_argo1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellAttrProvider_base_SetRowAttr. Expected _wxPyGridCellAttrProvider_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyGridCellAttrProvider_base_SetRowAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellAttrProvider_base_SetRowAttr(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridCellAttrProvider_base_SetColAttr(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_SetColAttr(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridCellAttrProvider_base_SetColAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridCellAttrProvider * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxPyGridCellAttrProvider_base_SetColAttr",_kwnames,&_argo0,&_argo1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridCellAttrProvider_base_SetColAttr. Expected _wxPyGridCellAttrProvider_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyGridCellAttrProvider_base_SetColAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridCellAttrProvider_base_SetColAttr(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void *SwigwxGridTableBaseTowxObject(void *ptr) {
    wxGridTableBase *src;
    wxObject *dest;
    src = (wxGridTableBase *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

static void  wxGridTableBase__setOORInfo(wxGridTableBase *self,PyObject * _self) {
            self->SetClientObject(new wxPyOORClientData(_self));
        }
static PyObject *_wrap_wxGridTableBase__setOORInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    PyObject * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","_self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridTableBase__setOORInfo",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase__setOORInfo. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase__setOORInfo(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableBase_SetAttrProvider(_swigobj,_swigarg0)  (_swigobj->SetAttrProvider(_swigarg0))
static PyObject *_wrap_wxGridTableBase_SetAttrProvider(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    wxGridCellAttrProvider * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attrProvider", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridTableBase_SetAttrProvider",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_SetAttrProvider. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttrProvider_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridTableBase_SetAttrProvider. Expected _wxGridCellAttrProvider_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_SetAttrProvider(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableBase_GetAttrProvider(_swigobj)  (_swigobj->GetAttrProvider())
static PyObject *_wrap_wxGridTableBase_GetAttrProvider(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttrProvider * _result;
    wxGridTableBase * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridTableBase_GetAttrProvider",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetAttrProvider. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellAttrProvider *)wxGridTableBase_GetAttrProvider(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellAttrProvider(_result); }
    return _resultobj;
}

#define wxGridTableBase_SetView(_swigobj,_swigarg0)  (_swigobj->SetView(_swigarg0))
static PyObject *_wrap_wxGridTableBase_SetView(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    wxGrid * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","grid", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridTableBase_SetView",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_SetView. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridTableBase_SetView. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_SetView(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableBase_GetView(_swigobj)  (_swigobj->GetView())
static PyObject *_wrap_wxGridTableBase_GetView(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _result;
    wxGridTableBase * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridTableBase_GetView",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetView. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGrid *)wxGridTableBase_GetView(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxObject(_result); }
    return _resultobj;
}

#define wxGridTableBase_GetNumberRows(_swigobj)  (_swigobj->GetNumberRows())
static PyObject *_wrap_wxGridTableBase_GetNumberRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridTableBase * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridTableBase_GetNumberRows",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetNumberRows. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridTableBase_GetNumberRows(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableBase_GetNumberCols(_swigobj)  (_swigobj->GetNumberCols())
static PyObject *_wrap_wxGridTableBase_GetNumberCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridTableBase * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridTableBase_GetNumberCols",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetNumberCols. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridTableBase_GetNumberCols(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableBase_IsEmptyCell(_swigobj,_swigarg0,_swigarg1)  (_swigobj->IsEmptyCell(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_IsEmptyCell(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridTableBase_IsEmptyCell",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_IsEmptyCell. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridTableBase_IsEmptyCell(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableBase_GetValue(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetValue(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxString * _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridTableBase_GetValue",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetValue. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxString (wxGridTableBase_GetValue(_arg0,_arg1,_arg2));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
#if wxUSE_UNICODE
    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
#else
    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
#endif
}
{
    delete _result;
}
    return _resultobj;
}

#define wxGridTableBase_SetValue(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetValue(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridTableBase_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    wxString * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","row","col","value", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGridTableBase_SetValue",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_SetValue. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    _arg3 = wxString_in_helper(_obj3);
    if (_arg3 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_SetValue(_arg0,_arg1,_arg2,*_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj3)
        delete _arg3;
}
    return _resultobj;
}

#define wxGridTableBase_GetTypeName(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetTypeName(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_GetTypeName(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxString * _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridTableBase_GetTypeName",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetTypeName. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxString (wxGridTableBase_GetTypeName(_arg0,_arg1,_arg2));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
#if wxUSE_UNICODE
    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
#else
    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
#endif
}
{
    delete _result;
}
    return _resultobj;
}

#define wxGridTableBase_CanGetValueAs(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->CanGetValueAs(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridTableBase_CanGetValueAs(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    wxString * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","row","col","typeName", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGridTableBase_CanGetValueAs",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_CanGetValueAs. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    _arg3 = wxString_in_helper(_obj3);
    if (_arg3 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridTableBase_CanGetValueAs(_arg0,_arg1,_arg2,*_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
{
    if (_obj3)
        delete _arg3;
}
    return _resultobj;
}

#define wxGridTableBase_CanSetValueAs(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->CanSetValueAs(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridTableBase_CanSetValueAs(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    wxString * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","row","col","typeName", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGridTableBase_CanSetValueAs",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_CanSetValueAs. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    _arg3 = wxString_in_helper(_obj3);
    if (_arg3 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridTableBase_CanSetValueAs(_arg0,_arg1,_arg2,*_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
{
    if (_obj3)
        delete _arg3;
}
    return _resultobj;
}

#define wxGridTableBase_GetValueAsLong(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetValueAsLong(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_GetValueAsLong(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    long  _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridTableBase_GetValueAsLong",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetValueAsLong. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (long )wxGridTableBase_GetValueAsLong(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("l",_result);
    return _resultobj;
}

#define wxGridTableBase_GetValueAsDouble(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetValueAsDouble(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_GetValueAsDouble(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    double  _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridTableBase_GetValueAsDouble",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetValueAsDouble. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (double )wxGridTableBase_GetValueAsDouble(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("d",_result);
    return _resultobj;
}

#define wxGridTableBase_GetValueAsBool(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetValueAsBool(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_GetValueAsBool(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridTableBase_GetValueAsBool",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetValueAsBool. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridTableBase_GetValueAsBool(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableBase_SetValueAsLong(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetValueAsLong(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridTableBase_SetValueAsLong(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    long  _arg3;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col","value", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiil:wxGridTableBase_SetValueAsLong",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_SetValueAsLong. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_SetValueAsLong(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableBase_SetValueAsDouble(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetValueAsDouble(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridTableBase_SetValueAsDouble(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    double  _arg3;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col","value", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiid:wxGridTableBase_SetValueAsDouble",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_SetValueAsDouble. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_SetValueAsDouble(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableBase_SetValueAsBool(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetValueAsBool(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridTableBase_SetValueAsBool(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    bool  _arg3;
    PyObject * _argo0 = 0;
    int tempbool3;
    char *_kwnames[] = { "self","row","col","value", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxGridTableBase_SetValueAsBool",_kwnames,&_argo0,&_arg1,&_arg2,&tempbool3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_SetValueAsBool. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
    _arg3 = (bool ) tempbool3;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_SetValueAsBool(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableBase_Clear(_swigobj)  (_swigobj->Clear())
static PyObject *_wrap_wxGridTableBase_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridTableBase_Clear",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_Clear. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_Clear(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableBase_InsertRows(_swigobj,_swigarg0,_swigarg1)  (_swigobj->InsertRows(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_InsertRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 0;
    size_t  _arg2 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","pos","numRows", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:wxGridTableBase_InsertRows",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_InsertRows. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridTableBase_InsertRows(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableBase_AppendRows(_swigobj,_swigarg0)  (_swigobj->AppendRows(_swigarg0))
static PyObject *_wrap_wxGridTableBase_AppendRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","numRows", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxGridTableBase_AppendRows",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_AppendRows. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridTableBase_AppendRows(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableBase_DeleteRows(_swigobj,_swigarg0,_swigarg1)  (_swigobj->DeleteRows(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_DeleteRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 0;
    size_t  _arg2 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","pos","numRows", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:wxGridTableBase_DeleteRows",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_DeleteRows. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridTableBase_DeleteRows(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableBase_InsertCols(_swigobj,_swigarg0,_swigarg1)  (_swigobj->InsertCols(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_InsertCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 0;
    size_t  _arg2 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","pos","numCols", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:wxGridTableBase_InsertCols",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_InsertCols. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridTableBase_InsertCols(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableBase_AppendCols(_swigobj,_swigarg0)  (_swigobj->AppendCols(_swigarg0))
static PyObject *_wrap_wxGridTableBase_AppendCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","numCols", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxGridTableBase_AppendCols",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_AppendCols. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridTableBase_AppendCols(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableBase_DeleteCols(_swigobj,_swigarg0,_swigarg1)  (_swigobj->DeleteCols(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_DeleteCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 0;
    size_t  _arg2 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","pos","numCols", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:wxGridTableBase_DeleteCols",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_DeleteCols. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridTableBase_DeleteCols(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableBase_GetRowLabelValue(_swigobj,_swigarg0)  (_swigobj->GetRowLabelValue(_swigarg0))
static PyObject *_wrap_wxGridTableBase_GetRowLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxString * _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridTableBase_GetRowLabelValue",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetRowLabelValue. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxString (wxGridTableBase_GetRowLabelValue(_arg0,_arg1));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
#if wxUSE_UNICODE
    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
#else
    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
#endif
}
{
    delete _result;
}
    return _resultobj;
}

#define wxGridTableBase_GetColLabelValue(_swigobj,_swigarg0)  (_swigobj->GetColLabelValue(_swigarg0))
static PyObject *_wrap_wxGridTableBase_GetColLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxString * _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridTableBase_GetColLabelValue",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetColLabelValue. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxString (wxGridTableBase_GetColLabelValue(_arg0,_arg1));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
#if wxUSE_UNICODE
    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
#else
    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
#endif
}
{
    delete _result;
}
    return _resultobj;
}

#define wxGridTableBase_SetRowLabelValue(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetRowLabelValue(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_SetRowLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    int  _arg1;
    wxString * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","row","value", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxGridTableBase_SetRowLabelValue",_kwnames,&_argo0,&_arg1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_SetRowLabelValue. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    _arg2 = wxString_in_helper(_obj2);
    if (_arg2 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_SetRowLabelValue(_arg0,_arg1,*_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj2)
        delete _arg2;
}
    return _resultobj;
}

#define wxGridTableBase_SetColLabelValue(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetColLabelValue(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_SetColLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    int  _arg1;
    wxString * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","col","value", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxGridTableBase_SetColLabelValue",_kwnames,&_argo0,&_arg1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_SetColLabelValue. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    _arg2 = wxString_in_helper(_obj2);
    if (_arg2 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_SetColLabelValue(_arg0,_arg1,*_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj2)
        delete _arg2;
}
    return _resultobj;
}

#define wxGridTableBase_CanHaveAttributes(_swigobj)  (_swigobj->CanHaveAttributes())
static PyObject *_wrap_wxGridTableBase_CanHaveAttributes(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridTableBase * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridTableBase_CanHaveAttributes",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_CanHaveAttributes. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridTableBase_CanHaveAttributes(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableBase_GetAttr(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->GetAttr(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridTableBase_GetAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    wxGridCellAttr::wxAttrKind  _arg3;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col","kind", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxGridTableBase_GetAttr",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_GetAttr. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellAttr *)wxGridTableBase_GetAttr(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellAttr(_result); }
    return _resultobj;
}

#define wxGridTableBase_SetAttr(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetAttr(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridTableBase_SetAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    int  _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxGridTableBase_SetAttr",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_SetAttr. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridTableBase_SetAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_SetAttr(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableBase_SetRowAttr(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetRowAttr(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_SetRowAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","row", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxGridTableBase_SetRowAttr",_kwnames,&_argo0,&_argo1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_SetRowAttr. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridTableBase_SetRowAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_SetRowAttr(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableBase_SetColAttr(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetColAttr(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridTableBase_SetColAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxGridTableBase_SetColAttr",_kwnames,&_argo0,&_argo1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableBase_SetColAttr. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridTableBase_SetColAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableBase_SetColAttr(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void *SwigwxPyGridTableBaseTowxGridTableBase(void *ptr) {
    wxPyGridTableBase *src;
    wxGridTableBase *dest;
    src = (wxPyGridTableBase *) ptr;
    dest = (wxGridTableBase *) src;
    return (void *) dest;
}

static void *SwigwxPyGridTableBaseTowxObject(void *ptr) {
    wxPyGridTableBase *src;
    wxObject *dest;
    src = (wxPyGridTableBase *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxPyGridTableBase() (new wxPyGridTableBase())
static PyObject *_wrap_new_wxPyGridTableBase(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridTableBase * _result;
    char *_kwnames[] = {  NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxPyGridTableBase",_kwnames)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxPyGridTableBase *)new_wxPyGridTableBase();

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyGridTableBase_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxPyGridTableBase__setCallbackInfo(_swigobj,_swigarg0,_swigarg1)  (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridTableBase__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridTableBase * _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:wxPyGridTableBase__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase__setCallbackInfo. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
  _arg1 = _obj1;
}
{
  _arg2 = _obj2;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridTableBase__setCallbackInfo(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void  wxPyGridTableBase_Destroy(wxPyGridTableBase *self) { delete self; }
static PyObject *_wrap_wxPyGridTableBase_Destroy(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridTableBase * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyGridTableBase_Destroy",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_Destroy. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridTableBase_Destroy(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridTableBase_base_GetTypeName(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_GetTypeName(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridTableBase_base_GetTypeName(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxString * _result;
    wxPyGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxPyGridTableBase_base_GetTypeName",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_GetTypeName. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxString (wxPyGridTableBase_base_GetTypeName(_arg0,_arg1,_arg2));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
#if wxUSE_UNICODE
    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
#else
    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
#endif
}
{
    delete _result;
}
    return _resultobj;
}

#define wxPyGridTableBase_base_CanGetValueAs(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_CanGetValueAs(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxPyGridTableBase_base_CanGetValueAs(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPyGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    wxString * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","row","col","typeName", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxPyGridTableBase_base_CanGetValueAs",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_CanGetValueAs. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    _arg3 = wxString_in_helper(_obj3);
    if (_arg3 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPyGridTableBase_base_CanGetValueAs(_arg0,_arg1,_arg2,*_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
{
    if (_obj3)
        delete _arg3;
}
    return _resultobj;
}

#define wxPyGridTableBase_base_CanSetValueAs(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_CanSetValueAs(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxPyGridTableBase_base_CanSetValueAs(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPyGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    wxString * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","row","col","typeName", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxPyGridTableBase_base_CanSetValueAs",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_CanSetValueAs. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    _arg3 = wxString_in_helper(_obj3);
    if (_arg3 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPyGridTableBase_base_CanSetValueAs(_arg0,_arg1,_arg2,*_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
{
    if (_obj3)
        delete _arg3;
}
    return _resultobj;
}

#define wxPyGridTableBase_base_Clear(_swigobj)  (_swigobj->base_Clear())
static PyObject *_wrap_wxPyGridTableBase_base_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridTableBase * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyGridTableBase_base_Clear",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_Clear. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridTableBase_base_Clear(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridTableBase_base_InsertRows(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_InsertRows(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridTableBase_base_InsertRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPyGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 0;
    size_t  _arg2 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","pos","numRows", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:wxPyGridTableBase_base_InsertRows",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_InsertRows. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPyGridTableBase_base_InsertRows(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPyGridTableBase_base_AppendRows(_swigobj,_swigarg0)  (_swigobj->base_AppendRows(_swigarg0))
static PyObject *_wrap_wxPyGridTableBase_base_AppendRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPyGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","numRows", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxPyGridTableBase_base_AppendRows",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_AppendRows. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPyGridTableBase_base_AppendRows(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPyGridTableBase_base_DeleteRows(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_DeleteRows(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridTableBase_base_DeleteRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPyGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 0;
    size_t  _arg2 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","pos","numRows", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:wxPyGridTableBase_base_DeleteRows",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_DeleteRows. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPyGridTableBase_base_DeleteRows(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPyGridTableBase_base_InsertCols(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_InsertCols(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridTableBase_base_InsertCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPyGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 0;
    size_t  _arg2 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","pos","numCols", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:wxPyGridTableBase_base_InsertCols",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_InsertCols. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPyGridTableBase_base_InsertCols(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPyGridTableBase_base_AppendCols(_swigobj,_swigarg0)  (_swigobj->base_AppendCols(_swigarg0))
static PyObject *_wrap_wxPyGridTableBase_base_AppendCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPyGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","numCols", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxPyGridTableBase_base_AppendCols",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_AppendCols. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPyGridTableBase_base_AppendCols(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPyGridTableBase_base_DeleteCols(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_DeleteCols(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridTableBase_base_DeleteCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPyGridTableBase * _arg0;
    size_t  _arg1 = (size_t ) 0;
    size_t  _arg2 = (size_t ) 1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","pos","numCols", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:wxPyGridTableBase_base_DeleteCols",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_DeleteCols. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPyGridTableBase_base_DeleteCols(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPyGridTableBase_base_GetRowLabelValue(_swigobj,_swigarg0)  (_swigobj->base_GetRowLabelValue(_swigarg0))
static PyObject *_wrap_wxPyGridTableBase_base_GetRowLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxString * _result;
    wxPyGridTableBase * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyGridTableBase_base_GetRowLabelValue",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_GetRowLabelValue. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxString (wxPyGridTableBase_base_GetRowLabelValue(_arg0,_arg1));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
#if wxUSE_UNICODE
    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
#else
    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
#endif
}
{
    delete _result;
}
    return _resultobj;
}

#define wxPyGridTableBase_base_GetColLabelValue(_swigobj,_swigarg0)  (_swigobj->base_GetColLabelValue(_swigarg0))
static PyObject *_wrap_wxPyGridTableBase_base_GetColLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxString * _result;
    wxPyGridTableBase * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyGridTableBase_base_GetColLabelValue",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_GetColLabelValue. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxString (wxPyGridTableBase_base_GetColLabelValue(_arg0,_arg1));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
#if wxUSE_UNICODE
    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
#else
    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
#endif
}
{
    delete _result;
}
    return _resultobj;
}

#define wxPyGridTableBase_base_SetRowLabelValue(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_SetRowLabelValue(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridTableBase_base_SetRowLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridTableBase * _arg0;
    int  _arg1;
    wxString * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","row","value", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxPyGridTableBase_base_SetRowLabelValue",_kwnames,&_argo0,&_arg1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_SetRowLabelValue. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    _arg2 = wxString_in_helper(_obj2);
    if (_arg2 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridTableBase_base_SetRowLabelValue(_arg0,_arg1,*_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj2)
        delete _arg2;
}
    return _resultobj;
}

#define wxPyGridTableBase_base_SetColLabelValue(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_SetColLabelValue(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridTableBase_base_SetColLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridTableBase * _arg0;
    int  _arg1;
    wxString * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","col","value", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxPyGridTableBase_base_SetColLabelValue",_kwnames,&_argo0,&_arg1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_SetColLabelValue. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    _arg2 = wxString_in_helper(_obj2);
    if (_arg2 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridTableBase_base_SetColLabelValue(_arg0,_arg1,*_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj2)
        delete _arg2;
}
    return _resultobj;
}

#define wxPyGridTableBase_base_CanHaveAttributes(_swigobj)  (_swigobj->base_CanHaveAttributes())
static PyObject *_wrap_wxPyGridTableBase_base_CanHaveAttributes(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxPyGridTableBase * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyGridTableBase_base_CanHaveAttributes",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_CanHaveAttributes. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxPyGridTableBase_base_CanHaveAttributes(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxPyGridTableBase_base_GetAttr(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_GetAttr(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxPyGridTableBase_base_GetAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellAttr * _result;
    wxPyGridTableBase * _arg0;
    int  _arg1;
    int  _arg2;
    wxGridCellAttr::wxAttrKind  _arg3;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col","kind", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxPyGridTableBase_base_GetAttr",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_GetAttr. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellAttr *)wxPyGridTableBase_base_GetAttr(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellAttr(_result); }
    return _resultobj;
}

#define wxPyGridTableBase_base_SetAttr(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->base_SetAttr(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxPyGridTableBase_base_SetAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridTableBase * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    int  _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxPyGridTableBase_base_SetAttr",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_SetAttr. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyGridTableBase_base_SetAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridTableBase_base_SetAttr(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridTableBase_base_SetRowAttr(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_SetRowAttr(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridTableBase_base_SetRowAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridTableBase * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","row", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxPyGridTableBase_base_SetRowAttr",_kwnames,&_argo0,&_argo1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_SetRowAttr. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyGridTableBase_base_SetRowAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridTableBase_base_SetRowAttr(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxPyGridTableBase_base_SetColAttr(_swigobj,_swigarg0,_swigarg1)  (_swigobj->base_SetColAttr(_swigarg0,_swigarg1))
static PyObject *_wrap_wxPyGridTableBase_base_SetColAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPyGridTableBase * _arg0;
    wxGridCellAttr * _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","attr","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxPyGridTableBase_base_SetColAttr",_kwnames,&_argo0,&_argo1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyGridTableBase_base_SetColAttr. Expected _wxPyGridTableBase_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyGridTableBase_base_SetColAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxPyGridTableBase_base_SetColAttr(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static void *SwigwxGridStringTableTowxGridTableBase(void *ptr) {
    wxGridStringTable *src;
    wxGridTableBase *dest;
    src = (wxGridStringTable *) ptr;
    dest = (wxGridTableBase *) src;
    return (void *) dest;
}

static void *SwigwxGridStringTableTowxObject(void *ptr) {
    wxGridStringTable *src;
    wxObject *dest;
    src = (wxGridStringTable *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxGridStringTable(_swigarg0,_swigarg1) (new wxGridStringTable(_swigarg0,_swigarg1))
static PyObject *_wrap_new_wxGridStringTable(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridStringTable * _result;
    int  _arg0 = (int ) 0;
    int  _arg1 = (int ) 0;
    char *_kwnames[] = { "numRows","numCols", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxGridStringTable",_kwnames,&_arg0,&_arg1)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridStringTable *)new_wxGridStringTable(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridStringTable_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define new_wxGridTableMessage(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxGridTableMessage(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_new_wxGridTableMessage(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableMessage * _result;
    wxGridTableBase * _arg0;
    int  _arg1;
    int  _arg2 = (int ) -1;
    int  _arg3 = (int ) -1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "table","id","comInt1","comInt2", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|ii:new_wxGridTableMessage",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxGridTableMessage. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridTableMessage *)new_wxGridTableMessage(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridTableMessage_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define delete_wxGridTableMessage(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxGridTableMessage(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableMessage * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxGridTableMessage",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableMessage_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxGridTableMessage. Expected _wxGridTableMessage_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxGridTableMessage(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableMessage_SetTableObject(_swigobj,_swigarg0)  (_swigobj->SetTableObject(_swigarg0))
static PyObject *_wrap_wxGridTableMessage_SetTableObject(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableMessage * _arg0;
    wxGridTableBase * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","table", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridTableMessage_SetTableObject",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableMessage_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableMessage_SetTableObject. Expected _wxGridTableMessage_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridTableMessage_SetTableObject. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableMessage_SetTableObject(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableMessage_GetTableObject(_swigobj)  (_swigobj->GetTableObject())
static PyObject *_wrap_wxGridTableMessage_GetTableObject(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _result;
    wxGridTableMessage * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridTableMessage_GetTableObject",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableMessage_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableMessage_GetTableObject. Expected _wxGridTableMessage_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridTableBase *)wxGridTableMessage_GetTableObject(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridTableBase(_result); }
    return _resultobj;
}

#define wxGridTableMessage_SetId(_swigobj,_swigarg0)  (_swigobj->SetId(_swigarg0))
static PyObject *_wrap_wxGridTableMessage_SetId(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableMessage * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","id", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridTableMessage_SetId",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableMessage_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableMessage_SetId. Expected _wxGridTableMessage_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableMessage_SetId(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableMessage_GetId(_swigobj)  (_swigobj->GetId())
static PyObject *_wrap_wxGridTableMessage_GetId(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridTableMessage * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridTableMessage_GetId",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableMessage_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableMessage_GetId. Expected _wxGridTableMessage_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridTableMessage_GetId(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableMessage_SetCommandInt(_swigobj,_swigarg0)  (_swigobj->SetCommandInt(_swigarg0))
static PyObject *_wrap_wxGridTableMessage_SetCommandInt(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableMessage * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","comInt1", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridTableMessage_SetCommandInt",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableMessage_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableMessage_SetCommandInt. Expected _wxGridTableMessage_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableMessage_SetCommandInt(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableMessage_GetCommandInt(_swigobj)  (_swigobj->GetCommandInt())
static PyObject *_wrap_wxGridTableMessage_GetCommandInt(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridTableMessage * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridTableMessage_GetCommandInt",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableMessage_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableMessage_GetCommandInt. Expected _wxGridTableMessage_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridTableMessage_GetCommandInt(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridTableMessage_SetCommandInt2(_swigobj,_swigarg0)  (_swigobj->SetCommandInt2(_swigarg0))
static PyObject *_wrap_wxGridTableMessage_SetCommandInt2(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableMessage * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","comInt2", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridTableMessage_SetCommandInt2",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableMessage_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableMessage_SetCommandInt2. Expected _wxGridTableMessage_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridTableMessage_SetCommandInt2(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridTableMessage_GetCommandInt2(_swigobj)  (_swigobj->GetCommandInt2())
static PyObject *_wrap_wxGridTableMessage_GetCommandInt2(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridTableMessage * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridTableMessage_GetCommandInt2",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridTableMessage_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridTableMessage_GetCommandInt2. Expected _wxGridTableMessage_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridTableMessage_GetCommandInt2(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define new_wxGridCellCoords(_swigarg0,_swigarg1) (new wxGridCellCoords(_swigarg0,_swigarg1))
static PyObject *_wrap_new_wxGridCellCoords(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellCoords * _result;
    int  _arg0 = (int ) -1;
    int  _arg1 = (int ) -1;
    char *_kwnames[] = { "r","c", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|ii:new_wxGridCellCoords",_kwnames,&_arg0,&_arg1)) 
        return NULL;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellCoords *)new_wxGridCellCoords(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellCoords_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define delete_wxGridCellCoords(_swigobj) (delete _swigobj)
static PyObject *_wrap_delete_wxGridCellCoords(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellCoords * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxGridCellCoords",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellCoords_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxGridCellCoords. Expected _wxGridCellCoords_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    delete_wxGridCellCoords(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellCoords_GetRow(_swigobj)  (_swigobj->GetRow())
static PyObject *_wrap_wxGridCellCoords_GetRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridCellCoords * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellCoords_GetRow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellCoords_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellCoords_GetRow. Expected _wxGridCellCoords_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridCellCoords_GetRow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellCoords_SetRow(_swigobj,_swigarg0)  (_swigobj->SetRow(_swigarg0))
static PyObject *_wrap_wxGridCellCoords_SetRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellCoords * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","n", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridCellCoords_SetRow",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellCoords_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellCoords_SetRow. Expected _wxGridCellCoords_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellCoords_SetRow(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellCoords_GetCol(_swigobj)  (_swigobj->GetCol())
static PyObject *_wrap_wxGridCellCoords_GetCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridCellCoords * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellCoords_GetCol",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellCoords_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellCoords_GetCol. Expected _wxGridCellCoords_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridCellCoords_GetCol(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridCellCoords_SetCol(_swigobj,_swigarg0)  (_swigobj->SetCol(_swigarg0))
static PyObject *_wrap_wxGridCellCoords_SetCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellCoords * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","n", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridCellCoords_SetCol",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellCoords_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellCoords_SetCol. Expected _wxGridCellCoords_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellCoords_SetCol(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridCellCoords_Set(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Set(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGridCellCoords_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellCoords * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridCellCoords_Set",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellCoords_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellCoords_Set. Expected _wxGridCellCoords_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridCellCoords_Set(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static PyObject * wxGridCellCoords_asTuple(wxGridCellCoords *self) {
            PyObject* tup = PyTuple_New(2);
            PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->GetRow()));
            PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->GetCol()));
            return tup;
        }
static PyObject *_wrap_wxGridCellCoords_asTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    PyObject * _result;
    wxGridCellCoords * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellCoords_asTuple",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellCoords_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellCoords_asTuple. Expected _wxGridCellCoords_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (PyObject *)wxGridCellCoords_asTuple(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
  _resultobj = _result;
}
    return _resultobj;
}

static int  wxGridCellCoords___cmp__(wxGridCellCoords *self,const wxGridCellCoords & other) {
            return *self != other;
        }
static PyObject *_wrap_wxGridCellCoords___cmp__(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridCellCoords * _arg0;
    wxGridCellCoords * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","other", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellCoords___cmp__",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellCoords_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellCoords___cmp__. Expected _wxGridCellCoords_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellCoords_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellCoords___cmp__. Expected _wxGridCellCoords_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridCellCoords___cmp__(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxGridTowxScrolledWindow(void *ptr) {
    wxGrid *src;
    wxScrolledWindow *dest;
    src = (wxGrid *) ptr;
    dest = (wxScrolledWindow *) src;
    return (void *) dest;
}

static void *SwigwxGridTowxPanel(void *ptr) {
    wxGrid *src;
    wxPanel *dest;
    src = (wxGrid *) ptr;
    dest = (wxPanel *) src;
    return (void *) dest;
}

static void *SwigwxGridTowxWindow(void *ptr) {
    wxGrid *src;
    wxWindow *dest;
    src = (wxGrid *) ptr;
    dest = (wxWindow *) src;
    return (void *) dest;
}

static void *SwigwxGridTowxEvtHandler(void *ptr) {
    wxGrid *src;
    wxEvtHandler *dest;
    src = (wxGrid *) ptr;
    dest = (wxEvtHandler *) src;
    return (void *) dest;
}

static void *SwigwxGridTowxObject(void *ptr) {
    wxGrid *src;
    wxObject *dest;
    src = (wxGrid *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxGrid(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (new wxGrid(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
static PyObject *_wrap_new_wxGrid(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _result;
    wxWindow * _arg0;
    wxWindowID  _arg1;
    wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition;
    wxSize * _arg3 = (wxSize *) &wxDefaultSize;
    long  _arg4 = (long ) wxWANTS_CHARS;
    wxString * _arg5 = (wxString *) &wxPyPanelNameStr;
    PyObject * _argo0 = 0;
    wxPoint  temp;
    PyObject * _obj2 = 0;
    wxSize  temp0;
    PyObject * _obj3 = 0;
    PyObject * _obj5 = 0;
    char *_kwnames[] = { "parent","id","pos","size","style","name", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|OOlO:new_wxGrid",_kwnames,&_argo0,&_arg1,&_obj2,&_obj3,&_arg4,&_obj5)) 
        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_wxGrid. Expected _wxWindow_p.");
        return NULL;
        }
    }
    if (_obj2)
{
    _arg2 = &temp;
    if (! wxPoint_helper(_obj2, &_arg2))
        return NULL;
}
    if (_obj3)
{
    _arg3 = &temp0;
    if (! wxSize_helper(_obj3, &_arg3))
        return NULL;
}
    if (_obj5)
{
    _arg5 = wxString_in_helper(_obj5);
    if (_arg5 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGrid *)new_wxGrid(_arg0,_arg1,*_arg2,*_arg3,_arg4,*_arg5);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGrid_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
{
    if (_obj5)
        delete _arg5;
}
    return _resultobj;
}

#define wxGrid_CreateGrid(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->CreateGrid(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_CreateGrid(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    WXGRIDSELECTIONMODES  _arg3 = (WXGRIDSELECTIONMODES ) wxGrid::wxGridSelectCells;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","numRows","numCols","selmode", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii|i:wxGrid_CreateGrid",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_CreateGrid. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_CreateGrid(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_SetSelectionMode(_swigobj,_swigarg0)  (_swigobj->SetSelectionMode(_swigarg0))
static PyObject *_wrap_wxGrid_SetSelectionMode(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    WXGRIDSELECTIONMODES  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","selmode", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetSelectionMode",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetSelectionMode. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetSelectionMode(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_GetSelectionMode(_swigobj)  (_swigobj->GetSelectionMode())
static PyObject *_wrap_wxGrid_GetSelectionMode(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    WXGRIDSELECTIONMODES  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetSelectionMode",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetSelectionMode. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (WXGRIDSELECTIONMODES )wxGrid_GetSelectionMode(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetNumberRows(_swigobj)  (_swigobj->GetNumberRows())
static PyObject *_wrap_wxGrid_GetNumberRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetNumberRows",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetNumberRows. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetNumberRows(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetNumberCols(_swigobj)  (_swigobj->GetNumberCols())
static PyObject *_wrap_wxGrid_GetNumberCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetNumberCols",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetNumberCols. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetNumberCols(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_ProcessTableMessage(_swigobj,_swigarg0)  (_swigobj->ProcessTableMessage(_swigarg0))
static PyObject *_wrap_wxGrid_ProcessTableMessage(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    wxGridTableMessage * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","arg2", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_ProcessTableMessage",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_ProcessTableMessage. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridTableMessage_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGrid_ProcessTableMessage. Expected _wxGridTableMessage_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_ProcessTableMessage(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetTable(_swigobj)  (_swigobj->GetTable())
static PyObject *_wrap_wxGrid_GetTable(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridTableBase * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetTable",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetTable. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridTableBase *)wxGrid_GetTable(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridTableBase(_result); }
    return _resultobj;
}

#define wxGrid_SetTable(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetTable(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_SetTable(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    wxGridTableBase * _arg1;
    bool  _arg2 = (bool ) FALSE;
    WXGRIDSELECTIONMODES  _arg3 = (WXGRIDSELECTIONMODES ) wxGrid::wxGridSelectCells;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    int tempbool2 = (int) FALSE;
    char *_kwnames[] = { "self","table","takeOwnership","selmode", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|ii:wxGrid_SetTable",_kwnames,&_argo0,&_argo1,&tempbool2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetTable. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridTableBase_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGrid_SetTable. Expected _wxGridTableBase_p.");
        return NULL;
        }
    }
    _arg2 = (bool ) tempbool2;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_SetTable(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_ClearGrid(_swigobj)  (_swigobj->ClearGrid())
static PyObject *_wrap_wxGrid_ClearGrid(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_ClearGrid",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_ClearGrid. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_ClearGrid(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_InsertRows(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->InsertRows(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_InsertRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    int  _arg1 = (int ) 0;
    int  _arg2 = (int ) 1;
    bool  _arg3 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool3 = (int) TRUE;
    char *_kwnames[] = { "self","pos","numRows","updateLabels", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iii:wxGrid_InsertRows",_kwnames,&_argo0,&_arg1,&_arg2,&tempbool3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_InsertRows. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg3 = (bool ) tempbool3;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_InsertRows(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_AppendRows(_swigobj,_swigarg0,_swigarg1)  (_swigobj->AppendRows(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_AppendRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    int  _arg1 = (int ) 1;
    bool  _arg2 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool2 = (int) TRUE;
    char *_kwnames[] = { "self","numRows","updateLabels", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:wxGrid_AppendRows",_kwnames,&_argo0,&_arg1,&tempbool2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_AppendRows. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg2 = (bool ) tempbool2;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_AppendRows(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_DeleteRows(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->DeleteRows(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_DeleteRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    int  _arg1 = (int ) 0;
    int  _arg2 = (int ) 1;
    bool  _arg3 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool3 = (int) TRUE;
    char *_kwnames[] = { "self","pos","numRows","updateLabels", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iii:wxGrid_DeleteRows",_kwnames,&_argo0,&_arg1,&_arg2,&tempbool3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_DeleteRows. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg3 = (bool ) tempbool3;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_DeleteRows(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_InsertCols(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->InsertCols(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_InsertCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    int  _arg1 = (int ) 0;
    int  _arg2 = (int ) 1;
    bool  _arg3 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool3 = (int) TRUE;
    char *_kwnames[] = { "self","pos","numCols","updateLabels", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iii:wxGrid_InsertCols",_kwnames,&_argo0,&_arg1,&_arg2,&tempbool3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_InsertCols. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg3 = (bool ) tempbool3;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_InsertCols(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_AppendCols(_swigobj,_swigarg0,_swigarg1)  (_swigobj->AppendCols(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_AppendCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    int  _arg1 = (int ) 1;
    bool  _arg2 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool2 = (int) TRUE;
    char *_kwnames[] = { "self","numCols","updateLabels", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|ii:wxGrid_AppendCols",_kwnames,&_argo0,&_arg1,&tempbool2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_AppendCols. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg2 = (bool ) tempbool2;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_AppendCols(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_DeleteCols(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->DeleteCols(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_DeleteCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    int  _arg1 = (int ) 0;
    int  _arg2 = (int ) 1;
    bool  _arg3 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool3 = (int) TRUE;
    char *_kwnames[] = { "self","pos","numCols","updateLabels", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iii:wxGrid_DeleteCols",_kwnames,&_argo0,&_arg1,&_arg2,&tempbool3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_DeleteCols. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg3 = (bool ) tempbool3;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_DeleteCols(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_DrawCellHighlight(_swigobj,_swigarg0,_swigarg1)  (_swigobj->DrawCellHighlight(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_DrawCellHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxDC * _arg1;
    wxGridCellAttr * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    PyObject * _argo2 = 0;
    char *_kwnames[] = { "self","dc","attr", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxGrid_DrawCellHighlight",_kwnames,&_argo0,&_argo1,&_argo2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_DrawCellHighlight. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGrid_DrawCellHighlight. Expected _wxDC_p.");
        return NULL;
        }
    }
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGrid_DrawCellHighlight. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_DrawCellHighlight(_arg0,*_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_DrawTextRectangle(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->DrawTextRectangle(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
static PyObject *_wrap_wxGrid_DrawTextRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxDC * _arg1;
    wxString * _arg2;
    wxRect * _arg3;
    int  _arg4 = (int ) wxLEFT;
    int  _arg5 = (int ) wxTOP;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    PyObject * _obj2 = 0;
    wxRect  temp;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","dc","arg3","arg4","horizontalAlignment","verticalAlignment", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO|ii:wxGrid_DrawTextRectangle",_kwnames,&_argo0,&_argo1,&_obj2,&_obj3,&_arg4,&_arg5)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_DrawTextRectangle. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGrid_DrawTextRectangle. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    _arg2 = wxString_in_helper(_obj2);
    if (_arg2 == NULL)
        return NULL;
}
{
    _arg3 = &temp;
    if (! wxRect_helper(_obj3, &_arg3))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_DrawTextRectangle(_arg0,*_arg1,*_arg2,*_arg3,_arg4,_arg5);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj2)
        delete _arg2;
}
    return _resultobj;
}

#define wxGrid_GetTextBoxSize(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->GetTextBoxSize(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxGrid_GetTextBoxSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxDC * _arg1;
    wxArrayString * _arg2;
    long * _arg3;
    long  temp;
    long * _arg4;
    long  temp0;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","dc","lines", NULL };

    self = self;
{
  _arg3 = &temp;
}
{
  _arg4 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxGrid_GetTextBoxSize",_kwnames,&_argo0,&_argo1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetTextBoxSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxDC_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGrid_GetTextBoxSize. Expected _wxDC_p.");
        return NULL;
        }
    }
{
    if (! PySequence_Check(_obj2)) {
        PyErr_SetString(PyExc_TypeError, "Sequence of strings expected.");
        return NULL;
    }
    _arg2 = new wxArrayString;
    int i, len=PySequence_Length(_obj2);
    for (i=0; i<len; i++) {
        PyObject* item = PySequence_GetItem(_obj2, i);
#if wxUSE_UNICODE
        PyObject* str  = PyObject_Unicode(item);
#else
        PyObject* str  = PyObject_Str(item);
#endif
        _arg2->Add(Py2wxString(str));
        Py_DECREF(item);
        Py_DECREF(str);
    }
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_GetTextBoxSize(_arg0,*_arg1,*_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg3));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg4));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    if (_obj2)
        delete _arg2;
}
    return _resultobj;
}

#define wxGrid_BeginBatch(_swigobj)  (_swigobj->BeginBatch())
static PyObject *_wrap_wxGrid_BeginBatch(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_BeginBatch",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_BeginBatch. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_BeginBatch(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_EndBatch(_swigobj)  (_swigobj->EndBatch())
static PyObject *_wrap_wxGrid_EndBatch(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_EndBatch",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_EndBatch. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_EndBatch(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_GetBatchCount(_swigobj)  (_swigobj->GetBatchCount())
static PyObject *_wrap_wxGrid_GetBatchCount(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetBatchCount",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetBatchCount. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetBatchCount(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_ForceRefresh(_swigobj)  (_swigobj->ForceRefresh())
static PyObject *_wrap_wxGrid_ForceRefresh(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_ForceRefresh",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_ForceRefresh. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_ForceRefresh(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_Refresh(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Refresh(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_Refresh(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    bool  _arg1 = (bool ) TRUE;
    wxRect * _arg2 = (wxRect *) NULL;
    PyObject * _argo0 = 0;
    int tempbool1 = (int) TRUE;
    wxRect  temp;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","eraseb","rect", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iO:wxGrid_Refresh",_kwnames,&_argo0,&tempbool1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_Refresh. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
    if (_obj2)
{
    _arg2 = &temp;
    if (! wxRect_helper(_obj2, &_arg2))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_Refresh(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_IsEditable(_swigobj)  (_swigobj->IsEditable())
static PyObject *_wrap_wxGrid_IsEditable(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_IsEditable",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_IsEditable. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_IsEditable(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_EnableEditing(_swigobj,_swigarg0)  (_swigobj->EnableEditing(_swigarg0))
static PyObject *_wrap_wxGrid_EnableEditing(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","edit", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_EnableEditing",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_EnableEditing. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_EnableEditing(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_EnableCellEditControl(_swigobj,_swigarg0)  (_swigobj->EnableCellEditControl(_swigarg0))
static PyObject *_wrap_wxGrid_EnableCellEditControl(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    bool  _arg1 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool1 = (int) TRUE;
    char *_kwnames[] = { "self","enable", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxGrid_EnableCellEditControl",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_EnableCellEditControl. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_EnableCellEditControl(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_DisableCellEditControl(_swigobj)  (_swigobj->DisableCellEditControl())
static PyObject *_wrap_wxGrid_DisableCellEditControl(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_DisableCellEditControl",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_DisableCellEditControl. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_DisableCellEditControl(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_CanEnableCellControl(_swigobj)  (_swigobj->CanEnableCellControl())
static PyObject *_wrap_wxGrid_CanEnableCellControl(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_CanEnableCellControl",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_CanEnableCellControl. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_CanEnableCellControl(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_IsCellEditControlEnabled(_swigobj)  (_swigobj->IsCellEditControlEnabled())
static PyObject *_wrap_wxGrid_IsCellEditControlEnabled(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_IsCellEditControlEnabled",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_IsCellEditControlEnabled. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_IsCellEditControlEnabled(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_IsCellEditControlShown(_swigobj)  (_swigobj->IsCellEditControlShown())
static PyObject *_wrap_wxGrid_IsCellEditControlShown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_IsCellEditControlShown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_IsCellEditControlShown. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_IsCellEditControlShown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_IsCurrentCellReadOnly(_swigobj)  (_swigobj->IsCurrentCellReadOnly())
static PyObject *_wrap_wxGrid_IsCurrentCellReadOnly(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_IsCurrentCellReadOnly",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_IsCurrentCellReadOnly. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_IsCurrentCellReadOnly(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_ShowCellEditControl(_swigobj)  (_swigobj->ShowCellEditControl())
static PyObject *_wrap_wxGrid_ShowCellEditControl(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_ShowCellEditControl",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_ShowCellEditControl. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_ShowCellEditControl(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_HideCellEditControl(_swigobj)  (_swigobj->HideCellEditControl())
static PyObject *_wrap_wxGrid_HideCellEditControl(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_HideCellEditControl",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_HideCellEditControl. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_HideCellEditControl(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SaveEditControlValue(_swigobj)  (_swigobj->SaveEditControlValue())
static PyObject *_wrap_wxGrid_SaveEditControlValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_SaveEditControlValue",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SaveEditControlValue. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SaveEditControlValue(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static wxGridCellCoords * wxGrid_XYToCell(wxGrid *self,int  x,int  y) {
            wxGridCellCoords rv;
            self->XYToCell(x, y, rv);
            return new wxGridCellCoords(rv);
        }
static PyObject *_wrap_wxGrid_XYToCell(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellCoords * _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x","y", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_XYToCell",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_XYToCell. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellCoords *)wxGrid_XYToCell(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCellCoords_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxGrid_YToRow(_swigobj,_swigarg0)  (_swigobj->YToRow(_swigarg0))
static PyObject *_wrap_wxGrid_YToRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_YToRow",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_YToRow. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_YToRow(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_XToCol(_swigobj,_swigarg0)  (_swigobj->XToCol(_swigarg0))
static PyObject *_wrap_wxGrid_XToCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_XToCol",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_XToCol. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_XToCol(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_YToEdgeOfRow(_swigobj,_swigarg0)  (_swigobj->YToEdgeOfRow(_swigarg0))
static PyObject *_wrap_wxGrid_YToEdgeOfRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","y", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_YToEdgeOfRow",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_YToEdgeOfRow. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_YToEdgeOfRow(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_XToEdgeOfCol(_swigobj,_swigarg0)  (_swigobj->XToEdgeOfCol(_swigarg0))
static PyObject *_wrap_wxGrid_XToEdgeOfCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","x", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_XToEdgeOfCol",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_XToEdgeOfCol. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_XToEdgeOfCol(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_CellToRect(_swigobj,_swigarg0,_swigarg1)  (_swigobj->CellToRect(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_CellToRect(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRect * _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_CellToRect",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_CellToRect. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxRect (wxGrid_CellToRect(_arg0,_arg1,_arg2));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxRect_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetGridCursorRow(_swigobj)  (_swigobj->GetGridCursorRow())
static PyObject *_wrap_wxGrid_GetGridCursorRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetGridCursorRow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetGridCursorRow. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetGridCursorRow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetGridCursorCol(_swigobj)  (_swigobj->GetGridCursorCol())
static PyObject *_wrap_wxGrid_GetGridCursorCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetGridCursorCol",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetGridCursorCol. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetGridCursorCol(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_IsVisible(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->IsVisible(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_IsVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    bool  _arg3 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool3 = (int) TRUE;
    char *_kwnames[] = { "self","row","col","wholeCellVisible", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii|i:wxGrid_IsVisible",_kwnames,&_argo0,&_arg1,&_arg2,&tempbool3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_IsVisible. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg3 = (bool ) tempbool3;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_IsVisible(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_MakeCellVisible(_swigobj,_swigarg0,_swigarg1)  (_swigobj->MakeCellVisible(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_MakeCellVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_MakeCellVisible",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_MakeCellVisible. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_MakeCellVisible(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetGridCursor(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetGridCursor(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetGridCursor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_SetGridCursor",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetGridCursor. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetGridCursor(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_MoveCursorUp(_swigobj,_swigarg0)  (_swigobj->MoveCursorUp(_swigarg0))
static PyObject *_wrap_wxGrid_MoveCursorUp(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","expandSelection", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_MoveCursorUp",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_MoveCursorUp. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_MoveCursorUp(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_MoveCursorDown(_swigobj,_swigarg0)  (_swigobj->MoveCursorDown(_swigarg0))
static PyObject *_wrap_wxGrid_MoveCursorDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","expandSelection", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_MoveCursorDown",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_MoveCursorDown. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_MoveCursorDown(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_MoveCursorLeft(_swigobj,_swigarg0)  (_swigobj->MoveCursorLeft(_swigarg0))
static PyObject *_wrap_wxGrid_MoveCursorLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","expandSelection", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_MoveCursorLeft",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_MoveCursorLeft. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_MoveCursorLeft(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_MoveCursorRight(_swigobj,_swigarg0)  (_swigobj->MoveCursorRight(_swigarg0))
static PyObject *_wrap_wxGrid_MoveCursorRight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","expandSelection", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_MoveCursorRight",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_MoveCursorRight. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_MoveCursorRight(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_MovePageDown(_swigobj)  (_swigobj->MovePageDown())
static PyObject *_wrap_wxGrid_MovePageDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_MovePageDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_MovePageDown. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_MovePageDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_MovePageUp(_swigobj)  (_swigobj->MovePageUp())
static PyObject *_wrap_wxGrid_MovePageUp(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_MovePageUp",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_MovePageUp. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_MovePageUp(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_MoveCursorUpBlock(_swigobj,_swigarg0)  (_swigobj->MoveCursorUpBlock(_swigarg0))
static PyObject *_wrap_wxGrid_MoveCursorUpBlock(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","expandSelection", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_MoveCursorUpBlock",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_MoveCursorUpBlock. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_MoveCursorUpBlock(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_MoveCursorDownBlock(_swigobj,_swigarg0)  (_swigobj->MoveCursorDownBlock(_swigarg0))
static PyObject *_wrap_wxGrid_MoveCursorDownBlock(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","expandSelection", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_MoveCursorDownBlock",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_MoveCursorDownBlock. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_MoveCursorDownBlock(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_MoveCursorLeftBlock(_swigobj,_swigarg0)  (_swigobj->MoveCursorLeftBlock(_swigarg0))
static PyObject *_wrap_wxGrid_MoveCursorLeftBlock(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","expandSelection", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_MoveCursorLeftBlock",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_MoveCursorLeftBlock. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_MoveCursorLeftBlock(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_MoveCursorRightBlock(_swigobj,_swigarg0)  (_swigobj->MoveCursorRightBlock(_swigarg0))
static PyObject *_wrap_wxGrid_MoveCursorRightBlock(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","expandSelection", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_MoveCursorRightBlock",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_MoveCursorRightBlock. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_MoveCursorRightBlock(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetDefaultRowLabelSize(_swigobj)  (_swigobj->GetDefaultRowLabelSize())
static PyObject *_wrap_wxGrid_GetDefaultRowLabelSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultRowLabelSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultRowLabelSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetDefaultRowLabelSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetRowLabelSize(_swigobj)  (_swigobj->GetRowLabelSize())
static PyObject *_wrap_wxGrid_GetRowLabelSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetRowLabelSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetRowLabelSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetRowLabelSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetDefaultColLabelSize(_swigobj)  (_swigobj->GetDefaultColLabelSize())
static PyObject *_wrap_wxGrid_GetDefaultColLabelSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultColLabelSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultColLabelSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetDefaultColLabelSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetColLabelSize(_swigobj)  (_swigobj->GetColLabelSize())
static PyObject *_wrap_wxGrid_GetColLabelSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetColLabelSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetColLabelSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetColLabelSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetLabelBackgroundColour(_swigobj)  (_swigobj->GetLabelBackgroundColour())
static PyObject *_wrap_wxGrid_GetLabelBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetLabelBackgroundColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetLabelBackgroundColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGrid_GetLabelBackgroundColour(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetLabelTextColour(_swigobj)  (_swigobj->GetLabelTextColour())
static PyObject *_wrap_wxGrid_GetLabelTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetLabelTextColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetLabelTextColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGrid_GetLabelTextColour(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetLabelFont(_swigobj)  (_swigobj->GetLabelFont())
static PyObject *_wrap_wxGrid_GetLabelFont(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxFont * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetLabelFont",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetLabelFont. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxFont (wxGrid_GetLabelFont(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxFont_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetRowLabelAlignment(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetRowLabelAlignment(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetRowLabelAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int * _arg1;
    int  temp;
    int * _arg2;
    int  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetRowLabelAlignment",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetRowLabelAlignment. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_GetRowLabelAlignment(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg1));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg2));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxGrid_GetColLabelAlignment(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetColLabelAlignment(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetColLabelAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int * _arg1;
    int  temp;
    int * _arg2;
    int  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetColLabelAlignment",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetColLabelAlignment. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_GetColLabelAlignment(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg1));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg2));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxGrid_GetRowLabelValue(_swigobj,_swigarg0)  (_swigobj->GetRowLabelValue(_swigarg0))
static PyObject *_wrap_wxGrid_GetRowLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxString * _result;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_GetRowLabelValue",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetRowLabelValue. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxString (wxGrid_GetRowLabelValue(_arg0,_arg1));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
#if wxUSE_UNICODE
    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
#else
    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
#endif
}
{
    delete _result;
}
    return _resultobj;
}

#define wxGrid_GetColLabelValue(_swigobj,_swigarg0)  (_swigobj->GetColLabelValue(_swigarg0))
static PyObject *_wrap_wxGrid_GetColLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxString * _result;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_GetColLabelValue",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetColLabelValue. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxString (wxGrid_GetColLabelValue(_arg0,_arg1));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
#if wxUSE_UNICODE
    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
#else
    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
#endif
}
{
    delete _result;
}
    return _resultobj;
}

#define wxGrid_GetGridLineColour(_swigobj)  (_swigobj->GetGridLineColour())
static PyObject *_wrap_wxGrid_GetGridLineColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetGridLineColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetGridLineColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGrid_GetGridLineColour(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetCellHighlightColour(_swigobj)  (_swigobj->GetCellHighlightColour())
static PyObject *_wrap_wxGrid_GetCellHighlightColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetCellHighlightColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellHighlightColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGrid_GetCellHighlightColour(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetCellHighlightPenWidth(_swigobj)  (_swigobj->GetCellHighlightPenWidth())
static PyObject *_wrap_wxGrid_GetCellHighlightPenWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetCellHighlightPenWidth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellHighlightPenWidth. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetCellHighlightPenWidth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetCellHighlightROPenWidth(_swigobj)  (_swigobj->GetCellHighlightROPenWidth())
static PyObject *_wrap_wxGrid_GetCellHighlightROPenWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetCellHighlightROPenWidth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellHighlightROPenWidth. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetCellHighlightROPenWidth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_SetRowLabelSize(_swigobj,_swigarg0)  (_swigobj->SetRowLabelSize(_swigarg0))
static PyObject *_wrap_wxGrid_SetRowLabelSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","width", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetRowLabelSize",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetRowLabelSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetRowLabelSize(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetColLabelSize(_swigobj,_swigarg0)  (_swigobj->SetColLabelSize(_swigarg0))
static PyObject *_wrap_wxGrid_SetColLabelSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","height", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetColLabelSize",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColLabelSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetColLabelSize(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetLabelBackgroundColour(_swigobj,_swigarg0)  (_swigobj->SetLabelBackgroundColour(_swigarg0))
static PyObject *_wrap_wxGrid_SetLabelBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","arg2", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetLabelBackgroundColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetLabelBackgroundColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetLabelBackgroundColour(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetLabelTextColour(_swigobj,_swigarg0)  (_swigobj->SetLabelTextColour(_swigarg0))
static PyObject *_wrap_wxGrid_SetLabelTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","arg2", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetLabelTextColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetLabelTextColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetLabelTextColour(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetLabelFont(_swigobj,_swigarg0)  (_swigobj->SetLabelFont(_swigarg0))
static PyObject *_wrap_wxGrid_SetLabelFont(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxFont * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","arg2", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetLabelFont",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetLabelFont. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFont_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGrid_SetLabelFont. Expected _wxFont_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetLabelFont(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetRowLabelAlignment(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetRowLabelAlignment(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetRowLabelAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","horiz","vert", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_SetRowLabelAlignment",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetRowLabelAlignment. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetRowLabelAlignment(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetColLabelAlignment(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetColLabelAlignment(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetColLabelAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","horiz","vert", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_SetColLabelAlignment",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColLabelAlignment. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetColLabelAlignment(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetRowLabelValue(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetRowLabelValue(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetRowLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    wxString * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","row","arg3", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxGrid_SetRowLabelValue",_kwnames,&_argo0,&_arg1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetRowLabelValue. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg2 = wxString_in_helper(_obj2);
    if (_arg2 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetRowLabelValue(_arg0,_arg1,*_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj2)
        delete _arg2;
}
    return _resultobj;
}

#define wxGrid_SetColLabelValue(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetColLabelValue(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetColLabelValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    wxString * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","col","arg3", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxGrid_SetColLabelValue",_kwnames,&_argo0,&_arg1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColLabelValue. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg2 = wxString_in_helper(_obj2);
    if (_arg2 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetColLabelValue(_arg0,_arg1,*_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj2)
        delete _arg2;
}
    return _resultobj;
}

#define wxGrid_SetGridLineColour(_swigobj,_swigarg0)  (_swigobj->SetGridLineColour(_swigarg0))
static PyObject *_wrap_wxGrid_SetGridLineColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","arg2", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetGridLineColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetGridLineColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetGridLineColour(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetCellHighlightColour(_swigobj,_swigarg0)  (_swigobj->SetCellHighlightColour(_swigarg0))
static PyObject *_wrap_wxGrid_SetCellHighlightColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","arg2", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetCellHighlightColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellHighlightColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellHighlightColour(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetCellHighlightPenWidth(_swigobj,_swigarg0)  (_swigobj->SetCellHighlightPenWidth(_swigarg0))
static PyObject *_wrap_wxGrid_SetCellHighlightPenWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","width", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetCellHighlightPenWidth",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellHighlightPenWidth. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellHighlightPenWidth(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetCellHighlightROPenWidth(_swigobj,_swigarg0)  (_swigobj->SetCellHighlightROPenWidth(_swigarg0))
static PyObject *_wrap_wxGrid_SetCellHighlightROPenWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","width", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetCellHighlightROPenWidth",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellHighlightROPenWidth. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellHighlightROPenWidth(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_EnableDragRowSize(_swigobj,_swigarg0)  (_swigobj->EnableDragRowSize(_swigarg0))
static PyObject *_wrap_wxGrid_EnableDragRowSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    bool  _arg1 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool1 = (int) TRUE;
    char *_kwnames[] = { "self","enable", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxGrid_EnableDragRowSize",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_EnableDragRowSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_EnableDragRowSize(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_DisableDragRowSize(_swigobj)  (_swigobj->DisableDragRowSize())
static PyObject *_wrap_wxGrid_DisableDragRowSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_DisableDragRowSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_DisableDragRowSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_DisableDragRowSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_CanDragRowSize(_swigobj)  (_swigobj->CanDragRowSize())
static PyObject *_wrap_wxGrid_CanDragRowSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_CanDragRowSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_CanDragRowSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_CanDragRowSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_EnableDragColSize(_swigobj,_swigarg0)  (_swigobj->EnableDragColSize(_swigarg0))
static PyObject *_wrap_wxGrid_EnableDragColSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    bool  _arg1 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool1 = (int) TRUE;
    char *_kwnames[] = { "self","enable", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxGrid_EnableDragColSize",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_EnableDragColSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_EnableDragColSize(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_DisableDragColSize(_swigobj)  (_swigobj->DisableDragColSize())
static PyObject *_wrap_wxGrid_DisableDragColSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_DisableDragColSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_DisableDragColSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_DisableDragColSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_CanDragColSize(_swigobj)  (_swigobj->CanDragColSize())
static PyObject *_wrap_wxGrid_CanDragColSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_CanDragColSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_CanDragColSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_CanDragColSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_EnableDragGridSize(_swigobj,_swigarg0)  (_swigobj->EnableDragGridSize(_swigarg0))
static PyObject *_wrap_wxGrid_EnableDragGridSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    bool  _arg1 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool1 = (int) TRUE;
    char *_kwnames[] = { "self","enable", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxGrid_EnableDragGridSize",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_EnableDragGridSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_EnableDragGridSize(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_DisableDragGridSize(_swigobj)  (_swigobj->DisableDragGridSize())
static PyObject *_wrap_wxGrid_DisableDragGridSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_DisableDragGridSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_DisableDragGridSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_DisableDragGridSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_CanDragGridSize(_swigobj)  (_swigobj->CanDragGridSize())
static PyObject *_wrap_wxGrid_CanDragGridSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_CanDragGridSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_CanDragGridSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_CanDragGridSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_SetAttr(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetAttr(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_SetAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    wxGridCellAttr * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo3 = 0;
    char *_kwnames[] = { "self","row","col","attr", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGrid_SetAttr",_kwnames,&_argo0,&_arg1,&_arg2,&_argo3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetAttr. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo3) {
        if (_argo3 == Py_None) { _arg3 = NULL; }
        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGrid_SetAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetAttr(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetRowAttr(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetRowAttr(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetRowAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    wxGridCellAttr * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo2 = 0;
    char *_kwnames[] = { "self","row","attr", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxGrid_SetRowAttr",_kwnames,&_argo0,&_arg1,&_argo2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetRowAttr. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGrid_SetRowAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetRowAttr(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetColAttr(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetColAttr(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetColAttr(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    wxGridCellAttr * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _argo2 = 0;
    char *_kwnames[] = { "self","col","attr", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxGrid_SetColAttr",_kwnames,&_argo0,&_arg1,&_argo2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColAttr. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGridCellAttr_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGrid_SetColAttr. Expected _wxGridCellAttr_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetColAttr(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetColFormatBool(_swigobj,_swigarg0)  (_swigobj->SetColFormatBool(_swigarg0))
static PyObject *_wrap_wxGrid_SetColFormatBool(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetColFormatBool",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColFormatBool. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetColFormatBool(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetColFormatNumber(_swigobj,_swigarg0)  (_swigobj->SetColFormatNumber(_swigarg0))
static PyObject *_wrap_wxGrid_SetColFormatNumber(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetColFormatNumber",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColFormatNumber. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetColFormatNumber(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetColFormatFloat(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetColFormatFloat(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_SetColFormatFloat(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2 = (int ) -1;
    int  _arg3 = (int ) -1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","col","width","precision", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|ii:wxGrid_SetColFormatFloat",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColFormatFloat. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetColFormatFloat(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetColFormatCustom(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetColFormatCustom(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetColFormatCustom(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    wxString * _arg2;
    PyObject * _argo0 = 0;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","col","typeName", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxGrid_SetColFormatCustom",_kwnames,&_argo0,&_arg1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColFormatCustom. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg2 = wxString_in_helper(_obj2);
    if (_arg2 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetColFormatCustom(_arg0,_arg1,*_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj2)
        delete _arg2;
}
    return _resultobj;
}

#define wxGrid_EnableGridLines(_swigobj,_swigarg0)  (_swigobj->EnableGridLines(_swigarg0))
static PyObject *_wrap_wxGrid_EnableGridLines(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    bool  _arg1 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool1 = (int) TRUE;
    char *_kwnames[] = { "self","enable", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxGrid_EnableGridLines",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_EnableGridLines. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_EnableGridLines(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_GridLinesEnabled(_swigobj)  (_swigobj->GridLinesEnabled())
static PyObject *_wrap_wxGrid_GridLinesEnabled(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GridLinesEnabled",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GridLinesEnabled. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_GridLinesEnabled(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetDefaultRowSize(_swigobj)  (_swigobj->GetDefaultRowSize())
static PyObject *_wrap_wxGrid_GetDefaultRowSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultRowSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultRowSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetDefaultRowSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetRowSize(_swigobj,_swigarg0)  (_swigobj->GetRowSize(_swigarg0))
static PyObject *_wrap_wxGrid_GetRowSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_GetRowSize",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetRowSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetRowSize(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetDefaultColSize(_swigobj)  (_swigobj->GetDefaultColSize())
static PyObject *_wrap_wxGrid_GetDefaultColSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultColSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultColSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetDefaultColSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetColSize(_swigobj,_swigarg0)  (_swigobj->GetColSize(_swigarg0))
static PyObject *_wrap_wxGrid_GetColSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_GetColSize",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetColSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetColSize(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetDefaultCellBackgroundColour(_swigobj)  (_swigobj->GetDefaultCellBackgroundColour())
static PyObject *_wrap_wxGrid_GetDefaultCellBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultCellBackgroundColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultCellBackgroundColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGrid_GetDefaultCellBackgroundColour(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetCellBackgroundColour(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetCellBackgroundColour(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetCellBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellBackgroundColour",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellBackgroundColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGrid_GetCellBackgroundColour(_arg0,_arg1,_arg2));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetDefaultCellTextColour(_swigobj)  (_swigobj->GetDefaultCellTextColour())
static PyObject *_wrap_wxGrid_GetDefaultCellTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultCellTextColour",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultCellTextColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGrid_GetDefaultCellTextColour(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetCellTextColour(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetCellTextColour(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetCellTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellTextColour",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellTextColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGrid_GetCellTextColour(_arg0,_arg1,_arg2));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetDefaultCellFont(_swigobj)  (_swigobj->GetDefaultCellFont())
static PyObject *_wrap_wxGrid_GetDefaultCellFont(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxFont * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultCellFont",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultCellFont. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxFont (wxGrid_GetDefaultCellFont(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxFont_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetCellFont(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetCellFont(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetCellFont(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxFont * _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellFont",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellFont. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxFont (wxGrid_GetCellFont(_arg0,_arg1,_arg2));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxFont_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetDefaultCellAlignment(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetDefaultCellAlignment(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetDefaultCellAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int * _arg1;
    int  temp;
    int * _arg2;
    int  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
{
  _arg1 = &temp;
}
{
  _arg2 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultCellAlignment",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultCellAlignment. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_GetDefaultCellAlignment(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg1));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg2));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxGrid_GetCellAlignment(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->GetCellAlignment(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxGrid_GetCellAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    int * _arg3;
    int  temp;
    int * _arg4;
    int  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
{
  _arg3 = &temp;
}
{
  _arg4 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellAlignment",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellAlignment. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_GetCellAlignment(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg3));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg4));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxGrid_GetDefaultCellOverflow(_swigobj)  (_swigobj->GetDefaultCellOverflow())
static PyObject *_wrap_wxGrid_GetDefaultCellOverflow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultCellOverflow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultCellOverflow. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_GetDefaultCellOverflow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetCellOverflow(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetCellOverflow(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetCellOverflow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellOverflow",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellOverflow. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_GetCellOverflow(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetCellSize(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->GetCellSize(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxGrid_GetCellSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    int * _arg3;
    int  temp;
    int * _arg4;
    int  temp0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
{
  _arg3 = &temp;
}
{
  _arg4 = &temp0;
}
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_GetCellSize(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg3));
    _resultobj = t_output_helper(_resultobj, o);
}
{
    PyObject *o;
    o = PyInt_FromLong((long) (*_arg4));
    _resultobj = t_output_helper(_resultobj, o);
}
    return _resultobj;
}

#define wxGrid_SetDefaultRowSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetDefaultRowSize(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetDefaultRowSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    bool  _arg2 = (bool ) FALSE;
    PyObject * _argo0 = 0;
    int tempbool2 = (int) FALSE;
    char *_kwnames[] = { "self","height","resizeExistingRows", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|i:wxGrid_SetDefaultRowSize",_kwnames,&_argo0,&_arg1,&tempbool2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetDefaultRowSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg2 = (bool ) tempbool2;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetDefaultRowSize(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetRowSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetRowSize(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetRowSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","height", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_SetRowSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetRowSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetRowSize(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetDefaultColSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetDefaultColSize(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetDefaultColSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    bool  _arg2 = (bool ) FALSE;
    PyObject * _argo0 = 0;
    int tempbool2 = (int) FALSE;
    char *_kwnames[] = { "self","width","resizeExistingCols", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|i:wxGrid_SetDefaultColSize",_kwnames,&_argo0,&_arg1,&tempbool2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetDefaultColSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg2 = (bool ) tempbool2;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetDefaultColSize(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetColSize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetColSize(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetColSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","col","width", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_SetColSize",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetColSize(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_AutoSizeColumn(_swigobj,_swigarg0,_swigarg1)  (_swigobj->AutoSizeColumn(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_AutoSizeColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    bool  _arg2 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool2 = (int) TRUE;
    char *_kwnames[] = { "self","col","setAsMin", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|i:wxGrid_AutoSizeColumn",_kwnames,&_argo0,&_arg1,&tempbool2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_AutoSizeColumn. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg2 = (bool ) tempbool2;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_AutoSizeColumn(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_AutoSizeRow(_swigobj,_swigarg0,_swigarg1)  (_swigobj->AutoSizeRow(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_AutoSizeRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    bool  _arg2 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool2 = (int) TRUE;
    char *_kwnames[] = { "self","row","setAsMin", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|i:wxGrid_AutoSizeRow",_kwnames,&_argo0,&_arg1,&tempbool2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_AutoSizeRow. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg2 = (bool ) tempbool2;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_AutoSizeRow(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_AutoSizeColumns(_swigobj,_swigarg0)  (_swigobj->AutoSizeColumns(_swigarg0))
static PyObject *_wrap_wxGrid_AutoSizeColumns(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    bool  _arg1 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool1 = (int) TRUE;
    char *_kwnames[] = { "self","setAsMin", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxGrid_AutoSizeColumns",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_AutoSizeColumns. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_AutoSizeColumns(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_AutoSizeRows(_swigobj,_swigarg0)  (_swigobj->AutoSizeRows(_swigarg0))
static PyObject *_wrap_wxGrid_AutoSizeRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    bool  _arg1 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool1 = (int) TRUE;
    char *_kwnames[] = { "self","setAsMin", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxGrid_AutoSizeRows",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_AutoSizeRows. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_AutoSizeRows(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_AutoSize(_swigobj)  (_swigobj->AutoSize())
static PyObject *_wrap_wxGrid_AutoSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_AutoSize",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_AutoSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_AutoSize(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetColMinimalWidth(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetColMinimalWidth(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetColMinimalWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","col","width", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_SetColMinimalWidth",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColMinimalWidth. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetColMinimalWidth(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetRowMinimalHeight(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetRowMinimalHeight(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetRowMinimalHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","width", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_SetRowMinimalHeight",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetRowMinimalHeight. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetRowMinimalHeight(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetColMinimalAcceptableWidth(_swigobj,_swigarg0)  (_swigobj->SetColMinimalAcceptableWidth(_swigarg0))
static PyObject *_wrap_wxGrid_SetColMinimalAcceptableWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","width", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetColMinimalAcceptableWidth",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColMinimalAcceptableWidth. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetColMinimalAcceptableWidth(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetRowMinimalAcceptableHeight(_swigobj,_swigarg0)  (_swigobj->SetRowMinimalAcceptableHeight(_swigarg0))
static PyObject *_wrap_wxGrid_SetRowMinimalAcceptableHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","width", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetRowMinimalAcceptableHeight",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetRowMinimalAcceptableHeight. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetRowMinimalAcceptableHeight(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_GetColMinimalAcceptableWidth(_swigobj)  (_swigobj->GetColMinimalAcceptableWidth())
static PyObject *_wrap_wxGrid_GetColMinimalAcceptableWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetColMinimalAcceptableWidth",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetColMinimalAcceptableWidth. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetColMinimalAcceptableWidth(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetRowMinimalAcceptableHeight(_swigobj)  (_swigobj->GetRowMinimalAcceptableHeight())
static PyObject *_wrap_wxGrid_GetRowMinimalAcceptableHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetRowMinimalAcceptableHeight",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetRowMinimalAcceptableHeight. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGrid_GetRowMinimalAcceptableHeight(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_SetDefaultCellBackgroundColour(_swigobj,_swigarg0)  (_swigobj->SetDefaultCellBackgroundColour(_swigarg0))
static PyObject *_wrap_wxGrid_SetDefaultCellBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","arg2", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetDefaultCellBackgroundColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetDefaultCellBackgroundColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetDefaultCellBackgroundColour(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetCellBackgroundColour(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetCellBackgroundColour(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_SetCellBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    wxColour * _arg3;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","row","col","arg4", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGrid_SetCellBackgroundColour",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellBackgroundColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg3 = &temp;
    if (! wxColour_helper(_obj3, &_arg3))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellBackgroundColour(_arg0,_arg1,_arg2,*_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetDefaultCellTextColour(_swigobj,_swigarg0)  (_swigobj->SetDefaultCellTextColour(_swigarg0))
static PyObject *_wrap_wxGrid_SetDefaultCellTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","arg2", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetDefaultCellTextColour",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetDefaultCellTextColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetDefaultCellTextColour(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetCellTextColour(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetCellTextColour(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_SetCellTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    wxColour * _arg3;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","row","col","arg4", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGrid_SetCellTextColour",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellTextColour. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg3 = &temp;
    if (! wxColour_helper(_obj3, &_arg3))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellTextColour(_arg0,_arg1,_arg2,*_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetDefaultCellFont(_swigobj,_swigarg0)  (_swigobj->SetDefaultCellFont(_swigarg0))
static PyObject *_wrap_wxGrid_SetDefaultCellFont(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxFont * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","arg2", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetDefaultCellFont",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetDefaultCellFont. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFont_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGrid_SetDefaultCellFont. Expected _wxFont_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetDefaultCellFont(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetCellFont(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetCellFont(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_SetCellFont(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    wxFont * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo3 = 0;
    char *_kwnames[] = { "self","row","col","arg4", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGrid_SetCellFont",_kwnames,&_argo0,&_arg1,&_arg2,&_argo3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellFont. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo3) {
        if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxFont_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGrid_SetCellFont. Expected _wxFont_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellFont(_arg0,_arg1,_arg2,*_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetDefaultCellAlignment(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetDefaultCellAlignment(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetDefaultCellAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","horiz","vert", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_SetDefaultCellAlignment",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetDefaultCellAlignment. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetDefaultCellAlignment(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetCellAlignment(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->SetCellAlignment(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxGrid_SetCellAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    int  _arg3;
    int  _arg4;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col","horiz","vert", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxGrid_SetCellAlignment",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellAlignment. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellAlignment(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetDefaultCellOverflow(_swigobj,_swigarg0)  (_swigobj->SetDefaultCellOverflow(_swigarg0))
static PyObject *_wrap_wxGrid_SetDefaultCellOverflow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    bool  _arg1;
    PyObject * _argo0 = 0;
    int tempbool1;
    char *_kwnames[] = { "self","allow", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetDefaultCellOverflow",_kwnames,&_argo0,&tempbool1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetDefaultCellOverflow. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg1 = (bool ) tempbool1;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetDefaultCellOverflow(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetCellOverflow(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetCellOverflow(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_SetCellOverflow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    bool  _arg3;
    PyObject * _argo0 = 0;
    int tempbool3;
    char *_kwnames[] = { "self","row","col","allow", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxGrid_SetCellOverflow",_kwnames,&_argo0,&_arg1,&_arg2,&tempbool3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellOverflow. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg3 = (bool ) tempbool3;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellOverflow(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetCellSize(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->SetCellSize(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
static PyObject *_wrap_wxGrid_SetCellSize(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    int  _arg3;
    int  _arg4;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col","num_rows","num_cols", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxGrid_SetCellSize",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellSize. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellSize(_arg0,_arg1,_arg2,_arg3,_arg4);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetDefaultRenderer(_swigobj,_swigarg0)  (_swigobj->SetDefaultRenderer(_swigarg0))
static PyObject *_wrap_wxGrid_SetDefaultRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxGridCellRenderer * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","renderer", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetDefaultRenderer",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetDefaultRenderer. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGrid_SetDefaultRenderer. Expected _wxGridCellRenderer_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetDefaultRenderer(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetCellRenderer(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetCellRenderer(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_SetCellRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    wxGridCellRenderer * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo3 = 0;
    char *_kwnames[] = { "self","row","col","renderer", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGrid_SetCellRenderer",_kwnames,&_argo0,&_arg1,&_arg2,&_argo3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellRenderer. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo3) {
        if (_argo3 == Py_None) { _arg3 = NULL; }
        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGrid_SetCellRenderer. Expected _wxGridCellRenderer_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellRenderer(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_GetDefaultRenderer(_swigobj)  (_swigobj->GetDefaultRenderer())
static PyObject *_wrap_wxGrid_GetDefaultRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellRenderer * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultRenderer",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultRenderer. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellRenderer *)wxGrid_GetDefaultRenderer(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellRenderer(_result); }
    return _resultobj;
}

#define wxGrid_GetCellRenderer(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetCellRenderer(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetCellRenderer(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellRenderer * _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellRenderer",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellRenderer. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellRenderer *)wxGrid_GetCellRenderer(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellRenderer(_result); }
    return _resultobj;
}

#define wxGrid_SetDefaultEditor(_swigobj,_swigarg0)  (_swigobj->SetDefaultEditor(_swigarg0))
static PyObject *_wrap_wxGrid_SetDefaultEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxGridCellEditor * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","editor", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetDefaultEditor",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetDefaultEditor. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGrid_SetDefaultEditor. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetDefaultEditor(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetCellEditor(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetCellEditor(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_SetCellEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    wxGridCellEditor * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _argo3 = 0;
    char *_kwnames[] = { "self","row","col","editor", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGrid_SetCellEditor",_kwnames,&_argo0,&_arg1,&_arg2,&_argo3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellEditor. Expected _wxGrid_p.");
        return NULL;
        }
    }
    if (_argo3) {
        if (_argo3 == Py_None) { _arg3 = NULL; }
        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGrid_SetCellEditor. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellEditor(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_GetDefaultEditor(_swigobj)  (_swigobj->GetDefaultEditor())
static PyObject *_wrap_wxGrid_GetDefaultEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultEditor",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultEditor. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellEditor *)wxGrid_GetDefaultEditor(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellEditor(_result); }
    return _resultobj;
}

#define wxGrid_GetCellEditor(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetCellEditor(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetCellEditor(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellEditor",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellEditor. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellEditor *)wxGrid_GetCellEditor(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellEditor(_result); }
    return _resultobj;
}

#define wxGrid_GetCellValue(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetCellValue(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetCellValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxString * _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellValue",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellValue. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxString (wxGrid_GetCellValue(_arg0,_arg1,_arg2));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
#if wxUSE_UNICODE
    _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len());
#else
    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
#endif
}
{
    delete _result;
}
    return _resultobj;
}

#define wxGrid_SetCellValue(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetCellValue(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_SetCellValue(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    wxString * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj3 = 0;
    char *_kwnames[] = { "self","row","col","s", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGrid_SetCellValue",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellValue. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg3 = wxString_in_helper(_obj3);
    if (_arg3 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetCellValue(_arg0,_arg1,_arg2,*_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj3)
        delete _arg3;
}
    return _resultobj;
}

#define wxGrid_IsReadOnly(_swigobj,_swigarg0,_swigarg1)  (_swigobj->IsReadOnly(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_IsReadOnly(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_IsReadOnly",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_IsReadOnly. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_IsReadOnly(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_SetReadOnly(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetReadOnly(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_SetReadOnly(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    bool  _arg3 = (bool ) TRUE;
    PyObject * _argo0 = 0;
    int tempbool3 = (int) TRUE;
    char *_kwnames[] = { "self","row","col","isReadOnly", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii|i:wxGrid_SetReadOnly",_kwnames,&_argo0,&_arg1,&_arg2,&tempbool3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetReadOnly. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg3 = (bool ) tempbool3;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetReadOnly(_arg0,_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SelectRow(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SelectRow(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SelectRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    bool  _arg2 = (bool ) FALSE;
    PyObject * _argo0 = 0;
    int tempbool2 = (int) FALSE;
    char *_kwnames[] = { "self","row","addToSelected", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|i:wxGrid_SelectRow",_kwnames,&_argo0,&_arg1,&tempbool2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SelectRow. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg2 = (bool ) tempbool2;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SelectRow(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SelectCol(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SelectCol(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SelectCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    bool  _arg2 = (bool ) FALSE;
    PyObject * _argo0 = 0;
    int tempbool2 = (int) FALSE;
    char *_kwnames[] = { "self","col","addToSelected", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|i:wxGrid_SelectCol",_kwnames,&_argo0,&_arg1,&tempbool2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SelectCol. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg2 = (bool ) tempbool2;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SelectCol(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SelectBlock(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)  (_swigobj->SelectBlock(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
static PyObject *_wrap_wxGrid_SelectBlock(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    int  _arg3;
    int  _arg4;
    bool  _arg5 = (bool ) FALSE;
    PyObject * _argo0 = 0;
    int tempbool5 = (int) FALSE;
    char *_kwnames[] = { "self","topRow","leftCol","bottomRow","rightCol","addToSelected", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii|i:wxGrid_SelectBlock",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&tempbool5)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SelectBlock. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg5 = (bool ) tempbool5;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SelectBlock(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SelectAll(_swigobj)  (_swigobj->SelectAll())
static PyObject *_wrap_wxGrid_SelectAll(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_SelectAll",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SelectAll. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SelectAll(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_IsSelection(_swigobj)  (_swigobj->IsSelection())
static PyObject *_wrap_wxGrid_IsSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_IsSelection",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_IsSelection. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_IsSelection(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_ClearSelection(_swigobj)  (_swigobj->ClearSelection())
static PyObject *_wrap_wxGrid_ClearSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_ClearSelection",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_ClearSelection. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_ClearSelection(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_IsInSelection(_swigobj,_swigarg0,_swigarg1)  (_swigobj->IsInSelection(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_IsInSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_IsInSelection",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_IsInSelection. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGrid_IsInSelection(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGrid_GetSelectedCells(_swigobj)  (_swigobj->GetSelectedCells())
static PyObject *_wrap_wxGrid_GetSelectedCells(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellCoordsArray * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetSelectedCells",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetSelectedCells. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxGridCellCoordsArray (wxGrid_GetSelectedCells(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
    _resultobj = wxGridCellCoordsArray_helper(_result);
}
{
    delete _result;
}
    return _resultobj;
}

#define wxGrid_GetSelectionBlockTopLeft(_swigobj)  (_swigobj->GetSelectionBlockTopLeft())
static PyObject *_wrap_wxGrid_GetSelectionBlockTopLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellCoordsArray * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetSelectionBlockTopLeft",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetSelectionBlockTopLeft. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxGridCellCoordsArray (wxGrid_GetSelectionBlockTopLeft(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
    _resultobj = wxGridCellCoordsArray_helper(_result);
}
{
    delete _result;
}
    return _resultobj;
}

#define wxGrid_GetSelectionBlockBottomRight(_swigobj)  (_swigobj->GetSelectionBlockBottomRight())
static PyObject *_wrap_wxGrid_GetSelectionBlockBottomRight(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellCoordsArray * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetSelectionBlockBottomRight",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetSelectionBlockBottomRight. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxGridCellCoordsArray (wxGrid_GetSelectionBlockBottomRight(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
    _resultobj = wxGridCellCoordsArray_helper(_result);
}
{
    delete _result;
}
    return _resultobj;
}

#define wxGrid_GetSelectedRows(_swigobj)  (_swigobj->GetSelectedRows())
static PyObject *_wrap_wxGrid_GetSelectedRows(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxArrayInt * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetSelectedRows",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetSelectedRows. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxArrayInt (wxGrid_GetSelectedRows(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
    _resultobj = PyList_New(0);
    size_t idx;
    for (idx = 0; idx < _result->GetCount(); idx += 1) {
        PyObject* val = PyInt_FromLong(_result->Item(idx));
        PyList_Append(_resultobj, val);
        Py_DECREF(val);
    }
    delete _result;
}
    return _resultobj;
}

#define wxGrid_GetSelectedCols(_swigobj)  (_swigobj->GetSelectedCols())
static PyObject *_wrap_wxGrid_GetSelectedCols(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxArrayInt * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetSelectedCols",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetSelectedCols. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxArrayInt (wxGrid_GetSelectedCols(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{
    _resultobj = PyList_New(0);
    size_t idx;
    for (idx = 0; idx < _result->GetCount(); idx += 1) {
        PyObject* val = PyInt_FromLong(_result->Item(idx));
        PyList_Append(_resultobj, val);
        Py_DECREF(val);
    }
    delete _result;
}
    return _resultobj;
}

#define wxGrid_DeselectRow(_swigobj,_swigarg0)  (_swigobj->DeselectRow(_swigarg0))
static PyObject *_wrap_wxGrid_DeselectRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_DeselectRow",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_DeselectRow. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_DeselectRow(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_DeselectCol(_swigobj,_swigarg0)  (_swigobj->DeselectCol(_swigarg0))
static PyObject *_wrap_wxGrid_DeselectCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_DeselectCol",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_DeselectCol. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_DeselectCol(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_DeselectCell(_swigobj,_swigarg0,_swigarg1)  (_swigobj->DeselectCell(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_DeselectCell(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_DeselectCell",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_DeselectCell. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_DeselectCell(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_BlockToDeviceRect(_swigobj,_swigarg0,_swigarg1)  (_swigobj->BlockToDeviceRect(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_BlockToDeviceRect(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxRect * _result;
    wxGrid * _arg0;
    wxGridCellCoords * _arg1;
    wxGridCellCoords * _arg2;
    PyObject * _argo0 = 0;
    wxGridCellCoords  temp;
    PyObject * _obj1 = 0;
    wxGridCellCoords  temp0;
    PyObject * _obj2 = 0;
    char *_kwnames[] = { "self","topLeft","bottomRight", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxGrid_BlockToDeviceRect",_kwnames,&_argo0,&_obj1,&_obj2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_BlockToDeviceRect. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxGridCellCoords_helper(_obj1, &_arg1))
        return NULL;
}
{
    _arg2 = &temp0;
    if (! wxGridCellCoords_helper(_obj2, &_arg2))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxRect (wxGrid_BlockToDeviceRect(_arg0,*_arg1,*_arg2));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxRect_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetSelectionBackground(_swigobj)  (_swigobj->GetSelectionBackground())
static PyObject *_wrap_wxGrid_GetSelectionBackground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetSelectionBackground",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetSelectionBackground. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGrid_GetSelectionBackground(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_GetSelectionForeground(_swigobj)  (_swigobj->GetSelectionForeground())
static PyObject *_wrap_wxGrid_GetSelectionForeground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxColour * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetSelectionForeground",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetSelectionForeground. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxColour (wxGrid_GetSelectionForeground(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGrid_SetSelectionBackground(_swigobj,_swigarg0)  (_swigobj->SetSelectionBackground(_swigarg0))
static PyObject *_wrap_wxGrid_SetSelectionBackground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","c", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetSelectionBackground",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetSelectionBackground. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetSelectionBackground(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_SetSelectionForeground(_swigobj,_swigarg0)  (_swigobj->SetSelectionForeground(_swigarg0))
static PyObject *_wrap_wxGrid_SetSelectionForeground(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxColour * _arg1;
    PyObject * _argo0 = 0;
    wxColour  temp;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","c", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_SetSelectionForeground",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetSelectionForeground. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = &temp;
    if (! wxColour_helper(_obj1, &_arg1))
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetSelectionForeground(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_RegisterDataType(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->RegisterDataType(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGrid_RegisterDataType(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    wxString * _arg1;
    wxGridCellRenderer * _arg2;
    wxGridCellEditor * _arg3;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    PyObject * _argo2 = 0;
    PyObject * _argo3 = 0;
    char *_kwnames[] = { "self","typeName","renderer","editor", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxGrid_RegisterDataType",_kwnames,&_argo0,&_obj1,&_argo2,&_argo3)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_RegisterDataType. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGridCellRenderer_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGrid_RegisterDataType. Expected _wxGridCellRenderer_p.");
        return NULL;
        }
    }
    if (_argo3) {
        if (_argo3 == Py_None) { _arg3 = NULL; }
        else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxGridCellEditor_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGrid_RegisterDataType. Expected _wxGridCellEditor_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_RegisterDataType(_arg0,*_arg1,_arg2,_arg3);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxGrid_GetDefaultEditorForCell(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetDefaultEditorForCell(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetDefaultEditorForCell(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetDefaultEditorForCell",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultEditorForCell. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellEditor *)wxGrid_GetDefaultEditorForCell(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellEditor(_result); }
    return _resultobj;
}

#define wxGrid_GetDefaultRendererForCell(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetDefaultRendererForCell(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_GetDefaultRendererForCell(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellRenderer * _result;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetDefaultRendererForCell",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultRendererForCell. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellRenderer *)wxGrid_GetDefaultRendererForCell(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellRenderer(_result); }
    return _resultobj;
}

#define wxGrid_GetDefaultEditorForType(_swigobj,_swigarg0)  (_swigobj->GetDefaultEditorForType(_swigarg0))
static PyObject *_wrap_wxGrid_GetDefaultEditorForType(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellEditor * _result;
    wxGrid * _arg0;
    wxString * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","typeName", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_GetDefaultEditorForType",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultEditorForType. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellEditor *)wxGrid_GetDefaultEditorForType(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellEditor(_result); }
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxGrid_GetDefaultRendererForType(_swigobj,_swigarg0)  (_swigobj->GetDefaultRendererForType(_swigarg0))
static PyObject *_wrap_wxGrid_GetDefaultRendererForType(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellRenderer * _result;
    wxGrid * _arg0;
    wxString * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _obj1 = 0;
    char *_kwnames[] = { "self","typeName", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGrid_GetDefaultRendererForType",_kwnames,&_argo0,&_obj1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultRendererForType. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg1 = wxString_in_helper(_obj1);
    if (_arg1 == NULL)
        return NULL;
}
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridCellRenderer *)wxGrid_GetDefaultRendererForType(_arg0,*_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxGridCellRenderer(_result); }
{
    if (_obj1)
        delete _arg1;
}
    return _resultobj;
}

#define wxGrid_SetMargins(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetMargins(_swigarg0,_swigarg1))
static PyObject *_wrap_wxGrid_SetMargins(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGrid * _arg0;
    int  _arg1;
    int  _arg2;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","extraWidth","extraHeight", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_SetMargins",_kwnames,&_argo0,&_arg1,&_arg2)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetMargins. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGrid_SetMargins(_arg0,_arg1,_arg2);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGrid_GetGridWindow(_swigobj)  (_swigobj->GetGridWindow())
static PyObject *_wrap_wxGrid_GetGridWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxWindow * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetGridWindow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetGridWindow. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxWindow *)wxGrid_GetGridWindow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxObject(_result); }
    return _resultobj;
}

#define wxGrid_GetGridRowLabelWindow(_swigobj)  (_swigobj->GetGridRowLabelWindow())
static PyObject *_wrap_wxGrid_GetGridRowLabelWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxWindow * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetGridRowLabelWindow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetGridRowLabelWindow. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxWindow *)wxGrid_GetGridRowLabelWindow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxObject(_result); }
    return _resultobj;
}

#define wxGrid_GetGridColLabelWindow(_swigobj)  (_swigobj->GetGridColLabelWindow())
static PyObject *_wrap_wxGrid_GetGridColLabelWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxWindow * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetGridColLabelWindow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetGridColLabelWindow. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxWindow *)wxGrid_GetGridColLabelWindow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxObject(_result); }
    return _resultobj;
}

#define wxGrid_GetGridCornerLabelWindow(_swigobj)  (_swigobj->GetGridCornerLabelWindow())
static PyObject *_wrap_wxGrid_GetGridCornerLabelWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxWindow * _result;
    wxGrid * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetGridCornerLabelWindow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetGridCornerLabelWindow. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxWindow *)wxGrid_GetGridCornerLabelWindow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxObject(_result); }
    return _resultobj;
}

static void *SwigwxGridEventTowxNotifyEvent(void *ptr) {
    wxGridEvent *src;
    wxNotifyEvent *dest;
    src = (wxGridEvent *) ptr;
    dest = (wxNotifyEvent *) src;
    return (void *) dest;
}

static void *SwigwxGridEventTowxCommandEvent(void *ptr) {
    wxGridEvent *src;
    wxCommandEvent *dest;
    src = (wxGridEvent *) ptr;
    dest = (wxCommandEvent *) src;
    return (void *) dest;
}

static void *SwigwxGridEventTowxEvent(void *ptr) {
    wxGridEvent *src;
    wxEvent *dest;
    src = (wxGridEvent *) ptr;
    dest = (wxEvent *) src;
    return (void *) dest;
}

static void *SwigwxGridEventTowxObject(void *ptr) {
    wxGridEvent *src;
    wxObject *dest;
    src = (wxGridEvent *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxGridEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9,_swigarg10,_swigarg11) (new wxGridEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9,_swigarg10,_swigarg11))
static PyObject *_wrap_new_wxGridEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridEvent * _result;
    int  _arg0;
    wxEventType  _arg1;
    wxGrid * _arg2;
    int  _arg3 = (int ) -1;
    int  _arg4 = (int ) -1;
    int  _arg5 = (int ) -1;
    int  _arg6 = (int ) -1;
    bool  _arg7 = (bool ) TRUE;
    bool  _arg8 = (bool ) FALSE;
    bool  _arg9 = (bool ) FALSE;
    bool  _arg10 = (bool ) FALSE;
    bool  _arg11 = (bool ) FALSE;
    PyObject * _argo2 = 0;
    int tempbool7 = (int) TRUE;
    int tempbool8 = (int) FALSE;
    int tempbool9 = (int) FALSE;
    int tempbool10 = (int) FALSE;
    int tempbool11 = (int) FALSE;
    char *_kwnames[] = { "id","type","obj","row","col","x","y","sel","control","shift","alt","meta", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO|iiiiiiiii:new_wxGridEvent",_kwnames,&_arg0,&_arg1,&_argo2,&_arg3,&_arg4,&_arg5,&_arg6,&tempbool7,&tempbool8,&tempbool9,&tempbool10,&tempbool11)) 
        return NULL;
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxGridEvent. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg7 = (bool ) tempbool7;
    _arg8 = (bool ) tempbool8;
    _arg9 = (bool ) tempbool9;
    _arg10 = (bool ) tempbool10;
    _arg11 = (bool ) tempbool11;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridEvent *)new_wxGridEvent(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8,_arg9,_arg10,_arg11);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridEvent_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxGridEvent_GetRow(_swigobj)  (_swigobj->GetRow())
static PyObject *_wrap_wxGridEvent_GetRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridEvent_GetRow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_GetRow. Expected _wxGridEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridEvent_GetRow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridEvent_GetCol(_swigobj)  (_swigobj->GetCol())
static PyObject *_wrap_wxGridEvent_GetCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridEvent_GetCol",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_GetCol. Expected _wxGridEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridEvent_GetCol(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
static PyObject *_wrap_wxGridEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPoint * _result;
    wxGridEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridEvent_GetPosition",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_GetPosition. Expected _wxGridEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxPoint (wxGridEvent_GetPosition(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGridEvent_Selecting(_swigobj)  (_swigobj->Selecting())
static PyObject *_wrap_wxGridEvent_Selecting(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridEvent_Selecting",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_Selecting. Expected _wxGridEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridEvent_Selecting(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridEvent_ControlDown(_swigobj)  (_swigobj->ControlDown())
static PyObject *_wrap_wxGridEvent_ControlDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridEvent_ControlDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_ControlDown. Expected _wxGridEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridEvent_ControlDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridEvent_MetaDown(_swigobj)  (_swigobj->MetaDown())
static PyObject *_wrap_wxGridEvent_MetaDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridEvent_MetaDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_MetaDown. Expected _wxGridEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridEvent_MetaDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridEvent_ShiftDown(_swigobj)  (_swigobj->ShiftDown())
static PyObject *_wrap_wxGridEvent_ShiftDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridEvent_ShiftDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_ShiftDown. Expected _wxGridEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridEvent_ShiftDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridEvent_AltDown(_swigobj)  (_swigobj->AltDown())
static PyObject *_wrap_wxGridEvent_AltDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridEvent_AltDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_AltDown. Expected _wxGridEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridEvent_AltDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxGridSizeEventTowxNotifyEvent(void *ptr) {
    wxGridSizeEvent *src;
    wxNotifyEvent *dest;
    src = (wxGridSizeEvent *) ptr;
    dest = (wxNotifyEvent *) src;
    return (void *) dest;
}

static void *SwigwxGridSizeEventTowxCommandEvent(void *ptr) {
    wxGridSizeEvent *src;
    wxCommandEvent *dest;
    src = (wxGridSizeEvent *) ptr;
    dest = (wxCommandEvent *) src;
    return (void *) dest;
}

static void *SwigwxGridSizeEventTowxEvent(void *ptr) {
    wxGridSizeEvent *src;
    wxEvent *dest;
    src = (wxGridSizeEvent *) ptr;
    dest = (wxEvent *) src;
    return (void *) dest;
}

static void *SwigwxGridSizeEventTowxObject(void *ptr) {
    wxGridSizeEvent *src;
    wxObject *dest;
    src = (wxGridSizeEvent *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxGridSizeEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9) (new wxGridSizeEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9))
static PyObject *_wrap_new_wxGridSizeEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridSizeEvent * _result;
    int  _arg0;
    wxEventType  _arg1;
    wxGrid * _arg2;
    int  _arg3 = (int ) -1;
    int  _arg4 = (int ) -1;
    int  _arg5 = (int ) -1;
    bool  _arg6 = (bool ) FALSE;
    bool  _arg7 = (bool ) FALSE;
    bool  _arg8 = (bool ) FALSE;
    bool  _arg9 = (bool ) FALSE;
    PyObject * _argo2 = 0;
    int tempbool6 = (int) FALSE;
    int tempbool7 = (int) FALSE;
    int tempbool8 = (int) FALSE;
    int tempbool9 = (int) FALSE;
    char *_kwnames[] = { "id","type","obj","rowOrCol","x","y","control","shift","alt","meta", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiO|iiiiiii:new_wxGridSizeEvent",_kwnames,&_arg0,&_arg1,&_argo2,&_arg3,&_arg4,&_arg5,&tempbool6,&tempbool7,&tempbool8,&tempbool9)) 
        return NULL;
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxGridSizeEvent. Expected _wxGrid_p.");
        return NULL;
        }
    }
    _arg6 = (bool ) tempbool6;
    _arg7 = (bool ) tempbool7;
    _arg8 = (bool ) tempbool8;
    _arg9 = (bool ) tempbool9;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridSizeEvent *)new_wxGridSizeEvent(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8,_arg9);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridSizeEvent_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxGridSizeEvent_GetRowOrCol(_swigobj)  (_swigobj->GetRowOrCol())
static PyObject *_wrap_wxGridSizeEvent_GetRowOrCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridSizeEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridSizeEvent_GetRowOrCol",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridSizeEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridSizeEvent_GetRowOrCol. Expected _wxGridSizeEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridSizeEvent_GetRowOrCol(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridSizeEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
static PyObject *_wrap_wxGridSizeEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxPoint * _result;
    wxGridSizeEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridSizeEvent_GetPosition",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridSizeEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridSizeEvent_GetPosition. Expected _wxGridSizeEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxPoint (wxGridSizeEvent_GetPosition(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGridSizeEvent_ControlDown(_swigobj)  (_swigobj->ControlDown())
static PyObject *_wrap_wxGridSizeEvent_ControlDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridSizeEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridSizeEvent_ControlDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridSizeEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridSizeEvent_ControlDown. Expected _wxGridSizeEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridSizeEvent_ControlDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridSizeEvent_MetaDown(_swigobj)  (_swigobj->MetaDown())
static PyObject *_wrap_wxGridSizeEvent_MetaDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridSizeEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridSizeEvent_MetaDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridSizeEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridSizeEvent_MetaDown. Expected _wxGridSizeEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridSizeEvent_MetaDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridSizeEvent_ShiftDown(_swigobj)  (_swigobj->ShiftDown())
static PyObject *_wrap_wxGridSizeEvent_ShiftDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridSizeEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridSizeEvent_ShiftDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridSizeEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridSizeEvent_ShiftDown. Expected _wxGridSizeEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridSizeEvent_ShiftDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridSizeEvent_AltDown(_swigobj)  (_swigobj->AltDown())
static PyObject *_wrap_wxGridSizeEvent_AltDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridSizeEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridSizeEvent_AltDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridSizeEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridSizeEvent_AltDown. Expected _wxGridSizeEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridSizeEvent_AltDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxGridRangeSelectEventTowxNotifyEvent(void *ptr) {
    wxGridRangeSelectEvent *src;
    wxNotifyEvent *dest;
    src = (wxGridRangeSelectEvent *) ptr;
    dest = (wxNotifyEvent *) src;
    return (void *) dest;
}

static void *SwigwxGridRangeSelectEventTowxCommandEvent(void *ptr) {
    wxGridRangeSelectEvent *src;
    wxCommandEvent *dest;
    src = (wxGridRangeSelectEvent *) ptr;
    dest = (wxCommandEvent *) src;
    return (void *) dest;
}

static void *SwigwxGridRangeSelectEventTowxEvent(void *ptr) {
    wxGridRangeSelectEvent *src;
    wxEvent *dest;
    src = (wxGridRangeSelectEvent *) ptr;
    dest = (wxEvent *) src;
    return (void *) dest;
}

static void *SwigwxGridRangeSelectEventTowxObject(void *ptr) {
    wxGridRangeSelectEvent *src;
    wxObject *dest;
    src = (wxGridRangeSelectEvent *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxGridRangeSelectEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9) (new wxGridRangeSelectEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6,_swigarg7,_swigarg8,_swigarg9))
static PyObject *_wrap_new_wxGridRangeSelectEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridRangeSelectEvent * _result;
    int  _arg0;
    wxEventType  _arg1;
    wxGrid * _arg2;
    wxGridCellCoords * _arg3;
    wxGridCellCoords * _arg4;
    bool  _arg5 = (bool ) TRUE;
    bool  _arg6 = (bool ) FALSE;
    bool  _arg7 = (bool ) FALSE;
    bool  _arg8 = (bool ) FALSE;
    bool  _arg9 = (bool ) FALSE;
    PyObject * _argo2 = 0;
    wxGridCellCoords  temp;
    PyObject * _obj3 = 0;
    wxGridCellCoords  temp0;
    PyObject * _obj4 = 0;
    int tempbool5 = (int) TRUE;
    int tempbool6 = (int) FALSE;
    int tempbool7 = (int) FALSE;
    int tempbool8 = (int) FALSE;
    int tempbool9 = (int) FALSE;
    char *_kwnames[] = { "id","type","obj","topLeft","bottomRight","sel","control","shift","alt","meta", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiOOO|iiiii:new_wxGridRangeSelectEvent",_kwnames,&_arg0,&_arg1,&_argo2,&_obj3,&_obj4,&tempbool5,&tempbool6,&tempbool7,&tempbool8,&tempbool9)) 
        return NULL;
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxGrid_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxGridRangeSelectEvent. Expected _wxGrid_p.");
        return NULL;
        }
    }
{
    _arg3 = &temp;
    if (! wxGridCellCoords_helper(_obj3, &_arg3))
        return NULL;
}
{
    _arg4 = &temp0;
    if (! wxGridCellCoords_helper(_obj4, &_arg4))
        return NULL;
}
    _arg5 = (bool ) tempbool5;
    _arg6 = (bool ) tempbool6;
    _arg7 = (bool ) tempbool7;
    _arg8 = (bool ) tempbool8;
    _arg9 = (bool ) tempbool9;
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridRangeSelectEvent *)new_wxGridRangeSelectEvent(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,_arg6,_arg7,_arg8,_arg9);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridRangeSelectEvent_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxGridRangeSelectEvent_GetTopLeftCoords(_swigobj)  (_swigobj->GetTopLeftCoords())
static PyObject *_wrap_wxGridRangeSelectEvent_GetTopLeftCoords(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellCoords * _result;
    wxGridRangeSelectEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridRangeSelectEvent_GetTopLeftCoords",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridRangeSelectEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridRangeSelectEvent_GetTopLeftCoords. Expected _wxGridRangeSelectEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxGridCellCoords (wxGridRangeSelectEvent_GetTopLeftCoords(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxGridCellCoords_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGridRangeSelectEvent_GetBottomRightCoords(_swigobj)  (_swigobj->GetBottomRightCoords())
static PyObject *_wrap_wxGridRangeSelectEvent_GetBottomRightCoords(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridCellCoords * _result;
    wxGridRangeSelectEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridRangeSelectEvent_GetBottomRightCoords",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridRangeSelectEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridRangeSelectEvent_GetBottomRightCoords. Expected _wxGridRangeSelectEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = new wxGridCellCoords (wxGridRangeSelectEvent_GetBottomRightCoords(_arg0));

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    SWIG_MakePtr(_ptemp, (void *) _result,"_wxGridCellCoords_p");
    _resultobj = Py_BuildValue("s",_ptemp);
    return _resultobj;
}

#define wxGridRangeSelectEvent_GetTopRow(_swigobj)  (_swigobj->GetTopRow())
static PyObject *_wrap_wxGridRangeSelectEvent_GetTopRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridRangeSelectEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridRangeSelectEvent_GetTopRow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridRangeSelectEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridRangeSelectEvent_GetTopRow. Expected _wxGridRangeSelectEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridRangeSelectEvent_GetTopRow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridRangeSelectEvent_GetBottomRow(_swigobj)  (_swigobj->GetBottomRow())
static PyObject *_wrap_wxGridRangeSelectEvent_GetBottomRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridRangeSelectEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridRangeSelectEvent_GetBottomRow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridRangeSelectEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridRangeSelectEvent_GetBottomRow. Expected _wxGridRangeSelectEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridRangeSelectEvent_GetBottomRow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridRangeSelectEvent_GetLeftCol(_swigobj)  (_swigobj->GetLeftCol())
static PyObject *_wrap_wxGridRangeSelectEvent_GetLeftCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridRangeSelectEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridRangeSelectEvent_GetLeftCol",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridRangeSelectEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridRangeSelectEvent_GetLeftCol. Expected _wxGridRangeSelectEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridRangeSelectEvent_GetLeftCol(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridRangeSelectEvent_GetRightCol(_swigobj)  (_swigobj->GetRightCol())
static PyObject *_wrap_wxGridRangeSelectEvent_GetRightCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridRangeSelectEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridRangeSelectEvent_GetRightCol",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridRangeSelectEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridRangeSelectEvent_GetRightCol. Expected _wxGridRangeSelectEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridRangeSelectEvent_GetRightCol(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridRangeSelectEvent_Selecting(_swigobj)  (_swigobj->Selecting())
static PyObject *_wrap_wxGridRangeSelectEvent_Selecting(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridRangeSelectEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridRangeSelectEvent_Selecting",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridRangeSelectEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridRangeSelectEvent_Selecting. Expected _wxGridRangeSelectEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridRangeSelectEvent_Selecting(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridRangeSelectEvent_ControlDown(_swigobj)  (_swigobj->ControlDown())
static PyObject *_wrap_wxGridRangeSelectEvent_ControlDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridRangeSelectEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridRangeSelectEvent_ControlDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridRangeSelectEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridRangeSelectEvent_ControlDown. Expected _wxGridRangeSelectEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridRangeSelectEvent_ControlDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridRangeSelectEvent_MetaDown(_swigobj)  (_swigobj->MetaDown())
static PyObject *_wrap_wxGridRangeSelectEvent_MetaDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridRangeSelectEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridRangeSelectEvent_MetaDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridRangeSelectEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridRangeSelectEvent_MetaDown. Expected _wxGridRangeSelectEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridRangeSelectEvent_MetaDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridRangeSelectEvent_ShiftDown(_swigobj)  (_swigobj->ShiftDown())
static PyObject *_wrap_wxGridRangeSelectEvent_ShiftDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridRangeSelectEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridRangeSelectEvent_ShiftDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridRangeSelectEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridRangeSelectEvent_ShiftDown. Expected _wxGridRangeSelectEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridRangeSelectEvent_ShiftDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridRangeSelectEvent_AltDown(_swigobj)  (_swigobj->AltDown())
static PyObject *_wrap_wxGridRangeSelectEvent_AltDown(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    bool  _result;
    wxGridRangeSelectEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridRangeSelectEvent_AltDown",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridRangeSelectEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridRangeSelectEvent_AltDown. Expected _wxGridRangeSelectEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (bool )wxGridRangeSelectEvent_AltDown(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

static void *SwigwxGridEditorCreatedEventTowxCommandEvent(void *ptr) {
    wxGridEditorCreatedEvent *src;
    wxCommandEvent *dest;
    src = (wxGridEditorCreatedEvent *) ptr;
    dest = (wxCommandEvent *) src;
    return (void *) dest;
}

static void *SwigwxGridEditorCreatedEventTowxEvent(void *ptr) {
    wxGridEditorCreatedEvent *src;
    wxEvent *dest;
    src = (wxGridEditorCreatedEvent *) ptr;
    dest = (wxEvent *) src;
    return (void *) dest;
}

static void *SwigwxGridEditorCreatedEventTowxObject(void *ptr) {
    wxGridEditorCreatedEvent *src;
    wxObject *dest;
    src = (wxGridEditorCreatedEvent *) ptr;
    dest = (wxObject *) src;
    return (void *) dest;
}

#define new_wxGridEditorCreatedEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (new wxGridEditorCreatedEvent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5))
static PyObject *_wrap_new_wxGridEditorCreatedEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridEditorCreatedEvent * _result;
    int  _arg0;
    wxEventType  _arg1;
    wxObject * _arg2;
    int  _arg3;
    int  _arg4;
    wxControl * _arg5;
    PyObject * _argo2 = 0;
    PyObject * _argo5 = 0;
    char *_kwnames[] = { "id","type","obj","row","col","ctrl", NULL };
    char _ptemp[128];

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"iiOiiO:new_wxGridEditorCreatedEvent",_kwnames,&_arg0,&_arg1,&_argo2,&_arg3,&_arg4,&_argo5)) 
        return NULL;
    if (_argo2) {
        if (_argo2 == Py_None) { _arg2 = NULL; }
        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxObject_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxGridEditorCreatedEvent. Expected _wxObject_p.");
        return NULL;
        }
    }
    if (_argo5) {
        if (_argo5 == Py_None) { _arg5 = NULL; }
        else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxControl_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of new_wxGridEditorCreatedEvent. Expected _wxControl_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxGridEditorCreatedEvent *)new_wxGridEditorCreatedEvent(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    if (_result) {
        SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridEditorCreatedEvent_p");
        _resultobj = Py_BuildValue("s",_ptemp);
    } else {
        Py_INCREF(Py_None);
        _resultobj = Py_None;
    }
    return _resultobj;
}

#define wxGridEditorCreatedEvent_GetRow(_swigobj)  (_swigobj->GetRow())
static PyObject *_wrap_wxGridEditorCreatedEvent_GetRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridEditorCreatedEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridEditorCreatedEvent_GetRow",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEditorCreatedEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEditorCreatedEvent_GetRow. Expected _wxGridEditorCreatedEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridEditorCreatedEvent_GetRow(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridEditorCreatedEvent_GetCol(_swigobj)  (_swigobj->GetCol())
static PyObject *_wrap_wxGridEditorCreatedEvent_GetCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    int  _result;
    wxGridEditorCreatedEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridEditorCreatedEvent_GetCol",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEditorCreatedEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEditorCreatedEvent_GetCol. Expected _wxGridEditorCreatedEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (int )wxGridEditorCreatedEvent_GetCol(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    _resultobj = Py_BuildValue("i",_result);
    return _resultobj;
}

#define wxGridEditorCreatedEvent_GetControl(_swigobj)  (_swigobj->GetControl())
static PyObject *_wrap_wxGridEditorCreatedEvent_GetControl(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxControl * _result;
    wxGridEditorCreatedEvent * _arg0;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridEditorCreatedEvent_GetControl",_kwnames,&_argo0)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEditorCreatedEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEditorCreatedEvent_GetControl. Expected _wxGridEditorCreatedEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    _result = (wxControl *)wxGridEditorCreatedEvent_GetControl(_arg0);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}{ _resultobj = wxPyMake_wxObject(_result); }
    return _resultobj;
}

#define wxGridEditorCreatedEvent_SetRow(_swigobj,_swigarg0)  (_swigobj->SetRow(_swigarg0))
static PyObject *_wrap_wxGridEditorCreatedEvent_SetRow(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridEditorCreatedEvent * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","row", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridEditorCreatedEvent_SetRow",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEditorCreatedEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEditorCreatedEvent_SetRow. Expected _wxGridEditorCreatedEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridEditorCreatedEvent_SetRow(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridEditorCreatedEvent_SetCol(_swigobj,_swigarg0)  (_swigobj->SetCol(_swigarg0))
static PyObject *_wrap_wxGridEditorCreatedEvent_SetCol(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridEditorCreatedEvent * _arg0;
    int  _arg1;
    PyObject * _argo0 = 0;
    char *_kwnames[] = { "self","col", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridEditorCreatedEvent_SetCol",_kwnames,&_argo0,&_arg1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEditorCreatedEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEditorCreatedEvent_SetCol. Expected _wxGridEditorCreatedEvent_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridEditorCreatedEvent_SetCol(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

#define wxGridEditorCreatedEvent_SetControl(_swigobj,_swigarg0)  (_swigobj->SetControl(_swigarg0))
static PyObject *_wrap_wxGridEditorCreatedEvent_SetControl(PyObject *self, PyObject *args, PyObject *kwargs) {
    PyObject * _resultobj;
    wxGridEditorCreatedEvent * _arg0;
    wxControl * _arg1;
    PyObject * _argo0 = 0;
    PyObject * _argo1 = 0;
    char *_kwnames[] = { "self","ctrl", NULL };

    self = self;
    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridEditorCreatedEvent_SetControl",_kwnames,&_argo0,&_argo1)) 
        return NULL;
    if (_argo0) {
        if (_argo0 == Py_None) { _arg0 = NULL; }
        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridEditorCreatedEvent_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEditorCreatedEvent_SetControl. Expected _wxGridEditorCreatedEvent_p.");
        return NULL;
        }
    }
    if (_argo1) {
        if (_argo1 == Py_None) { _arg1 = NULL; }
        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxControl_p")) {
            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridEditorCreatedEvent_SetControl. Expected _wxControl_p.");
        return NULL;
        }
    }
{
    PyThreadState* __tstate = wxPyBeginAllowThreads();
    wxGridEditorCreatedEvent_SetControl(_arg0,_arg1);

    wxPyEndAllowThreads(__tstate);
    if (PyErr_Occurred()) return NULL;
}    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
}

static PyMethodDef gridcMethods[] = {
	 { "wxGridEditorCreatedEvent_SetControl", (PyCFunction) _wrap_wxGridEditorCreatedEvent_SetControl, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEditorCreatedEvent_SetCol", (PyCFunction) _wrap_wxGridEditorCreatedEvent_SetCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEditorCreatedEvent_SetRow", (PyCFunction) _wrap_wxGridEditorCreatedEvent_SetRow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEditorCreatedEvent_GetControl", (PyCFunction) _wrap_wxGridEditorCreatedEvent_GetControl, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEditorCreatedEvent_GetCol", (PyCFunction) _wrap_wxGridEditorCreatedEvent_GetCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEditorCreatedEvent_GetRow", (PyCFunction) _wrap_wxGridEditorCreatedEvent_GetRow, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridEditorCreatedEvent", (PyCFunction) _wrap_new_wxGridEditorCreatedEvent, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridRangeSelectEvent_AltDown", (PyCFunction) _wrap_wxGridRangeSelectEvent_AltDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridRangeSelectEvent_ShiftDown", (PyCFunction) _wrap_wxGridRangeSelectEvent_ShiftDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridRangeSelectEvent_MetaDown", (PyCFunction) _wrap_wxGridRangeSelectEvent_MetaDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridRangeSelectEvent_ControlDown", (PyCFunction) _wrap_wxGridRangeSelectEvent_ControlDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridRangeSelectEvent_Selecting", (PyCFunction) _wrap_wxGridRangeSelectEvent_Selecting, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridRangeSelectEvent_GetRightCol", (PyCFunction) _wrap_wxGridRangeSelectEvent_GetRightCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridRangeSelectEvent_GetLeftCol", (PyCFunction) _wrap_wxGridRangeSelectEvent_GetLeftCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridRangeSelectEvent_GetBottomRow", (PyCFunction) _wrap_wxGridRangeSelectEvent_GetBottomRow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridRangeSelectEvent_GetTopRow", (PyCFunction) _wrap_wxGridRangeSelectEvent_GetTopRow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridRangeSelectEvent_GetBottomRightCoords", (PyCFunction) _wrap_wxGridRangeSelectEvent_GetBottomRightCoords, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridRangeSelectEvent_GetTopLeftCoords", (PyCFunction) _wrap_wxGridRangeSelectEvent_GetTopLeftCoords, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridRangeSelectEvent", (PyCFunction) _wrap_new_wxGridRangeSelectEvent, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridSizeEvent_AltDown", (PyCFunction) _wrap_wxGridSizeEvent_AltDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridSizeEvent_ShiftDown", (PyCFunction) _wrap_wxGridSizeEvent_ShiftDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridSizeEvent_MetaDown", (PyCFunction) _wrap_wxGridSizeEvent_MetaDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridSizeEvent_ControlDown", (PyCFunction) _wrap_wxGridSizeEvent_ControlDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridSizeEvent_GetPosition", (PyCFunction) _wrap_wxGridSizeEvent_GetPosition, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridSizeEvent_GetRowOrCol", (PyCFunction) _wrap_wxGridSizeEvent_GetRowOrCol, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridSizeEvent", (PyCFunction) _wrap_new_wxGridSizeEvent, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEvent_AltDown", (PyCFunction) _wrap_wxGridEvent_AltDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEvent_ShiftDown", (PyCFunction) _wrap_wxGridEvent_ShiftDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEvent_MetaDown", (PyCFunction) _wrap_wxGridEvent_MetaDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEvent_ControlDown", (PyCFunction) _wrap_wxGridEvent_ControlDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEvent_Selecting", (PyCFunction) _wrap_wxGridEvent_Selecting, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEvent_GetPosition", (PyCFunction) _wrap_wxGridEvent_GetPosition, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEvent_GetCol", (PyCFunction) _wrap_wxGridEvent_GetCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridEvent_GetRow", (PyCFunction) _wrap_wxGridEvent_GetRow, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridEvent", (PyCFunction) _wrap_new_wxGridEvent, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetGridCornerLabelWindow", (PyCFunction) _wrap_wxGrid_GetGridCornerLabelWindow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetGridColLabelWindow", (PyCFunction) _wrap_wxGrid_GetGridColLabelWindow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetGridRowLabelWindow", (PyCFunction) _wrap_wxGrid_GetGridRowLabelWindow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetGridWindow", (PyCFunction) _wrap_wxGrid_GetGridWindow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetMargins", (PyCFunction) _wrap_wxGrid_SetMargins, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultRendererForType", (PyCFunction) _wrap_wxGrid_GetDefaultRendererForType, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultEditorForType", (PyCFunction) _wrap_wxGrid_GetDefaultEditorForType, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultRendererForCell", (PyCFunction) _wrap_wxGrid_GetDefaultRendererForCell, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultEditorForCell", (PyCFunction) _wrap_wxGrid_GetDefaultEditorForCell, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_RegisterDataType", (PyCFunction) _wrap_wxGrid_RegisterDataType, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetSelectionForeground", (PyCFunction) _wrap_wxGrid_SetSelectionForeground, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetSelectionBackground", (PyCFunction) _wrap_wxGrid_SetSelectionBackground, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetSelectionForeground", (PyCFunction) _wrap_wxGrid_GetSelectionForeground, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetSelectionBackground", (PyCFunction) _wrap_wxGrid_GetSelectionBackground, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_BlockToDeviceRect", (PyCFunction) _wrap_wxGrid_BlockToDeviceRect, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_DeselectCell", (PyCFunction) _wrap_wxGrid_DeselectCell, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_DeselectCol", (PyCFunction) _wrap_wxGrid_DeselectCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_DeselectRow", (PyCFunction) _wrap_wxGrid_DeselectRow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetSelectedCols", (PyCFunction) _wrap_wxGrid_GetSelectedCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetSelectedRows", (PyCFunction) _wrap_wxGrid_GetSelectedRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetSelectionBlockBottomRight", (PyCFunction) _wrap_wxGrid_GetSelectionBlockBottomRight, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetSelectionBlockTopLeft", (PyCFunction) _wrap_wxGrid_GetSelectionBlockTopLeft, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetSelectedCells", (PyCFunction) _wrap_wxGrid_GetSelectedCells, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_IsInSelection", (PyCFunction) _wrap_wxGrid_IsInSelection, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_ClearSelection", (PyCFunction) _wrap_wxGrid_ClearSelection, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_IsSelection", (PyCFunction) _wrap_wxGrid_IsSelection, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SelectAll", (PyCFunction) _wrap_wxGrid_SelectAll, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SelectBlock", (PyCFunction) _wrap_wxGrid_SelectBlock, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SelectCol", (PyCFunction) _wrap_wxGrid_SelectCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SelectRow", (PyCFunction) _wrap_wxGrid_SelectRow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetReadOnly", (PyCFunction) _wrap_wxGrid_SetReadOnly, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_IsReadOnly", (PyCFunction) _wrap_wxGrid_IsReadOnly, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellValue", (PyCFunction) _wrap_wxGrid_SetCellValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellValue", (PyCFunction) _wrap_wxGrid_GetCellValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellEditor", (PyCFunction) _wrap_wxGrid_GetCellEditor, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultEditor", (PyCFunction) _wrap_wxGrid_GetDefaultEditor, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellEditor", (PyCFunction) _wrap_wxGrid_SetCellEditor, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetDefaultEditor", (PyCFunction) _wrap_wxGrid_SetDefaultEditor, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellRenderer", (PyCFunction) _wrap_wxGrid_GetCellRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultRenderer", (PyCFunction) _wrap_wxGrid_GetDefaultRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellRenderer", (PyCFunction) _wrap_wxGrid_SetCellRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetDefaultRenderer", (PyCFunction) _wrap_wxGrid_SetDefaultRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellSize", (PyCFunction) _wrap_wxGrid_SetCellSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellOverflow", (PyCFunction) _wrap_wxGrid_SetCellOverflow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetDefaultCellOverflow", (PyCFunction) _wrap_wxGrid_SetDefaultCellOverflow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellAlignment", (PyCFunction) _wrap_wxGrid_SetCellAlignment, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetDefaultCellAlignment", (PyCFunction) _wrap_wxGrid_SetDefaultCellAlignment, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellFont", (PyCFunction) _wrap_wxGrid_SetCellFont, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetDefaultCellFont", (PyCFunction) _wrap_wxGrid_SetDefaultCellFont, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellTextColour", (PyCFunction) _wrap_wxGrid_SetCellTextColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetDefaultCellTextColour", (PyCFunction) _wrap_wxGrid_SetDefaultCellTextColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellBackgroundColour", (PyCFunction) _wrap_wxGrid_SetCellBackgroundColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetDefaultCellBackgroundColour", (PyCFunction) _wrap_wxGrid_SetDefaultCellBackgroundColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetRowMinimalAcceptableHeight", (PyCFunction) _wrap_wxGrid_GetRowMinimalAcceptableHeight, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetColMinimalAcceptableWidth", (PyCFunction) _wrap_wxGrid_GetColMinimalAcceptableWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetRowMinimalAcceptableHeight", (PyCFunction) _wrap_wxGrid_SetRowMinimalAcceptableHeight, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetColMinimalAcceptableWidth", (PyCFunction) _wrap_wxGrid_SetColMinimalAcceptableWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetRowMinimalHeight", (PyCFunction) _wrap_wxGrid_SetRowMinimalHeight, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetColMinimalWidth", (PyCFunction) _wrap_wxGrid_SetColMinimalWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_AutoSize", (PyCFunction) _wrap_wxGrid_AutoSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_AutoSizeRows", (PyCFunction) _wrap_wxGrid_AutoSizeRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_AutoSizeColumns", (PyCFunction) _wrap_wxGrid_AutoSizeColumns, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_AutoSizeRow", (PyCFunction) _wrap_wxGrid_AutoSizeRow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_AutoSizeColumn", (PyCFunction) _wrap_wxGrid_AutoSizeColumn, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetColSize", (PyCFunction) _wrap_wxGrid_SetColSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetDefaultColSize", (PyCFunction) _wrap_wxGrid_SetDefaultColSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetRowSize", (PyCFunction) _wrap_wxGrid_SetRowSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetDefaultRowSize", (PyCFunction) _wrap_wxGrid_SetDefaultRowSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellSize", (PyCFunction) _wrap_wxGrid_GetCellSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellOverflow", (PyCFunction) _wrap_wxGrid_GetCellOverflow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultCellOverflow", (PyCFunction) _wrap_wxGrid_GetDefaultCellOverflow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellAlignment", (PyCFunction) _wrap_wxGrid_GetCellAlignment, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultCellAlignment", (PyCFunction) _wrap_wxGrid_GetDefaultCellAlignment, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellFont", (PyCFunction) _wrap_wxGrid_GetCellFont, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultCellFont", (PyCFunction) _wrap_wxGrid_GetDefaultCellFont, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellTextColour", (PyCFunction) _wrap_wxGrid_GetCellTextColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultCellTextColour", (PyCFunction) _wrap_wxGrid_GetDefaultCellTextColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellBackgroundColour", (PyCFunction) _wrap_wxGrid_GetCellBackgroundColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultCellBackgroundColour", (PyCFunction) _wrap_wxGrid_GetDefaultCellBackgroundColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetColSize", (PyCFunction) _wrap_wxGrid_GetColSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultColSize", (PyCFunction) _wrap_wxGrid_GetDefaultColSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetRowSize", (PyCFunction) _wrap_wxGrid_GetRowSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultRowSize", (PyCFunction) _wrap_wxGrid_GetDefaultRowSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GridLinesEnabled", (PyCFunction) _wrap_wxGrid_GridLinesEnabled, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_EnableGridLines", (PyCFunction) _wrap_wxGrid_EnableGridLines, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetColFormatCustom", (PyCFunction) _wrap_wxGrid_SetColFormatCustom, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetColFormatFloat", (PyCFunction) _wrap_wxGrid_SetColFormatFloat, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetColFormatNumber", (PyCFunction) _wrap_wxGrid_SetColFormatNumber, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetColFormatBool", (PyCFunction) _wrap_wxGrid_SetColFormatBool, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetColAttr", (PyCFunction) _wrap_wxGrid_SetColAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetRowAttr", (PyCFunction) _wrap_wxGrid_SetRowAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetAttr", (PyCFunction) _wrap_wxGrid_SetAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_CanDragGridSize", (PyCFunction) _wrap_wxGrid_CanDragGridSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_DisableDragGridSize", (PyCFunction) _wrap_wxGrid_DisableDragGridSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_EnableDragGridSize", (PyCFunction) _wrap_wxGrid_EnableDragGridSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_CanDragColSize", (PyCFunction) _wrap_wxGrid_CanDragColSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_DisableDragColSize", (PyCFunction) _wrap_wxGrid_DisableDragColSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_EnableDragColSize", (PyCFunction) _wrap_wxGrid_EnableDragColSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_CanDragRowSize", (PyCFunction) _wrap_wxGrid_CanDragRowSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_DisableDragRowSize", (PyCFunction) _wrap_wxGrid_DisableDragRowSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_EnableDragRowSize", (PyCFunction) _wrap_wxGrid_EnableDragRowSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellHighlightROPenWidth", (PyCFunction) _wrap_wxGrid_SetCellHighlightROPenWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellHighlightPenWidth", (PyCFunction) _wrap_wxGrid_SetCellHighlightPenWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetCellHighlightColour", (PyCFunction) _wrap_wxGrid_SetCellHighlightColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetGridLineColour", (PyCFunction) _wrap_wxGrid_SetGridLineColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetColLabelValue", (PyCFunction) _wrap_wxGrid_SetColLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetRowLabelValue", (PyCFunction) _wrap_wxGrid_SetRowLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetColLabelAlignment", (PyCFunction) _wrap_wxGrid_SetColLabelAlignment, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetRowLabelAlignment", (PyCFunction) _wrap_wxGrid_SetRowLabelAlignment, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetLabelFont", (PyCFunction) _wrap_wxGrid_SetLabelFont, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetLabelTextColour", (PyCFunction) _wrap_wxGrid_SetLabelTextColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetLabelBackgroundColour", (PyCFunction) _wrap_wxGrid_SetLabelBackgroundColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetColLabelSize", (PyCFunction) _wrap_wxGrid_SetColLabelSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetRowLabelSize", (PyCFunction) _wrap_wxGrid_SetRowLabelSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellHighlightROPenWidth", (PyCFunction) _wrap_wxGrid_GetCellHighlightROPenWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellHighlightPenWidth", (PyCFunction) _wrap_wxGrid_GetCellHighlightPenWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetCellHighlightColour", (PyCFunction) _wrap_wxGrid_GetCellHighlightColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetGridLineColour", (PyCFunction) _wrap_wxGrid_GetGridLineColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetColLabelValue", (PyCFunction) _wrap_wxGrid_GetColLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetRowLabelValue", (PyCFunction) _wrap_wxGrid_GetRowLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetColLabelAlignment", (PyCFunction) _wrap_wxGrid_GetColLabelAlignment, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetRowLabelAlignment", (PyCFunction) _wrap_wxGrid_GetRowLabelAlignment, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetLabelFont", (PyCFunction) _wrap_wxGrid_GetLabelFont, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetLabelTextColour", (PyCFunction) _wrap_wxGrid_GetLabelTextColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetLabelBackgroundColour", (PyCFunction) _wrap_wxGrid_GetLabelBackgroundColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetColLabelSize", (PyCFunction) _wrap_wxGrid_GetColLabelSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultColLabelSize", (PyCFunction) _wrap_wxGrid_GetDefaultColLabelSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetRowLabelSize", (PyCFunction) _wrap_wxGrid_GetRowLabelSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetDefaultRowLabelSize", (PyCFunction) _wrap_wxGrid_GetDefaultRowLabelSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_MoveCursorRightBlock", (PyCFunction) _wrap_wxGrid_MoveCursorRightBlock, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_MoveCursorLeftBlock", (PyCFunction) _wrap_wxGrid_MoveCursorLeftBlock, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_MoveCursorDownBlock", (PyCFunction) _wrap_wxGrid_MoveCursorDownBlock, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_MoveCursorUpBlock", (PyCFunction) _wrap_wxGrid_MoveCursorUpBlock, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_MovePageUp", (PyCFunction) _wrap_wxGrid_MovePageUp, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_MovePageDown", (PyCFunction) _wrap_wxGrid_MovePageDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_MoveCursorRight", (PyCFunction) _wrap_wxGrid_MoveCursorRight, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_MoveCursorLeft", (PyCFunction) _wrap_wxGrid_MoveCursorLeft, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_MoveCursorDown", (PyCFunction) _wrap_wxGrid_MoveCursorDown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_MoveCursorUp", (PyCFunction) _wrap_wxGrid_MoveCursorUp, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetGridCursor", (PyCFunction) _wrap_wxGrid_SetGridCursor, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_MakeCellVisible", (PyCFunction) _wrap_wxGrid_MakeCellVisible, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_IsVisible", (PyCFunction) _wrap_wxGrid_IsVisible, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetGridCursorCol", (PyCFunction) _wrap_wxGrid_GetGridCursorCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetGridCursorRow", (PyCFunction) _wrap_wxGrid_GetGridCursorRow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_CellToRect", (PyCFunction) _wrap_wxGrid_CellToRect, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_XToEdgeOfCol", (PyCFunction) _wrap_wxGrid_XToEdgeOfCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_YToEdgeOfRow", (PyCFunction) _wrap_wxGrid_YToEdgeOfRow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_XToCol", (PyCFunction) _wrap_wxGrid_XToCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_YToRow", (PyCFunction) _wrap_wxGrid_YToRow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_XYToCell", (PyCFunction) _wrap_wxGrid_XYToCell, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SaveEditControlValue", (PyCFunction) _wrap_wxGrid_SaveEditControlValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_HideCellEditControl", (PyCFunction) _wrap_wxGrid_HideCellEditControl, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_ShowCellEditControl", (PyCFunction) _wrap_wxGrid_ShowCellEditControl, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_IsCurrentCellReadOnly", (PyCFunction) _wrap_wxGrid_IsCurrentCellReadOnly, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_IsCellEditControlShown", (PyCFunction) _wrap_wxGrid_IsCellEditControlShown, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_IsCellEditControlEnabled", (PyCFunction) _wrap_wxGrid_IsCellEditControlEnabled, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_CanEnableCellControl", (PyCFunction) _wrap_wxGrid_CanEnableCellControl, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_DisableCellEditControl", (PyCFunction) _wrap_wxGrid_DisableCellEditControl, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_EnableCellEditControl", (PyCFunction) _wrap_wxGrid_EnableCellEditControl, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_EnableEditing", (PyCFunction) _wrap_wxGrid_EnableEditing, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_IsEditable", (PyCFunction) _wrap_wxGrid_IsEditable, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_Refresh", (PyCFunction) _wrap_wxGrid_Refresh, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_ForceRefresh", (PyCFunction) _wrap_wxGrid_ForceRefresh, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetBatchCount", (PyCFunction) _wrap_wxGrid_GetBatchCount, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_EndBatch", (PyCFunction) _wrap_wxGrid_EndBatch, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_BeginBatch", (PyCFunction) _wrap_wxGrid_BeginBatch, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetTextBoxSize", (PyCFunction) _wrap_wxGrid_GetTextBoxSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_DrawTextRectangle", (PyCFunction) _wrap_wxGrid_DrawTextRectangle, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_DrawCellHighlight", (PyCFunction) _wrap_wxGrid_DrawCellHighlight, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_DeleteCols", (PyCFunction) _wrap_wxGrid_DeleteCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_AppendCols", (PyCFunction) _wrap_wxGrid_AppendCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_InsertCols", (PyCFunction) _wrap_wxGrid_InsertCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_DeleteRows", (PyCFunction) _wrap_wxGrid_DeleteRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_AppendRows", (PyCFunction) _wrap_wxGrid_AppendRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_InsertRows", (PyCFunction) _wrap_wxGrid_InsertRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_ClearGrid", (PyCFunction) _wrap_wxGrid_ClearGrid, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetTable", (PyCFunction) _wrap_wxGrid_SetTable, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetTable", (PyCFunction) _wrap_wxGrid_GetTable, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_ProcessTableMessage", (PyCFunction) _wrap_wxGrid_ProcessTableMessage, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetNumberCols", (PyCFunction) _wrap_wxGrid_GetNumberCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetNumberRows", (PyCFunction) _wrap_wxGrid_GetNumberRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_GetSelectionMode", (PyCFunction) _wrap_wxGrid_GetSelectionMode, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_SetSelectionMode", (PyCFunction) _wrap_wxGrid_SetSelectionMode, METH_VARARGS | METH_KEYWORDS },
	 { "wxGrid_CreateGrid", (PyCFunction) _wrap_wxGrid_CreateGrid, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGrid", (PyCFunction) _wrap_new_wxGrid, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellCoords___cmp__", (PyCFunction) _wrap_wxGridCellCoords___cmp__, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellCoords_asTuple", (PyCFunction) _wrap_wxGridCellCoords_asTuple, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellCoords_Set", (PyCFunction) _wrap_wxGridCellCoords_Set, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellCoords_SetCol", (PyCFunction) _wrap_wxGridCellCoords_SetCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellCoords_GetCol", (PyCFunction) _wrap_wxGridCellCoords_GetCol, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellCoords_SetRow", (PyCFunction) _wrap_wxGridCellCoords_SetRow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellCoords_GetRow", (PyCFunction) _wrap_wxGridCellCoords_GetRow, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxGridCellCoords", (PyCFunction) _wrap_delete_wxGridCellCoords, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellCoords", (PyCFunction) _wrap_new_wxGridCellCoords, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableMessage_GetCommandInt2", (PyCFunction) _wrap_wxGridTableMessage_GetCommandInt2, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableMessage_SetCommandInt2", (PyCFunction) _wrap_wxGridTableMessage_SetCommandInt2, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableMessage_GetCommandInt", (PyCFunction) _wrap_wxGridTableMessage_GetCommandInt, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableMessage_SetCommandInt", (PyCFunction) _wrap_wxGridTableMessage_SetCommandInt, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableMessage_GetId", (PyCFunction) _wrap_wxGridTableMessage_GetId, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableMessage_SetId", (PyCFunction) _wrap_wxGridTableMessage_SetId, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableMessage_GetTableObject", (PyCFunction) _wrap_wxGridTableMessage_GetTableObject, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableMessage_SetTableObject", (PyCFunction) _wrap_wxGridTableMessage_SetTableObject, METH_VARARGS | METH_KEYWORDS },
	 { "delete_wxGridTableMessage", (PyCFunction) _wrap_delete_wxGridTableMessage, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridTableMessage", (PyCFunction) _wrap_new_wxGridTableMessage, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridStringTable", (PyCFunction) _wrap_new_wxGridStringTable, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_SetColAttr", (PyCFunction) _wrap_wxPyGridTableBase_base_SetColAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_SetRowAttr", (PyCFunction) _wrap_wxPyGridTableBase_base_SetRowAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_SetAttr", (PyCFunction) _wrap_wxPyGridTableBase_base_SetAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_GetAttr", (PyCFunction) _wrap_wxPyGridTableBase_base_GetAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_CanHaveAttributes", (PyCFunction) _wrap_wxPyGridTableBase_base_CanHaveAttributes, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_SetColLabelValue", (PyCFunction) _wrap_wxPyGridTableBase_base_SetColLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_SetRowLabelValue", (PyCFunction) _wrap_wxPyGridTableBase_base_SetRowLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_GetColLabelValue", (PyCFunction) _wrap_wxPyGridTableBase_base_GetColLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_GetRowLabelValue", (PyCFunction) _wrap_wxPyGridTableBase_base_GetRowLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_DeleteCols", (PyCFunction) _wrap_wxPyGridTableBase_base_DeleteCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_AppendCols", (PyCFunction) _wrap_wxPyGridTableBase_base_AppendCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_InsertCols", (PyCFunction) _wrap_wxPyGridTableBase_base_InsertCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_DeleteRows", (PyCFunction) _wrap_wxPyGridTableBase_base_DeleteRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_AppendRows", (PyCFunction) _wrap_wxPyGridTableBase_base_AppendRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_InsertRows", (PyCFunction) _wrap_wxPyGridTableBase_base_InsertRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_Clear", (PyCFunction) _wrap_wxPyGridTableBase_base_Clear, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_CanSetValueAs", (PyCFunction) _wrap_wxPyGridTableBase_base_CanSetValueAs, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_CanGetValueAs", (PyCFunction) _wrap_wxPyGridTableBase_base_CanGetValueAs, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_base_GetTypeName", (PyCFunction) _wrap_wxPyGridTableBase_base_GetTypeName, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase_Destroy", (PyCFunction) _wrap_wxPyGridTableBase_Destroy, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridTableBase__setCallbackInfo", (PyCFunction) _wrap_wxPyGridTableBase__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxPyGridTableBase", (PyCFunction) _wrap_new_wxPyGridTableBase, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_SetColAttr", (PyCFunction) _wrap_wxGridTableBase_SetColAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_SetRowAttr", (PyCFunction) _wrap_wxGridTableBase_SetRowAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_SetAttr", (PyCFunction) _wrap_wxGridTableBase_SetAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetAttr", (PyCFunction) _wrap_wxGridTableBase_GetAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_CanHaveAttributes", (PyCFunction) _wrap_wxGridTableBase_CanHaveAttributes, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_SetColLabelValue", (PyCFunction) _wrap_wxGridTableBase_SetColLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_SetRowLabelValue", (PyCFunction) _wrap_wxGridTableBase_SetRowLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetColLabelValue", (PyCFunction) _wrap_wxGridTableBase_GetColLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetRowLabelValue", (PyCFunction) _wrap_wxGridTableBase_GetRowLabelValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_DeleteCols", (PyCFunction) _wrap_wxGridTableBase_DeleteCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_AppendCols", (PyCFunction) _wrap_wxGridTableBase_AppendCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_InsertCols", (PyCFunction) _wrap_wxGridTableBase_InsertCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_DeleteRows", (PyCFunction) _wrap_wxGridTableBase_DeleteRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_AppendRows", (PyCFunction) _wrap_wxGridTableBase_AppendRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_InsertRows", (PyCFunction) _wrap_wxGridTableBase_InsertRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_Clear", (PyCFunction) _wrap_wxGridTableBase_Clear, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_SetValueAsBool", (PyCFunction) _wrap_wxGridTableBase_SetValueAsBool, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_SetValueAsDouble", (PyCFunction) _wrap_wxGridTableBase_SetValueAsDouble, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_SetValueAsLong", (PyCFunction) _wrap_wxGridTableBase_SetValueAsLong, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetValueAsBool", (PyCFunction) _wrap_wxGridTableBase_GetValueAsBool, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetValueAsDouble", (PyCFunction) _wrap_wxGridTableBase_GetValueAsDouble, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetValueAsLong", (PyCFunction) _wrap_wxGridTableBase_GetValueAsLong, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_CanSetValueAs", (PyCFunction) _wrap_wxGridTableBase_CanSetValueAs, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_CanGetValueAs", (PyCFunction) _wrap_wxGridTableBase_CanGetValueAs, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetTypeName", (PyCFunction) _wrap_wxGridTableBase_GetTypeName, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_SetValue", (PyCFunction) _wrap_wxGridTableBase_SetValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetValue", (PyCFunction) _wrap_wxGridTableBase_GetValue, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_IsEmptyCell", (PyCFunction) _wrap_wxGridTableBase_IsEmptyCell, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetNumberCols", (PyCFunction) _wrap_wxGridTableBase_GetNumberCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetNumberRows", (PyCFunction) _wrap_wxGridTableBase_GetNumberRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetView", (PyCFunction) _wrap_wxGridTableBase_GetView, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_SetView", (PyCFunction) _wrap_wxGridTableBase_SetView, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_GetAttrProvider", (PyCFunction) _wrap_wxGridTableBase_GetAttrProvider, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase_SetAttrProvider", (PyCFunction) _wrap_wxGridTableBase_SetAttrProvider, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridTableBase__setOORInfo", (PyCFunction) _wrap_wxGridTableBase__setOORInfo, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellAttrProvider_base_SetColAttr", (PyCFunction) _wrap_wxPyGridCellAttrProvider_base_SetColAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellAttrProvider_base_SetRowAttr", (PyCFunction) _wrap_wxPyGridCellAttrProvider_base_SetRowAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellAttrProvider_base_SetAttr", (PyCFunction) _wrap_wxPyGridCellAttrProvider_base_SetAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellAttrProvider_base_GetAttr", (PyCFunction) _wrap_wxPyGridCellAttrProvider_base_GetAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellAttrProvider__setCallbackInfo", (PyCFunction) _wrap_wxPyGridCellAttrProvider__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxPyGridCellAttrProvider", (PyCFunction) _wrap_new_wxPyGridCellAttrProvider, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttrProvider_UpdateAttrCols", (PyCFunction) _wrap_wxGridCellAttrProvider_UpdateAttrCols, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttrProvider_UpdateAttrRows", (PyCFunction) _wrap_wxGridCellAttrProvider_UpdateAttrRows, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttrProvider_SetColAttr", (PyCFunction) _wrap_wxGridCellAttrProvider_SetColAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttrProvider_SetRowAttr", (PyCFunction) _wrap_wxGridCellAttrProvider_SetRowAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttrProvider_SetAttr", (PyCFunction) _wrap_wxGridCellAttrProvider_SetAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttrProvider_GetAttr", (PyCFunction) _wrap_wxGridCellAttrProvider_GetAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttrProvider__setOORInfo", (PyCFunction) _wrap_wxGridCellAttrProvider__setOORInfo, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellAttrProvider", (PyCFunction) _wrap_new_wxGridCellAttrProvider, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_SetDefAttr", (PyCFunction) _wrap_wxGridCellAttr_SetDefAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_IsReadOnly", (PyCFunction) _wrap_wxGridCellAttr_IsReadOnly, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_GetEditor", (PyCFunction) _wrap_wxGridCellAttr_GetEditor, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_GetRenderer", (PyCFunction) _wrap_wxGridCellAttr_GetRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_GetOverflow", (PyCFunction) _wrap_wxGridCellAttr_GetOverflow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_GetSize", (PyCFunction) _wrap_wxGridCellAttr_GetSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_GetAlignment", (PyCFunction) _wrap_wxGridCellAttr_GetAlignment, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_GetFont", (PyCFunction) _wrap_wxGridCellAttr_GetFont, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_GetBackgroundColour", (PyCFunction) _wrap_wxGridCellAttr_GetBackgroundColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_GetTextColour", (PyCFunction) _wrap_wxGridCellAttr_GetTextColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_HasReadWriteMode", (PyCFunction) _wrap_wxGridCellAttr_HasReadWriteMode, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_HasEditor", (PyCFunction) _wrap_wxGridCellAttr_HasEditor, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_HasRenderer", (PyCFunction) _wrap_wxGridCellAttr_HasRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_HasAlignment", (PyCFunction) _wrap_wxGridCellAttr_HasAlignment, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_HasFont", (PyCFunction) _wrap_wxGridCellAttr_HasFont, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_HasBackgroundColour", (PyCFunction) _wrap_wxGridCellAttr_HasBackgroundColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_HasTextColour", (PyCFunction) _wrap_wxGridCellAttr_HasTextColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_SetKind", (PyCFunction) _wrap_wxGridCellAttr_SetKind, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_SetEditor", (PyCFunction) _wrap_wxGridCellAttr_SetEditor, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_SetRenderer", (PyCFunction) _wrap_wxGridCellAttr_SetRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_SetReadOnly", (PyCFunction) _wrap_wxGridCellAttr_SetReadOnly, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_SetOverflow", (PyCFunction) _wrap_wxGridCellAttr_SetOverflow, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_SetSize", (PyCFunction) _wrap_wxGridCellAttr_SetSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_SetAlignment", (PyCFunction) _wrap_wxGridCellAttr_SetAlignment, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_SetFont", (PyCFunction) _wrap_wxGridCellAttr_SetFont, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_SetBackgroundColour", (PyCFunction) _wrap_wxGridCellAttr_SetBackgroundColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_SetTextColour", (PyCFunction) _wrap_wxGridCellAttr_SetTextColour, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_DecRef", (PyCFunction) _wrap_wxGridCellAttr_DecRef, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_IncRef", (PyCFunction) _wrap_wxGridCellAttr_IncRef, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_MergeWith", (PyCFunction) _wrap_wxGridCellAttr_MergeWith, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr_Clone", (PyCFunction) _wrap_wxGridCellAttr_Clone, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellAttr", (PyCFunction) _wrap_new_wxGridCellAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellAttr__setOORInfo", (PyCFunction) _wrap_wxGridCellAttr__setOORInfo, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellAutoWrapStringEditor", (PyCFunction) _wrap_new_wxGridCellAutoWrapStringEditor, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellEnumEditor", (PyCFunction) _wrap_new_wxGridCellEnumEditor, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellChoiceEditor", (PyCFunction) _wrap_new_wxGridCellChoiceEditor, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellBoolEditor", (PyCFunction) _wrap_new_wxGridCellBoolEditor, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellFloatEditor", (PyCFunction) _wrap_new_wxGridCellFloatEditor, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellNumberEditor", (PyCFunction) _wrap_new_wxGridCellNumberEditor, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellTextEditor", (PyCFunction) _wrap_new_wxGridCellTextEditor, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellEditor_base_SetParameters", (PyCFunction) _wrap_wxPyGridCellEditor_base_SetParameters, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellEditor_base_Destroy", (PyCFunction) _wrap_wxPyGridCellEditor_base_Destroy, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellEditor_base_HandleReturn", (PyCFunction) _wrap_wxPyGridCellEditor_base_HandleReturn, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellEditor_base_StartingClick", (PyCFunction) _wrap_wxPyGridCellEditor_base_StartingClick, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellEditor_base_StartingKey", (PyCFunction) _wrap_wxPyGridCellEditor_base_StartingKey, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellEditor_base_IsAcceptedKey", (PyCFunction) _wrap_wxPyGridCellEditor_base_IsAcceptedKey, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellEditor_base_PaintBackground", (PyCFunction) _wrap_wxPyGridCellEditor_base_PaintBackground, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellEditor_base_Show", (PyCFunction) _wrap_wxPyGridCellEditor_base_Show, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellEditor_base_SetSize", (PyCFunction) _wrap_wxPyGridCellEditor_base_SetSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellEditor__setCallbackInfo", (PyCFunction) _wrap_wxPyGridCellEditor__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxPyGridCellEditor", (PyCFunction) _wrap_new_wxPyGridCellEditor, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_Destroy", (PyCFunction) _wrap_wxGridCellEditor_Destroy, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_HandleReturn", (PyCFunction) _wrap_wxGridCellEditor_HandleReturn, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_StartingClick", (PyCFunction) _wrap_wxGridCellEditor_StartingClick, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_StartingKey", (PyCFunction) _wrap_wxGridCellEditor_StartingKey, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_IsAcceptedKey", (PyCFunction) _wrap_wxGridCellEditor_IsAcceptedKey, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_PaintBackground", (PyCFunction) _wrap_wxGridCellEditor_PaintBackground, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_Show", (PyCFunction) _wrap_wxGridCellEditor_Show, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_SetSize", (PyCFunction) _wrap_wxGridCellEditor_SetSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_Clone", (PyCFunction) _wrap_wxGridCellEditor_Clone, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_Reset", (PyCFunction) _wrap_wxGridCellEditor_Reset, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_EndEdit", (PyCFunction) _wrap_wxGridCellEditor_EndEdit, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_BeginEdit", (PyCFunction) _wrap_wxGridCellEditor_BeginEdit, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_Create", (PyCFunction) _wrap_wxGridCellEditor_Create, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_DecRef", (PyCFunction) _wrap_wxGridCellEditor_DecRef, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_IncRef", (PyCFunction) _wrap_wxGridCellEditor_IncRef, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_SetParameters", (PyCFunction) _wrap_wxGridCellEditor_SetParameters, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_SetCellAttr", (PyCFunction) _wrap_wxGridCellEditor_SetCellAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_GetCellAttr", (PyCFunction) _wrap_wxGridCellEditor_GetCellAttr, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_SetControl", (PyCFunction) _wrap_wxGridCellEditor_SetControl, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_GetControl", (PyCFunction) _wrap_wxGridCellEditor_GetControl, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor_IsCreated", (PyCFunction) _wrap_wxGridCellEditor_IsCreated, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellEditor__setOORInfo", (PyCFunction) _wrap_wxGridCellEditor__setOORInfo, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellAutoWrapStringRenderer", (PyCFunction) _wrap_new_wxGridCellAutoWrapStringRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellEnumRenderer", (PyCFunction) _wrap_new_wxGridCellEnumRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellDateTimeRenderer", (PyCFunction) _wrap_new_wxGridCellDateTimeRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellBoolRenderer", (PyCFunction) _wrap_new_wxGridCellBoolRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellFloatRenderer_SetPrecision", (PyCFunction) _wrap_wxGridCellFloatRenderer_SetPrecision, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellFloatRenderer_GetPrecision", (PyCFunction) _wrap_wxGridCellFloatRenderer_GetPrecision, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellFloatRenderer_SetWidth", (PyCFunction) _wrap_wxGridCellFloatRenderer_SetWidth, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellFloatRenderer_GetWidth", (PyCFunction) _wrap_wxGridCellFloatRenderer_GetWidth, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellFloatRenderer", (PyCFunction) _wrap_new_wxGridCellFloatRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellNumberRenderer", (PyCFunction) _wrap_new_wxGridCellNumberRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxGridCellStringRenderer", (PyCFunction) _wrap_new_wxGridCellStringRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellRenderer_base_SetParameters", (PyCFunction) _wrap_wxPyGridCellRenderer_base_SetParameters, METH_VARARGS | METH_KEYWORDS },
	 { "wxPyGridCellRenderer__setCallbackInfo", (PyCFunction) _wrap_wxPyGridCellRenderer__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
	 { "new_wxPyGridCellRenderer", (PyCFunction) _wrap_new_wxPyGridCellRenderer, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellRenderer_Clone", (PyCFunction) _wrap_wxGridCellRenderer_Clone, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellRenderer_GetBestSize", (PyCFunction) _wrap_wxGridCellRenderer_GetBestSize, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellRenderer_Draw", (PyCFunction) _wrap_wxGridCellRenderer_Draw, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellRenderer_DecRef", (PyCFunction) _wrap_wxGridCellRenderer_DecRef, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellRenderer_IncRef", (PyCFunction) _wrap_wxGridCellRenderer_IncRef, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellRenderer_SetParameters", (PyCFunction) _wrap_wxGridCellRenderer_SetParameters, METH_VARARGS | METH_KEYWORDS },
	 { "wxGridCellRenderer__setOORInfo", (PyCFunction) _wrap_wxGridCellRenderer__setOORInfo, METH_VARARGS | METH_KEYWORDS },
	 { NULL, NULL }
};
#ifdef __cplusplus
}
#endif
/*
 * This table is used by the pointer type-checker
 */
static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
    { "_wxEvent","_wxGridEditorCreatedEvent",SwigwxGridEditorCreatedEventTowxEvent},
    { "_wxEvent","_wxGridRangeSelectEvent",SwigwxGridRangeSelectEventTowxEvent},
    { "_wxEvent","_wxGridSizeEvent",SwigwxGridSizeEventTowxEvent},
    { "_wxEvent","_wxGridEvent",SwigwxGridEventTowxEvent},
    { "_signed_long","_long",0},
    { "_wxGridCellChoiceEditor","_wxGridCellEnumEditor",SwigwxGridCellEnumEditorTowxGridCellChoiceEditor},
    { "_wxPrintQuality","_WXGRIDSELECTIONMODES",0},
    { "_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},
    { "_wxNotifyEvent","_wxGridRangeSelectEvent",SwigwxGridRangeSelectEventTowxNotifyEvent},
    { "_wxNotifyEvent","_wxGridSizeEvent",SwigwxGridSizeEventTowxNotifyEvent},
    { "_wxNotifyEvent","_wxGridEvent",SwigwxGridEventTowxNotifyEvent},
    { "_byte","_unsigned_char",0},
    { "_long","_unsigned_long",0},
    { "_long","_signed_long",0},
    { "_size_t","_WXGRIDSELECTIONMODES",0},
    { "_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},
    { "_wxPanel","_wxGrid",SwigwxGridTowxPanel},
    { "_uint","_WXGRIDSELECTIONMODES",0},
    { "_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},
    { "_wxCommandEvent","_wxGridEditorCreatedEvent",SwigwxGridEditorCreatedEventTowxCommandEvent},
    { "_wxCommandEvent","_wxGridRangeSelectEvent",SwigwxGridRangeSelectEventTowxCommandEvent},
    { "_wxCommandEvent","_wxGridSizeEvent",SwigwxGridSizeEventTowxCommandEvent},
    { "_wxCommandEvent","_wxGridEvent",SwigwxGridEventTowxCommandEvent},
    { "_char","_wxChar",0},
    { "_wxGridCellStringRenderer","_wxGridCellAutoWrapStringRenderer",SwigwxGridCellAutoWrapStringRendererTowxGridCellStringRenderer},
    { "_wxGridCellStringRenderer","_wxGridCellEnumRenderer",SwigwxGridCellEnumRendererTowxGridCellStringRenderer},
    { "_wxGridCellStringRenderer","_wxGridCellDateTimeRenderer",SwigwxGridCellDateTimeRendererTowxGridCellStringRenderer},
    { "_wxGridCellStringRenderer","_wxGridCellFloatRenderer",SwigwxGridCellFloatRendererTowxGridCellStringRenderer},
    { "_wxGridCellStringRenderer","_wxGridCellNumberRenderer",SwigwxGridCellNumberRendererTowxGridCellStringRenderer},
    { "_struct_wxNativeFontInfo","_wxNativeFontInfo",0},
    { "_wxGridTableBase","_wxGridStringTable",SwigwxGridStringTableTowxGridTableBase},
    { "_wxGridTableBase","_wxPyGridTableBase",SwigwxPyGridTableBaseTowxGridTableBase},
    { "_EBool","_WXGRIDSELECTIONMODES",0},
    { "_EBool","_wxCoord",0},
    { "_EBool","_wxPrintQuality",0},
    { "_EBool","_signed_int",0},
    { "_EBool","_int",0},
    { "_EBool","_wxWindowID",0},
    { "_unsigned_long","_long",0},
    { "_WXGRIDSELECTIONMODES","_int",0},
    { "_WXGRIDSELECTIONMODES","_signed_int",0},
    { "_WXGRIDSELECTIONMODES","_unsigned_int",0},
    { "_WXGRIDSELECTIONMODES","_wxWindowID",0},
    { "_WXGRIDSELECTIONMODES","_uint",0},
    { "_WXGRIDSELECTIONMODES","_EBool",0},
    { "_WXGRIDSELECTIONMODES","_size_t",0},
    { "_WXGRIDSELECTIONMODES","_time_t",0},
    { "_WXGRIDSELECTIONMODES","_wxPrintQuality",0},
    { "_WXGRIDSELECTIONMODES","_wxCoord",0},
    { "_wxNativeFontInfo","_struct_wxNativeFontInfo",0},
    { "_signed_int","_WXGRIDSELECTIONMODES",0},
    { "_signed_int","_wxCoord",0},
    { "_signed_int","_wxPrintQuality",0},
    { "_signed_int","_EBool",0},
    { "_signed_int","_wxWindowID",0},
    { "_signed_int","_int",0},
    { "_wxGridCellEditor","_wxGridCellAutoWrapStringEditor",SwigwxGridCellAutoWrapStringEditorTowxGridCellEditor},
    { "_wxGridCellEditor","_wxGridCellEnumEditor",SwigwxGridCellEnumEditorTowxGridCellEditor},
    { "_wxGridCellEditor","_wxGridCellChoiceEditor",SwigwxGridCellChoiceEditorTowxGridCellEditor},
    { "_wxGridCellEditor","_wxGridCellBoolEditor",SwigwxGridCellBoolEditorTowxGridCellEditor},
    { "_wxGridCellEditor","_wxGridCellFloatEditor",SwigwxGridCellFloatEditorTowxGridCellEditor},
    { "_wxGridCellEditor","_wxGridCellNumberEditor",SwigwxGridCellNumberEditorTowxGridCellEditor},
    { "_wxGridCellEditor","_wxGridCellTextEditor",SwigwxGridCellTextEditorTowxGridCellEditor},
    { "_wxGridCellEditor","_wxPyGridCellEditor",SwigwxPyGridCellEditorTowxGridCellEditor},
    { "_WXTYPE","_short",0},
    { "_WXTYPE","_signed_short",0},
    { "_WXTYPE","_unsigned_short",0},
    { "_wxGridCellAttrProvider","_wxPyGridCellAttrProvider",SwigwxPyGridCellAttrProviderTowxGridCellAttrProvider},
    { "_unsigned_short","_WXTYPE",0},
    { "_unsigned_short","_short",0},
    { "_wxObject","_wxGridEditorCreatedEvent",SwigwxGridEditorCreatedEventTowxObject},
    { "_wxObject","_wxGridRangeSelectEvent",SwigwxGridRangeSelectEventTowxObject},
    { "_wxObject","_wxGridSizeEvent",SwigwxGridSizeEventTowxObject},
    { "_wxObject","_wxGridEvent",SwigwxGridEventTowxObject},
    { "_wxObject","_wxGrid",SwigwxGridTowxObject},
    { "_wxObject","_wxGridStringTable",SwigwxGridStringTableTowxObject},
    { "_wxObject","_wxPyGridTableBase",SwigwxPyGridTableBaseTowxObject},
    { "_wxObject","_wxGridTableBase",SwigwxGridTableBaseTowxObject},
    { "_signed_short","_WXTYPE",0},
    { "_signed_short","_short",0},
    { "_wxScrolledWindow","_wxGrid",SwigwxGridTowxScrolledWindow},
    { "_unsigned_char","_byte",0},
    { "_unsigned_int","_WXGRIDSELECTIONMODES",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","_WXGRIDSELECTIONMODES",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","_WXGRIDSELECTIONMODES",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","_WXGRIDSELECTIONMODES",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","_WXGRIDSELECTIONMODES",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},
    { "_wxGridCellRenderer","_wxGridCellAutoWrapStringRenderer",SwigwxGridCellAutoWrapStringRendererTowxGridCellRenderer},
    { "_wxGridCellRenderer","_wxGridCellEnumRenderer",SwigwxGridCellEnumRendererTowxGridCellRenderer},
    { "_wxGridCellRenderer","_wxGridCellDateTimeRenderer",SwigwxGridCellDateTimeRendererTowxGridCellRenderer},
    { "_wxGridCellRenderer","_wxGridCellBoolRenderer",SwigwxGridCellBoolRendererTowxGridCellRenderer},
    { "_wxGridCellRenderer","_wxGridCellFloatRenderer",SwigwxGridCellFloatRendererTowxGridCellRenderer},
    { "_wxGridCellRenderer","_wxGridCellNumberRenderer",SwigwxGridCellNumberRendererTowxGridCellRenderer},
    { "_wxGridCellRenderer","_wxGridCellStringRenderer",SwigwxGridCellStringRendererTowxGridCellRenderer},
    { "_wxGridCellRenderer","_wxPyGridCellRenderer",SwigwxPyGridCellRendererTowxGridCellRenderer},
    { "_wxGridCellTextEditor","_wxGridCellAutoWrapStringEditor",SwigwxGridCellAutoWrapStringEditorTowxGridCellTextEditor},
    { "_wxGridCellTextEditor","_wxGridCellFloatEditor",SwigwxGridCellFloatEditorTowxGridCellTextEditor},
    { "_wxGridCellTextEditor","_wxGridCellNumberEditor",SwigwxGridCellNumberEditorTowxGridCellTextEditor},
    { "_wxEvtHandler","_wxGrid",SwigwxGridTowxEvtHandler},
    { "_wxWindow","_wxGrid",SwigwxGridTowxWindow},
{0,0,0}};

static PyObject *SWIG_globals;
#ifdef __cplusplus
extern "C" 
#endif
SWIGEXPORT(void) initgridc() {
	 PyObject *m, *d;
	 SWIG_globals = SWIG_newvarlink();
	 m = Py_InitModule("gridc", gridcMethods);
	 d = PyModule_GetDict(m);
	 PyDict_SetItemString(d,"wxGRID_VALUE_STRING", PyString_FromString("string"));
	 PyDict_SetItemString(d,"wxGRID_VALUE_BOOL", PyString_FromString("bool"));
	 PyDict_SetItemString(d,"wxGRID_VALUE_NUMBER", PyString_FromString("long"));
	 PyDict_SetItemString(d,"wxGRID_VALUE_FLOAT", PyString_FromString("double"));
	 PyDict_SetItemString(d,"wxGRID_VALUE_CHOICE", PyString_FromString("choice"));
	 PyDict_SetItemString(d,"wxGRID_VALUE_TEXT", PyString_FromString("string"));
	 PyDict_SetItemString(d,"wxGRID_VALUE_LONG", PyString_FromString("long"));
	 PyDict_SetItemString(d,"wxGRID_VALUE_CHOICEINT", PyString_FromString("choiceint"));
	 PyDict_SetItemString(d,"wxGRID_VALUE_DATETIME", PyString_FromString("datetime"));
	 PyDict_SetItemString(d,"cvar", SWIG_globals);
	 SWIG_addvarlink(SWIG_globals,"wxGridNoCellCoords",_wrap_wxGridNoCellCoords_get, _wrap_wxGridNoCellCoords_set);
	 SWIG_addvarlink(SWIG_globals,"wxGridNoCellRect",_wrap_wxGridNoCellRect_get, _wrap_wxGridNoCellRect_set);
	 PyDict_SetItemString(d,"wxGRIDTABLE_REQUEST_VIEW_GET_VALUES", PyInt_FromLong((long) wxGRIDTABLE_REQUEST_VIEW_GET_VALUES));
	 PyDict_SetItemString(d,"wxGRIDTABLE_REQUEST_VIEW_SEND_VALUES", PyInt_FromLong((long) wxGRIDTABLE_REQUEST_VIEW_SEND_VALUES));
	 PyDict_SetItemString(d,"wxGRIDTABLE_NOTIFY_ROWS_INSERTED", PyInt_FromLong((long) wxGRIDTABLE_NOTIFY_ROWS_INSERTED));
	 PyDict_SetItemString(d,"wxGRIDTABLE_NOTIFY_ROWS_APPENDED", PyInt_FromLong((long) wxGRIDTABLE_NOTIFY_ROWS_APPENDED));
	 PyDict_SetItemString(d,"wxGRIDTABLE_NOTIFY_ROWS_DELETED", PyInt_FromLong((long) wxGRIDTABLE_NOTIFY_ROWS_DELETED));
	 PyDict_SetItemString(d,"wxGRIDTABLE_NOTIFY_COLS_INSERTED", PyInt_FromLong((long) wxGRIDTABLE_NOTIFY_COLS_INSERTED));
	 PyDict_SetItemString(d,"wxGRIDTABLE_NOTIFY_COLS_APPENDED", PyInt_FromLong((long) wxGRIDTABLE_NOTIFY_COLS_APPENDED));
	 PyDict_SetItemString(d,"wxGRIDTABLE_NOTIFY_COLS_DELETED", PyInt_FromLong((long) wxGRIDTABLE_NOTIFY_COLS_DELETED));
	 PyDict_SetItemString(d,"wxEVT_GRID_CELL_LEFT_CLICK", PyInt_FromLong((long) wxEVT_GRID_CELL_LEFT_CLICK));
	 PyDict_SetItemString(d,"wxEVT_GRID_CELL_RIGHT_CLICK", PyInt_FromLong((long) wxEVT_GRID_CELL_RIGHT_CLICK));
	 PyDict_SetItemString(d,"wxEVT_GRID_CELL_LEFT_DCLICK", PyInt_FromLong((long) wxEVT_GRID_CELL_LEFT_DCLICK));
	 PyDict_SetItemString(d,"wxEVT_GRID_CELL_RIGHT_DCLICK", PyInt_FromLong((long) wxEVT_GRID_CELL_RIGHT_DCLICK));
	 PyDict_SetItemString(d,"wxEVT_GRID_LABEL_LEFT_CLICK", PyInt_FromLong((long) wxEVT_GRID_LABEL_LEFT_CLICK));
	 PyDict_SetItemString(d,"wxEVT_GRID_LABEL_RIGHT_CLICK", PyInt_FromLong((long) wxEVT_GRID_LABEL_RIGHT_CLICK));
	 PyDict_SetItemString(d,"wxEVT_GRID_LABEL_LEFT_DCLICK", PyInt_FromLong((long) wxEVT_GRID_LABEL_LEFT_DCLICK));
	 PyDict_SetItemString(d,"wxEVT_GRID_LABEL_RIGHT_DCLICK", PyInt_FromLong((long) wxEVT_GRID_LABEL_RIGHT_DCLICK));
	 PyDict_SetItemString(d,"wxEVT_GRID_ROW_SIZE", PyInt_FromLong((long) wxEVT_GRID_ROW_SIZE));
	 PyDict_SetItemString(d,"wxEVT_GRID_COL_SIZE", PyInt_FromLong((long) wxEVT_GRID_COL_SIZE));
	 PyDict_SetItemString(d,"wxEVT_GRID_RANGE_SELECT", PyInt_FromLong((long) wxEVT_GRID_RANGE_SELECT));
	 PyDict_SetItemString(d,"wxEVT_GRID_CELL_CHANGE", PyInt_FromLong((long) wxEVT_GRID_CELL_CHANGE));
	 PyDict_SetItemString(d,"wxEVT_GRID_SELECT_CELL", PyInt_FromLong((long) wxEVT_GRID_SELECT_CELL));
	 PyDict_SetItemString(d,"wxEVT_GRID_EDITOR_SHOWN", PyInt_FromLong((long) wxEVT_GRID_EDITOR_SHOWN));
	 PyDict_SetItemString(d,"wxEVT_GRID_EDITOR_HIDDEN", PyInt_FromLong((long) wxEVT_GRID_EDITOR_HIDDEN));
	 PyDict_SetItemString(d,"wxEVT_GRID_EDITOR_CREATED", PyInt_FromLong((long) wxEVT_GRID_EDITOR_CREATED));

    wxClassInfo::CleanUpClasses();
    wxClassInfo::InitializeClasses();
	 PyDict_SetItemString(d,"wxGridCellAttr_Any", PyInt_FromLong((long) wxGridCellAttr::Any));
	 PyDict_SetItemString(d,"wxGridCellAttr_Default", PyInt_FromLong((long) wxGridCellAttr::Default));
	 PyDict_SetItemString(d,"wxGridCellAttr_Cell", PyInt_FromLong((long) wxGridCellAttr::Cell));
	 PyDict_SetItemString(d,"wxGridCellAttr_Row", PyInt_FromLong((long) wxGridCellAttr::Row));
	 PyDict_SetItemString(d,"wxGridCellAttr_Col", PyInt_FromLong((long) wxGridCellAttr::Col));
	 PyDict_SetItemString(d,"wxGridCellAttr_Merged", PyInt_FromLong((long) wxGridCellAttr::Merged));
	 PyDict_SetItemString(d,"wxGrid_wxGridSelectCells", PyInt_FromLong((long) wxGrid::wxGridSelectCells));
	 PyDict_SetItemString(d,"wxGrid_wxGridSelectRows", PyInt_FromLong((long) wxGrid::wxGridSelectRows));
	 PyDict_SetItemString(d,"wxGrid_wxGridSelectColumns", PyInt_FromLong((long) wxGrid::wxGridSelectColumns));
{
   int i;
   for (i = 0; _swig_mapping[i].n1; i++)
        SWIG_RegisterMapping(_swig_mapping[i].n1,_swig_mapping[i].n2,_swig_mapping[i].pcnv);
}
}
