/*
 * Interface wrapper code.
 *
 * Generated by SIP 4.19.24
 *
 *     Copyright: (c) 2020 by Total Control Software
 *     License:   wxWindows License
 */

#include "sipAPI_grid.h"

        #include <wx/grid.h>

        #include <wx/window.h>
        #include <wx/gdicmn.h>
        #include <wx/gdicmn.h>
        #include <wx/window.h>
        #include <wx/event.h>
        #include <wx/validate.h>
        #include <wx/colour.h>
        #include <wx/dc.h>
        #include <wx/gdicmn.h>
        #include <wx/grid.h>
        #include <wx/headerctrl.h>
        #include <wx/region.h>
        #include <wx/grid.h>
        #include <wx/grid.h>
        #include <wx/object.h>
        #include <wx/grid.h>
        #include <wx/grid.h>
        #include <wx/grid.h>
        #include <wx/grid.h>
        #include <wx/grid.h>
        #include <wx/font.h>
        #include <wx/pen.h>
        #include "arrayholder.h"
        #include <wx/grid.h>
        #include <wx/event.h>
        #include <wx/event.h>
    #include <wx/setup.h>
    #include <wxPython/wxpy_api.h>
        #include <wx/event.h>
        #include <wx/cursor.h>
        #include <wx/caret.h>
        #include <wx/layout.h>
        #include <wx/sizer.h>
        #include <wx/dnd.h>
        #include <wx/access.h>
        #include <wx/accel.h>
        #include <wx/menu.h>
        #include <wx/tooltip.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/palette.h>
        
        
        #include <wx/eventfilter.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>
    PyObject* _wxGrid_GetSelectedRowBlocks(const wxGrid* self)
    {
        wxPyThreadBlocker blocker;
        PyObject* result = PyList_New(0);
        wxGridBlockCoordsVector vector = self->GetSelectedRowBlocks();
        for (size_t idx=0; idx < vector.size(); idx++) {
            PyObject* obj;
            wxGridBlockCoords* item = new wxGridBlockCoords(vector[idx]);
            obj = wxPyConstructObject((void*)item, "wxGridBlockCoords", true);
            PyList_Append(result, obj);
            Py_DECREF(obj);
        }
        return result;
    }
    PyObject* _wxGrid_GetSelectedColBlocks(const wxGrid* self)
    {
        wxPyThreadBlocker blocker;
        PyObject* result = PyList_New(0);
        wxGridBlockCoordsVector vector = self->GetSelectedColBlocks();
        for (size_t idx=0; idx < vector.size(); idx++) {
            PyObject* obj;
            wxGridBlockCoords* item = new wxGridBlockCoords(vector[idx]);
            obj = wxPyConstructObject((void*)item, "wxGridBlockCoords", true);
            PyList_Append(result, obj);
            Py_DECREF(obj);
        }
        return result;
    }


class sipwxGrid : public  ::wxGrid
{
public:
    sipwxGrid();
    sipwxGrid( ::wxWindow*, ::wxWindowID,const  ::wxPoint&,const  ::wxSize&,long,const  ::wxString&);
    virtual ~sipwxGrid();

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
    void sipProtect_SendDestroyEvent();
    bool sipProtectVirt_ShouldScrollToChildOnFocus(bool, ::wxWindow*);
    bool sipProtectVirt_ProcessEvent(bool, ::wxEvent&);
    void sipProtectVirt_DoEnable(bool,bool);
    void sipProtectVirt_DoGetPosition(bool,int*,int*) const;
    void sipProtectVirt_DoGetSize(bool,int*,int*) const;
    void sipProtectVirt_DoGetClientSize(bool,int*,int*) const;
     ::wxSize sipProtectVirt_DoGetBestSize(bool) const;
     ::wxSize sipProtectVirt_DoGetBestClientSize(bool) const;
    void sipProtectVirt_DoSetSize(bool,int,int,int,int,int);
    void sipProtectVirt_DoSetClientSize(bool,int,int);
    void sipProtectVirt_DoSetSizeHints(bool,int,int,int,int,int,int);
     ::wxSize sipProtectVirt_DoGetBorderSize(bool) const;
    void sipProtectVirt_DoMoveWindow(bool,int,int,int,int);
    void sipProtectVirt_DoSetWindowVariant(bool, ::wxWindowVariant);
     ::wxBorder sipProtectVirt_GetDefaultBorder(bool) const;
     ::wxBorder sipProtectVirt_GetDefaultBorderForControl(bool) const;
    void sipProtectVirt_DoFreeze(bool);
    void sipProtectVirt_DoThaw(bool);
    bool sipProtectVirt_HasTransparentBackground(bool);
    bool sipProtectVirt_TryBefore(bool, ::wxEvent&);
    bool sipProtectVirt_TryAfter(bool, ::wxEvent&);
    bool sipProtect_CanHaveAttributes() const;
    int sipProtect_GetColMinimalWidth(int) const;
    int sipProtect_GetColRight(int) const;
    int sipProtect_GetColLeft(int) const;
    int sipProtect_GetRowMinimalHeight(int) const;

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
     ::wxPen GetRowGridLinePen(int) SIP_OVERRIDE;
     ::wxPen GetDefaultGridLinePen() SIP_OVERRIDE;
     ::wxPen GetColGridLinePen(int) SIP_OVERRIDE;
     ::wxSize DoGetBestClientSize() const SIP_OVERRIDE;
     ::wxSize DoGetBestSize() const SIP_OVERRIDE;
    void DoThaw() SIP_OVERRIDE;
    void DoFreeze() SIP_OVERRIDE;
     ::wxBorder GetDefaultBorderForControl() const SIP_OVERRIDE;
     ::wxBorder GetDefaultBorder() const SIP_OVERRIDE;
    void DoSetWindowVariant( ::wxWindowVariant) SIP_OVERRIDE;
    void DoMoveWindow(int,int,int,int) SIP_OVERRIDE;
     ::wxSize DoGetBorderSize() const SIP_OVERRIDE;
    void DoSetSizeHints(int,int,int,int,int,int) SIP_OVERRIDE;
    void DoSetClientSize(int,int) SIP_OVERRIDE;
    void DoSetSize(int,int,int,int,int) SIP_OVERRIDE;
    void DoGetClientSize(int*,int*) const SIP_OVERRIDE;
    void DoGetSize(int*,int*) const SIP_OVERRIDE;
    void DoGetPosition(int*,int*) const SIP_OVERRIDE;
    void DoEnable(bool) SIP_OVERRIDE;
     ::wxWindow* GetMainWindowOfCompositeControl() SIP_OVERRIDE;
    void OnInternalIdle() SIP_OVERRIDE;
    void InitDialog() SIP_OVERRIDE;
    void InheritAttributes() SIP_OVERRIDE;
    bool Destroy() SIP_OVERRIDE;
    bool Validate() SIP_OVERRIDE;
    bool TransferDataToWindow() SIP_OVERRIDE;
    bool TransferDataFromWindow() SIP_OVERRIDE;
    void SetValidator(const  ::wxValidator&) SIP_OVERRIDE;
     ::wxValidator* GetValidator() SIP_OVERRIDE;
    bool ShouldInheritColours() const SIP_OVERRIDE;
    bool HasTransparentBackground() SIP_OVERRIDE;
     ::wxPoint GetClientAreaOrigin() const SIP_OVERRIDE;
    bool InformFirstDirection(int,int,int) SIP_OVERRIDE;
    void EnableVisibleFocus(bool) SIP_OVERRIDE;
    void SetCanFocus(bool) SIP_OVERRIDE;
    bool AcceptsFocusRecursively() const SIP_OVERRIDE;
    bool AcceptsFocusFromKeyboard() const SIP_OVERRIDE;
    bool AcceptsFocus() const SIP_OVERRIDE;
    bool TryAfter( ::wxEvent&) SIP_OVERRIDE;
    bool TryBefore( ::wxEvent&) SIP_OVERRIDE;
    bool ProcessEvent( ::wxEvent&) SIP_OVERRIDE;
    void AddChild( ::wxWindowBase*) SIP_OVERRIDE;
    void RemoveChild( ::wxWindowBase*) SIP_OVERRIDE;
    void OnDraw( ::wxDC&) SIP_OVERRIDE;
    bool SendAutoScrollEvents( ::wxScrollWinEvent&) const SIP_OVERRIDE;
    bool ShouldScrollToChildOnFocus( ::wxWindow*) SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

private:
    sipwxGrid(const sipwxGrid &);
    sipwxGrid &operator = (const sipwxGrid &);

    char sipPyMethods[46];
};

sipwxGrid::sipwxGrid():  ::wxGrid(), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxGrid::sipwxGrid( ::wxWindow*parent, ::wxWindowID id,const  ::wxPoint& pos,const  ::wxSize& size,long style,const  ::wxString& name):  ::wxGrid(parent,id,pos,size,style,name), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxGrid::~sipwxGrid()
{
    sipInstanceDestroyedEx(&sipPySelf);
}

 ::wxPen sipwxGrid::GetRowGridLinePen(int row)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[0],sipPySelf,SIP_NULLPTR,sipName_GetRowGridLinePen);

    if (!sipMeth)
        return  ::wxGrid::GetRowGridLinePen(row);

    extern  ::wxPen sipVH__grid_65(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int);

    return sipVH__grid_65(sipGILState, 0, sipPySelf, sipMeth, row);
}

 ::wxPen sipwxGrid::GetDefaultGridLinePen()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[1],sipPySelf,SIP_NULLPTR,sipName_GetDefaultGridLinePen);

    if (!sipMeth)
        return  ::wxGrid::GetDefaultGridLinePen();

    extern  ::wxPen sipVH__grid_66(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_66(sipGILState, 0, sipPySelf, sipMeth);
}

 ::wxPen sipwxGrid::GetColGridLinePen(int col)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[2],sipPySelf,SIP_NULLPTR,sipName_GetColGridLinePen);

    if (!sipMeth)
        return  ::wxGrid::GetColGridLinePen(col);

    extern  ::wxPen sipVH__grid_65(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int);

    return sipVH__grid_65(sipGILState, 0, sipPySelf, sipMeth, col);
}

 ::wxSize sipwxGrid::DoGetBestClientSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[3]),sipPySelf,SIP_NULLPTR,sipName_DoGetBestClientSize);

    if (!sipMeth)
        return  ::wxGrid::DoGetBestClientSize();

    extern  ::wxSize sipVH__grid_61(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_61(sipGILState, 0, sipPySelf, sipMeth);
}

 ::wxSize sipwxGrid::DoGetBestSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[4]),sipPySelf,SIP_NULLPTR,sipName_DoGetBestSize);

    if (!sipMeth)
        return  ::wxGrid::DoGetBestSize();

    extern  ::wxSize sipVH__grid_61(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_61(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxGrid::DoThaw()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[5],sipPySelf,SIP_NULLPTR,sipName_DoThaw);

    if (!sipMeth)
    {
         ::wxGrid::DoThaw();
        return;
    }

    extern void sipVH__grid_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH__grid_9(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxGrid::DoFreeze()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[6],sipPySelf,SIP_NULLPTR,sipName_DoFreeze);

    if (!sipMeth)
    {
         ::wxGrid::DoFreeze();
        return;
    }

    extern void sipVH__grid_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH__grid_9(sipGILState, 0, sipPySelf, sipMeth);
}

 ::wxBorder sipwxGrid::GetDefaultBorderForControl() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[7]),sipPySelf,SIP_NULLPTR,sipName_GetDefaultBorderForControl);

    if (!sipMeth)
        return  ::wxGrid::GetDefaultBorderForControl();

    extern  ::wxBorder sipVH__grid_64(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_64(sipGILState, 0, sipPySelf, sipMeth);
}

 ::wxBorder sipwxGrid::GetDefaultBorder() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[8]),sipPySelf,SIP_NULLPTR,sipName_GetDefaultBorder);

    if (!sipMeth)
        return  ::wxGrid::GetDefaultBorder();

    extern  ::wxBorder sipVH__grid_64(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_64(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxGrid::DoSetWindowVariant( ::wxWindowVariant variant)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[9],sipPySelf,SIP_NULLPTR,sipName_DoSetWindowVariant);

    if (!sipMeth)
    {
         ::wxGrid::DoSetWindowVariant(variant);
        return;
    }

    extern void sipVH__grid_63(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindowVariant);

    sipVH__grid_63(sipGILState, 0, sipPySelf, sipMeth, variant);
}

void sipwxGrid::DoMoveWindow(int x,int y,int width,int height)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[10],sipPySelf,SIP_NULLPTR,sipName_DoMoveWindow);

    if (!sipMeth)
    {
         ::wxGrid::DoMoveWindow(x,y,width,height);
        return;
    }

    extern void sipVH__grid_62(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int,int,int);

    sipVH__grid_62(sipGILState, 0, sipPySelf, sipMeth, x, y, width, height);
}

 ::wxSize sipwxGrid::DoGetBorderSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[11]),sipPySelf,SIP_NULLPTR,sipName_DoGetBorderSize);

    if (!sipMeth)
        return  ::wxGrid::DoGetBorderSize();

    extern  ::wxSize sipVH__grid_61(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_61(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxGrid::DoSetSizeHints(int minW,int minH,int maxW,int maxH,int incW,int incH)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[12],sipPySelf,SIP_NULLPTR,sipName_DoSetSizeHints);

    if (!sipMeth)
    {
         ::wxGrid::DoSetSizeHints(minW,minH,maxW,maxH,incW,incH);
        return;
    }

    extern void sipVH__grid_60(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int,int,int,int,int);

    sipVH__grid_60(sipGILState, 0, sipPySelf, sipMeth, minW, minH, maxW, maxH, incW, incH);
}

void sipwxGrid::DoSetClientSize(int width,int height)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[13],sipPySelf,SIP_NULLPTR,sipName_DoSetClientSize);

    if (!sipMeth)
    {
         ::wxGrid::DoSetClientSize(width,height);
        return;
    }

    extern void sipVH__grid_59(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int);

    sipVH__grid_59(sipGILState, 0, sipPySelf, sipMeth, width, height);
}

void sipwxGrid::DoSetSize(int x,int y,int width,int height,int sizeFlags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[14],sipPySelf,SIP_NULLPTR,sipName_DoSetSize);

    if (!sipMeth)
    {
         ::wxGrid::DoSetSize(x,y,width,height,sizeFlags);
        return;
    }

    extern void sipVH__grid_58(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int,int,int,int);

    sipVH__grid_58(sipGILState, 0, sipPySelf, sipMeth, x, y, width, height, sizeFlags);
}

void sipwxGrid::DoGetClientSize(int*width,int*height) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[15]),sipPySelf,SIP_NULLPTR,sipName_DoGetClientSize);

    if (!sipMeth)
    {
         ::wxGrid::DoGetClientSize(width,height);
        return;
    }

    extern void sipVH__grid_57(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int*,int*);

    sipVH__grid_57(sipGILState, 0, sipPySelf, sipMeth, width, height);
}

void sipwxGrid::DoGetSize(int*width,int*height) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[16]),sipPySelf,SIP_NULLPTR,sipName_DoGetSize);

    if (!sipMeth)
    {
         ::wxGrid::DoGetSize(width,height);
        return;
    }

    extern void sipVH__grid_57(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int*,int*);

    sipVH__grid_57(sipGILState, 0, sipPySelf, sipMeth, width, height);
}

void sipwxGrid::DoGetPosition(int*x,int*y) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[17]),sipPySelf,SIP_NULLPTR,sipName_DoGetPosition);

    if (!sipMeth)
    {
         ::wxGrid::DoGetPosition(x,y);
        return;
    }

    extern void sipVH__grid_57(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int*,int*);

    sipVH__grid_57(sipGILState, 0, sipPySelf, sipMeth, x, y);
}

void sipwxGrid::DoEnable(bool enable)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[18],sipPySelf,SIP_NULLPTR,sipName_DoEnable);

    if (!sipMeth)
    {
         ::wxGrid::DoEnable(enable);
        return;
    }

    extern void sipVH__grid_52(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, bool);

    sipVH__grid_52(sipGILState, 0, sipPySelf, sipMeth, enable);
}

 ::wxWindow* sipwxGrid::GetMainWindowOfCompositeControl()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[19],sipPySelf,SIP_NULLPTR,sipName_GetMainWindowOfCompositeControl);

    if (!sipMeth)
        return  ::wxGrid::GetMainWindowOfCompositeControl();

    extern  ::wxWindow* sipVH__grid_56(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_56(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxGrid::OnInternalIdle()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[20],sipPySelf,SIP_NULLPTR,sipName_OnInternalIdle);

    if (!sipMeth)
    {
         ::wxGrid::OnInternalIdle();
        return;
    }

    extern void sipVH__grid_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH__grid_9(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxGrid::InitDialog()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[21],sipPySelf,SIP_NULLPTR,sipName_InitDialog);

    if (!sipMeth)
    {
         ::wxGrid::InitDialog();
        return;
    }

    extern void sipVH__grid_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH__grid_9(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxGrid::InheritAttributes()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[22],sipPySelf,SIP_NULLPTR,sipName_InheritAttributes);

    if (!sipMeth)
    {
         ::wxGrid::InheritAttributes();
        return;
    }

    extern void sipVH__grid_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH__grid_9(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxGrid::Destroy()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[23],sipPySelf,SIP_NULLPTR,sipName_Destroy);

    if (!sipMeth)
        return  ::wxGrid::Destroy();

    extern bool sipVH__grid_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_44(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxGrid::Validate()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[24],sipPySelf,SIP_NULLPTR,sipName_Validate);

    if (!sipMeth)
        return  ::wxGrid::Validate();

    extern bool sipVH__grid_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_44(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxGrid::TransferDataToWindow()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[25],sipPySelf,SIP_NULLPTR,sipName_TransferDataToWindow);

    if (!sipMeth)
        return  ::wxGrid::TransferDataToWindow();

    extern bool sipVH__grid_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_44(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxGrid::TransferDataFromWindow()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[26],sipPySelf,SIP_NULLPTR,sipName_TransferDataFromWindow);

    if (!sipMeth)
        return  ::wxGrid::TransferDataFromWindow();

    extern bool sipVH__grid_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_44(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxGrid::SetValidator(const  ::wxValidator& validator)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[27],sipPySelf,SIP_NULLPTR,sipName_SetValidator);

    if (!sipMeth)
    {
         ::wxGrid::SetValidator(validator);
        return;
    }

    extern void sipVH__grid_18(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::wxValidator&);

    sipVH__grid_18(sipGILState, 0, sipPySelf, sipMeth, validator);
}

 ::wxValidator* sipwxGrid::GetValidator()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[28],sipPySelf,SIP_NULLPTR,sipName_GetValidator);

    if (!sipMeth)
        return  ::wxGrid::GetValidator();

    extern  ::wxValidator* sipVH__grid_55(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_55(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxGrid::ShouldInheritColours() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[29]),sipPySelf,SIP_NULLPTR,sipName_ShouldInheritColours);

    if (!sipMeth)
        return  ::wxGrid::ShouldInheritColours();

    extern bool sipVH__grid_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_44(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxGrid::HasTransparentBackground()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[30],sipPySelf,SIP_NULLPTR,sipName_HasTransparentBackground);

    if (!sipMeth)
        return  ::wxGrid::HasTransparentBackground();

    extern bool sipVH__grid_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_44(sipGILState, 0, sipPySelf, sipMeth);
}

 ::wxPoint sipwxGrid::GetClientAreaOrigin() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[31]),sipPySelf,SIP_NULLPTR,sipName_GetClientAreaOrigin);

    if (!sipMeth)
        return  ::wxGrid::GetClientAreaOrigin();

    extern  ::wxPoint sipVH__grid_54(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_54(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxGrid::InformFirstDirection(int direction,int size,int availableOtherDir)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[32],sipPySelf,SIP_NULLPTR,sipName_InformFirstDirection);

    if (!sipMeth)
        return  ::wxGrid::InformFirstDirection(direction,size,availableOtherDir);

    extern bool sipVH__grid_53(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int,int);

    return sipVH__grid_53(sipGILState, 0, sipPySelf, sipMeth, direction, size, availableOtherDir);
}

void sipwxGrid::EnableVisibleFocus(bool enabled)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[33],sipPySelf,SIP_NULLPTR,sipName_EnableVisibleFocus);

    if (!sipMeth)
    {
         ::wxGrid::EnableVisibleFocus(enabled);
        return;
    }

    extern void sipVH__grid_52(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, bool);

    sipVH__grid_52(sipGILState, 0, sipPySelf, sipMeth, enabled);
}

void sipwxGrid::SetCanFocus(bool canFocus)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[34],sipPySelf,SIP_NULLPTR,sipName_SetCanFocus);

    if (!sipMeth)
    {
         ::wxGrid::SetCanFocus(canFocus);
        return;
    }

    extern void sipVH__grid_52(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, bool);

    sipVH__grid_52(sipGILState, 0, sipPySelf, sipMeth, canFocus);
}

bool sipwxGrid::AcceptsFocusRecursively() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[35]),sipPySelf,SIP_NULLPTR,sipName_AcceptsFocusRecursively);

    if (!sipMeth)
        return  ::wxGrid::AcceptsFocusRecursively();

    extern bool sipVH__grid_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_44(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxGrid::AcceptsFocusFromKeyboard() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[36]),sipPySelf,SIP_NULLPTR,sipName_AcceptsFocusFromKeyboard);

    if (!sipMeth)
        return  ::wxGrid::AcceptsFocusFromKeyboard();

    extern bool sipVH__grid_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_44(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxGrid::AcceptsFocus() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[37]),sipPySelf,SIP_NULLPTR,sipName_AcceptsFocus);

    if (!sipMeth)
        return  ::wxGrid::AcceptsFocus();

    extern bool sipVH__grid_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__grid_44(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxGrid::TryAfter( ::wxEvent& event)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[38],sipPySelf,SIP_NULLPTR,sipName_TryAfter);

    if (!sipMeth)
        return  ::wxGrid::TryAfter(event);

    extern bool sipVH__grid_51(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxEvent&);

    return sipVH__grid_51(sipGILState, 0, sipPySelf, sipMeth, event);
}

bool sipwxGrid::TryBefore( ::wxEvent& event)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[39],sipPySelf,SIP_NULLPTR,sipName_TryBefore);

    if (!sipMeth)
        return  ::wxGrid::TryBefore(event);

    extern bool sipVH__grid_51(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxEvent&);

    return sipVH__grid_51(sipGILState, 0, sipPySelf, sipMeth, event);
}

bool sipwxGrid::ProcessEvent( ::wxEvent& event)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[40],sipPySelf,SIP_NULLPTR,sipName_ProcessEvent);

    if (!sipMeth)
        return  ::wxGrid::ProcessEvent(event);

    extern bool sipVH__grid_51(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxEvent&);

    return sipVH__grid_51(sipGILState, 0, sipPySelf, sipMeth, event);
}

void sipwxGrid::AddChild( ::wxWindowBase*child)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[41],sipPySelf,SIP_NULLPTR,sipName_AddChild);

    if (!sipMeth)
    {
         ::wxGrid::AddChild(child);
        return;
    }

    extern void sipVH__grid_50(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindowBase*);

    sipVH__grid_50(sipGILState, 0, sipPySelf, sipMeth, child);
}

void sipwxGrid::RemoveChild( ::wxWindowBase*child)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[42],sipPySelf,SIP_NULLPTR,sipName_RemoveChild);

    if (!sipMeth)
    {
         ::wxGrid::RemoveChild(child);
        return;
    }

    extern void sipVH__grid_50(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindowBase*);

    sipVH__grid_50(sipGILState, 0, sipPySelf, sipMeth, child);
}

void sipwxGrid::OnDraw( ::wxDC& dc)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[43],sipPySelf,SIP_NULLPTR,sipName_OnDraw);

    if (!sipMeth)
    {
         ::wxGrid::OnDraw(dc);
        return;
    }

    extern void sipVH__grid_49(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&);

    sipVH__grid_49(sipGILState, 0, sipPySelf, sipMeth, dc);
}

bool sipwxGrid::SendAutoScrollEvents( ::wxScrollWinEvent& event) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[44]),sipPySelf,SIP_NULLPTR,sipName_SendAutoScrollEvents);

    if (!sipMeth)
        return  ::wxGrid::SendAutoScrollEvents(event);

    extern bool sipVH__grid_48(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxScrollWinEvent&);

    return sipVH__grid_48(sipGILState, 0, sipPySelf, sipMeth, event);
}

bool sipwxGrid::ShouldScrollToChildOnFocus( ::wxWindow*child)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[45],sipPySelf,SIP_NULLPTR,sipName_ShouldScrollToChildOnFocus);

    if (!sipMeth)
        return  ::wxGrid::ShouldScrollToChildOnFocus(child);

    extern bool sipVH__grid_47(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*);

    return sipVH__grid_47(sipGILState, 0, sipPySelf, sipMeth, child);
}

void sipwxGrid::sipProtect_SendDestroyEvent()
{
     ::wxWindow::SendDestroyEvent();
}

bool sipwxGrid::sipProtectVirt_ShouldScrollToChildOnFocus(bool sipSelfWasArg, ::wxWindow*child)
{
    return (sipSelfWasArg ?  ::wxScrolledCanvas::ShouldScrollToChildOnFocus(child) : ShouldScrollToChildOnFocus(child));
}

bool sipwxGrid::sipProtectVirt_ProcessEvent(bool sipSelfWasArg, ::wxEvent& event)
{
    return (sipSelfWasArg ?  ::wxGrid::ProcessEvent(event) : ProcessEvent(event));
}

void sipwxGrid::sipProtectVirt_DoEnable(bool sipSelfWasArg,bool enable)
{
    (sipSelfWasArg ?  ::wxGrid::DoEnable(enable) : DoEnable(enable));
}

void sipwxGrid::sipProtectVirt_DoGetPosition(bool sipSelfWasArg,int*x,int*y) const
{
    (sipSelfWasArg ?  ::wxGrid::DoGetPosition(x,y) : DoGetPosition(x,y));
}

void sipwxGrid::sipProtectVirt_DoGetSize(bool sipSelfWasArg,int*width,int*height) const
{
    (sipSelfWasArg ?  ::wxGrid::DoGetSize(width,height) : DoGetSize(width,height));
}

void sipwxGrid::sipProtectVirt_DoGetClientSize(bool sipSelfWasArg,int*width,int*height) const
{
    (sipSelfWasArg ?  ::wxGrid::DoGetClientSize(width,height) : DoGetClientSize(width,height));
}

 ::wxSize sipwxGrid::sipProtectVirt_DoGetBestSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxGrid::DoGetBestSize() : DoGetBestSize());
}

 ::wxSize sipwxGrid::sipProtectVirt_DoGetBestClientSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxGrid::DoGetBestClientSize() : DoGetBestClientSize());
}

void sipwxGrid::sipProtectVirt_DoSetSize(bool sipSelfWasArg,int x,int y,int width,int height,int sizeFlags)
{
    (sipSelfWasArg ?  ::wxGrid::DoSetSize(x,y,width,height,sizeFlags) : DoSetSize(x,y,width,height,sizeFlags));
}

void sipwxGrid::sipProtectVirt_DoSetClientSize(bool sipSelfWasArg,int width,int height)
{
    (sipSelfWasArg ?  ::wxGrid::DoSetClientSize(width,height) : DoSetClientSize(width,height));
}

void sipwxGrid::sipProtectVirt_DoSetSizeHints(bool sipSelfWasArg,int minW,int minH,int maxW,int maxH,int incW,int incH)
{
    (sipSelfWasArg ?  ::wxGrid::DoSetSizeHints(minW,minH,maxW,maxH,incW,incH) : DoSetSizeHints(minW,minH,maxW,maxH,incW,incH));
}

 ::wxSize sipwxGrid::sipProtectVirt_DoGetBorderSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxGrid::DoGetBorderSize() : DoGetBorderSize());
}

void sipwxGrid::sipProtectVirt_DoMoveWindow(bool sipSelfWasArg,int x,int y,int width,int height)
{
    (sipSelfWasArg ?  ::wxGrid::DoMoveWindow(x,y,width,height) : DoMoveWindow(x,y,width,height));
}

void sipwxGrid::sipProtectVirt_DoSetWindowVariant(bool sipSelfWasArg, ::wxWindowVariant variant)
{
    (sipSelfWasArg ?  ::wxGrid::DoSetWindowVariant(variant) : DoSetWindowVariant(variant));
}

 ::wxBorder sipwxGrid::sipProtectVirt_GetDefaultBorder(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxGrid::GetDefaultBorder() : GetDefaultBorder());
}

 ::wxBorder sipwxGrid::sipProtectVirt_GetDefaultBorderForControl(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxGrid::GetDefaultBorderForControl() : GetDefaultBorderForControl());
}

void sipwxGrid::sipProtectVirt_DoFreeze(bool sipSelfWasArg)
{
    (sipSelfWasArg ?  ::wxGrid::DoFreeze() : DoFreeze());
}

void sipwxGrid::sipProtectVirt_DoThaw(bool sipSelfWasArg)
{
    (sipSelfWasArg ?  ::wxGrid::DoThaw() : DoThaw());
}

bool sipwxGrid::sipProtectVirt_HasTransparentBackground(bool sipSelfWasArg)
{
    return (sipSelfWasArg ?  ::wxGrid::HasTransparentBackground() : HasTransparentBackground());
}

bool sipwxGrid::sipProtectVirt_TryBefore(bool sipSelfWasArg, ::wxEvent& event)
{
    return (sipSelfWasArg ?  ::wxGrid::TryBefore(event) : TryBefore(event));
}

bool sipwxGrid::sipProtectVirt_TryAfter(bool sipSelfWasArg, ::wxEvent& event)
{
    return (sipSelfWasArg ?  ::wxGrid::TryAfter(event) : TryAfter(event));
}

bool sipwxGrid::sipProtect_CanHaveAttributes() const
{
    return  ::wxGrid::CanHaveAttributes();
}

int sipwxGrid::sipProtect_GetColMinimalWidth(int col) const
{
    return  ::wxGrid::GetColMinimalWidth(col);
}

int sipwxGrid::sipProtect_GetColRight(int col) const
{
    return  ::wxGrid::GetColRight(col);
}

int sipwxGrid::sipProtect_GetColLeft(int col) const
{
    return  ::wxGrid::GetColLeft(col);
}

int sipwxGrid::sipProtect_GetRowMinimalHeight(int col) const
{
    return  ::wxGrid::GetRowMinimalHeight(col);
}


PyDoc_STRVAR(doc_wxGrid_SendDestroyEvent, "SendDestroyEvent()\n"
"\n"
"Generate wxWindowDestroyEvent for this window.");

extern "C" {static PyObject *meth_wxGrid_SendDestroyEvent(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SendDestroyEvent(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        sipwxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtect_SendDestroyEvent();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SendDestroyEvent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ShouldScrollToChildOnFocus, "ShouldScrollToChildOnFocus(child) -> bool\n"
"\n"
"This method can be overridden in a derived class to prevent scrolling\n"
"the child window into view automatically when it gets focus.");

extern "C" {static PyObject *meth_wxGrid_ShouldScrollToChildOnFocus(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ShouldScrollToChildOnFocus(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxWindow* child;
        sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_child,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxWindow, &child))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_ShouldScrollToChildOnFocus(sipSelfWasArg,child);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ShouldScrollToChildOnFocus, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_Create, "Create(parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.WANTS_CHARS, name=GridNameStr) -> bool\n"
"\n"
"Creates the grid window for an object initialized using the default\n"
"constructor.");

extern "C" {static PyObject *meth_wxGrid_Create(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_Create(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxWindow* parent;
         ::wxWindowID id = wxID_ANY;
        const  ::wxPoint& posdef = wxDefaultPosition;
        const  ::wxPoint* pos = &posdef;
        int posState = 0;
        const  ::wxSize& sizedef = wxDefaultSize;
        const  ::wxSize* size = &sizedef;
        int sizeState = 0;
        long style = wxWANTS_CHARS;
        const  ::wxString& namedef = wxGridNameStr;
        const  ::wxString* name = &namedef;
        int nameState = 0;
        sipWrapper *sipOwner = SIP_NULLPTR;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_parent,
            sipName_id,
            sipName_pos,
            sipName_size,
            sipName_style,
            sipName_name,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJH|iJ1J1lJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxWindow, &parent, &sipOwner, &id, sipType_wxPoint, &pos, &posState, sipType_wxSize, &size, &sizeState, &style, sipType_wxString,&name, &nameState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Create(parent,id,*pos,*size,style,*name);
            Py_END_ALLOW_THREADS

            if (sipOwner)
                sipTransferTo(sipSelf, (PyObject *)sipOwner);
            else
                sipTransferBack(sipSelf);
            sipReleaseType(const_cast< ::wxPoint *>(pos),sipType_wxPoint,posState);
            sipReleaseType(const_cast< ::wxSize *>(size),sipType_wxSize,sizeState);
            sipReleaseType(const_cast< ::wxString *>(name),sipType_wxString,nameState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_Create, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CreateGrid, "CreateGrid(numRows, numCols, selmode=GridSelectCells) -> bool\n"
"\n"
"Creates a grid with the specified initial number of rows and columns.");

extern "C" {static PyObject *meth_wxGrid_CreateGrid(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CreateGrid(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int numRows;
        int numCols;
         ::wxGrid::wxGridSelectionModes selmode =  ::wxGrid::wxGridSelectCells;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_numRows,
            sipName_numCols,
            sipName_selmode,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii|E", &sipSelf, sipType_wxGrid, &sipCpp, &numRows, &numCols, sipType_wxGrid_wxGridSelectionModes, &selmode))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CreateGrid(numRows,numCols,selmode);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CreateGrid, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid__SetTable, "_SetTable(table, takeOwnership=False, selmode=GridSelectCells) -> bool\n"
"\n"
"Passes a pointer to a custom grid table to be used by the grid.");

extern "C" {static PyObject *meth_wxGrid__SetTable(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid__SetTable(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGridTableBase* table;
        bool takeOwnership = 0;
         ::wxGrid::wxGridSelectionModes selmode =  ::wxGrid::wxGridSelectCells;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_table,
            sipName_takeOwnership,
            sipName_selmode,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8|bE", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridTableBase, &table, &takeOwnership, sipType_wxGrid_wxGridSelectionModes, &selmode))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->SetTable(table,takeOwnership,selmode);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName__SetTable, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AssignTable, "AssignTable(table, selmode=GridSelectCells)\n"
"\n"
"Assigns a pointer to a custom grid table to be used by the grid.");

extern "C" {static PyObject *meth_wxGrid_AssignTable(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AssignTable(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGridTableBase* table;
         ::wxGrid::wxGridSelectionModes selmode =  ::wxGrid::wxGridSelectCells;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_table,
            sipName_selmode,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8|E", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridTableBase, &table, sipType_wxGrid_wxGridSelectionModes, &selmode))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AssignTable(table,selmode);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AssignTable, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ProcessTableMessage, "ProcessTableMessage(msg) -> bool\n"
"\n"
"Receive and handle a message from the table.");

extern "C" {static PyObject *meth_wxGrid_ProcessTableMessage(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ProcessTableMessage(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGridTableMessage* msg;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_msg,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridTableMessage, &msg))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->ProcessTableMessage(*msg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ProcessTableMessage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_EnableGridLines, "EnableGridLines(enable=True)\n"
"\n"
"Turns the drawing of grid lines on or off.");

extern "C" {static PyObject *meth_wxGrid_EnableGridLines(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_EnableGridLines(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool enable = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_enable,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &enable))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->EnableGridLines(enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_EnableGridLines, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColGridLinePen, "GetColGridLinePen(col) -> wx.Pen\n"
"\n"
"Returns the pen used for vertical grid lines.");

extern "C" {static PyObject *meth_wxGrid_GetColGridLinePen(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColGridLinePen(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
             ::wxPen*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPen((sipSelfWasArg ? sipCpp-> ::wxGrid::GetColGridLinePen(col) : sipCpp->GetColGridLinePen(col)));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPen,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColGridLinePen, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultGridLinePen, "GetDefaultGridLinePen() -> wx.Pen\n"
"\n"
"Returns the pen used for grid lines.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultGridLinePen(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultGridLinePen(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxPen*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPen((sipSelfWasArg ? sipCpp-> ::wxGrid::GetDefaultGridLinePen() : sipCpp->GetDefaultGridLinePen()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPen,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultGridLinePen, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetGridLineColour, "GetGridLineColour() -> wx.Colour\n"
"\n"
"Returns the colour used for grid lines.");

extern "C" {static PyObject *meth_wxGrid_GetGridLineColour(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetGridLineColour(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxColour*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(sipCpp->GetGridLineColour());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxColour,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetGridLineColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetRowGridLinePen, "GetRowGridLinePen(row) -> wx.Pen\n"
"\n"
"Returns the pen used for horizontal grid lines.");

extern "C" {static PyObject *meth_wxGrid_GetRowGridLinePen(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetRowGridLinePen(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int row;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &row))
        {
             ::wxPen*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPen((sipSelfWasArg ? sipCpp-> ::wxGrid::GetRowGridLinePen(row) : sipCpp->GetRowGridLinePen(row)));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPen,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetRowGridLinePen, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GridLinesEnabled, "GridLinesEnabled() -> bool\n"
"\n"
"Returns true if drawing of grid lines is turned on, false otherwise.");

extern "C" {static PyObject *meth_wxGrid_GridLinesEnabled(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GridLinesEnabled(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GridLinesEnabled();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GridLinesEnabled, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetGridLineColour, "SetGridLineColour(colour)\n"
"\n"
"Sets the colour used to draw grid lines.");

extern "C" {static PyObject *meth_wxGrid_SetGridLineColour(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetGridLineColour(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxColour* colour;
        int colourState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_colour,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxColour, &colour, &colourState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetGridLineColour(*colour);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(colour),sipType_wxColour,colourState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetGridLineColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColLabelAlignment, "GetColLabelAlignment() -> (horiz, vert)\n"
"\n"
"Sets the arguments to the current column label alignment values.");

extern "C" {static PyObject *meth_wxGrid_GetColLabelAlignment(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColLabelAlignment(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int horiz;
        int vert;
        const  ::wxGrid *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->GetColLabelAlignment(&horiz,&vert);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",horiz,vert);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColLabelAlignment, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColLabelTextOrientation, "GetColLabelTextOrientation() -> int\n"
"\n"
"Returns the orientation of the column labels (either wxHORIZONTAL or\n"
"wxVERTICAL).");

extern "C" {static PyObject *meth_wxGrid_GetColLabelTextOrientation(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColLabelTextOrientation(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetColLabelTextOrientation();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColLabelTextOrientation, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColLabelValue, "GetColLabelValue(col) -> String\n"
"\n"
"Returns the specified column label.");

extern "C" {static PyObject *meth_wxGrid_GetColLabelValue(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColLabelValue(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
             ::wxString*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxString(sipCpp->GetColLabelValue(col));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxString,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColLabelValue, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCornerLabelAlignment, "GetCornerLabelAlignment(horiz, vert)\n"
"\n"
"Sets the arguments to the current corner label alignment values.");

extern "C" {static PyObject *meth_wxGrid_GetCornerLabelAlignment(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCornerLabelAlignment(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int horiz;
        int vert;
        const  ::wxGrid *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->GetCornerLabelAlignment(&horiz,&vert);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",horiz,vert);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCornerLabelAlignment, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCornerLabelTextOrientation, "GetCornerLabelTextOrientation() -> int\n"
"\n"
"Returns the orientation of the corner label (either wxHORIZONTAL or\n"
"wxVERTICAL).");

extern "C" {static PyObject *meth_wxGrid_GetCornerLabelTextOrientation(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCornerLabelTextOrientation(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetCornerLabelTextOrientation();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCornerLabelTextOrientation, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCornerLabelValue, "GetCornerLabelValue() -> String\n"
"\n"
"Returns the (top-left) corner label.");

extern "C" {static PyObject *meth_wxGrid_GetCornerLabelValue(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCornerLabelValue(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxString*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxString(sipCpp->GetCornerLabelValue());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxString,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCornerLabelValue, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetLabelBackgroundColour, "GetLabelBackgroundColour() -> wx.Colour\n"
"\n"
"Returns the colour used for the background of row and column labels.");

extern "C" {static PyObject *meth_wxGrid_GetLabelBackgroundColour(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetLabelBackgroundColour(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxColour*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(sipCpp->GetLabelBackgroundColour());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxColour,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetLabelBackgroundColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetLabelFont, "GetLabelFont() -> wx.Font\n"
"\n"
"Returns the font used for row and column labels.");

extern "C" {static PyObject *meth_wxGrid_GetLabelFont(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetLabelFont(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxFont*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxFont(sipCpp->GetLabelFont());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxFont,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetLabelFont, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetLabelTextColour, "GetLabelTextColour() -> wx.Colour\n"
"\n"
"Returns the colour used for row and column label text.");

extern "C" {static PyObject *meth_wxGrid_GetLabelTextColour(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetLabelTextColour(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxColour*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(sipCpp->GetLabelTextColour());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxColour,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetLabelTextColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetRowLabelAlignment, "GetRowLabelAlignment() -> (horiz, vert)\n"
"\n"
"Returns the alignment used for row labels.");

extern "C" {static PyObject *meth_wxGrid_GetRowLabelAlignment(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetRowLabelAlignment(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int horiz;
        int vert;
        const  ::wxGrid *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->GetRowLabelAlignment(&horiz,&vert);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",horiz,vert);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetRowLabelAlignment, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetRowLabelValue, "GetRowLabelValue(row) -> String\n"
"\n"
"Returns the specified row label.");

extern "C" {static PyObject *meth_wxGrid_GetRowLabelValue(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetRowLabelValue(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &row))
        {
             ::wxString*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxString(sipCpp->GetRowLabelValue(row));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxString,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetRowLabelValue, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_HideColLabels, "HideColLabels()\n"
"\n"
"Hides the column labels by calling SetColLabelSize() with a size of 0.");

extern "C" {static PyObject *meth_wxGrid_HideColLabels(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_HideColLabels(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->HideColLabels();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_HideColLabels, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_HideRowLabels, "HideRowLabels()\n"
"\n"
"Hides the row labels by calling SetRowLabelSize() with a size of 0.");

extern "C" {static PyObject *meth_wxGrid_HideRowLabels(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_HideRowLabels(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->HideRowLabels();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_HideRowLabels, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColLabelAlignment, "SetColLabelAlignment(horiz, vert)\n"
"\n"
"Sets the horizontal and vertical alignment of column label text.");

extern "C" {static PyObject *meth_wxGrid_SetColLabelAlignment(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColLabelAlignment(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int horiz;
        int vert;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_horiz,
            sipName_vert,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &horiz, &vert))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColLabelAlignment(horiz,vert);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColLabelAlignment, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColLabelTextOrientation, "SetColLabelTextOrientation(textOrientation)\n"
"\n"
"Sets the orientation of the column labels (either wxHORIZONTAL or\n"
"wxVERTICAL).");

extern "C" {static PyObject *meth_wxGrid_SetColLabelTextOrientation(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColLabelTextOrientation(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int textOrientation;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_textOrientation,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &textOrientation))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColLabelTextOrientation(textOrientation);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColLabelTextOrientation, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColLabelValue, "SetColLabelValue(col, value)\n"
"\n"
"Set the value for the given column label.");

extern "C" {static PyObject *meth_wxGrid_SetColLabelValue(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColLabelValue(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const  ::wxString* value;
        int valueState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
            sipName_value,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ1", &sipSelf, sipType_wxGrid, &sipCpp, &col, sipType_wxString,&value, &valueState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColLabelValue(col,*value);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(value),sipType_wxString,valueState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColLabelValue, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCornerLabelAlignment, "SetCornerLabelAlignment(horiz, vert)\n"
"\n"
"Sets the horizontal and vertical alignment of the (top-left) corner\n"
"label text.");

extern "C" {static PyObject *meth_wxGrid_SetCornerLabelAlignment(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCornerLabelAlignment(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int horiz;
        int vert;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_horiz,
            sipName_vert,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &horiz, &vert))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCornerLabelAlignment(horiz,vert);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCornerLabelAlignment, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCornerLabelTextOrientation, "SetCornerLabelTextOrientation(textOrientation)\n"
"\n"
"Sets the orientation of the (top-left) corner label (either\n"
"wxHORIZONTAL or wxVERTICAL).");

extern "C" {static PyObject *meth_wxGrid_SetCornerLabelTextOrientation(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCornerLabelTextOrientation(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int textOrientation;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_textOrientation,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &textOrientation))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCornerLabelTextOrientation(textOrientation);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCornerLabelTextOrientation, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCornerLabelValue, "SetCornerLabelValue()\n"
"\n"
"Set the value for the (top-left) corner label.");

extern "C" {static PyObject *meth_wxGrid_SetCornerLabelValue(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCornerLabelValue(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxString* a0;
        int a0State = 0;
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxString,&a0, &a0State))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCornerLabelValue(*a0);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(a0),sipType_wxString,a0State);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCornerLabelValue, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetLabelBackgroundColour, "SetLabelBackgroundColour(colour)\n"
"\n"
"Sets the background colour for row and column labels.");

extern "C" {static PyObject *meth_wxGrid_SetLabelBackgroundColour(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetLabelBackgroundColour(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxColour* colour;
        int colourState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_colour,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxColour, &colour, &colourState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetLabelBackgroundColour(*colour);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(colour),sipType_wxColour,colourState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetLabelBackgroundColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetLabelFont, "SetLabelFont(font)\n"
"\n"
"Sets the font for row and column labels.");

extern "C" {static PyObject *meth_wxGrid_SetLabelFont(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetLabelFont(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxFont* font;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_font,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxFont, &font))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetLabelFont(*font);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetLabelFont, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetLabelTextColour, "SetLabelTextColour(colour)\n"
"\n"
"Sets the colour for row and column label text.");

extern "C" {static PyObject *meth_wxGrid_SetLabelTextColour(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetLabelTextColour(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxColour* colour;
        int colourState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_colour,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxColour, &colour, &colourState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetLabelTextColour(*colour);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(colour),sipType_wxColour,colourState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetLabelTextColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetRowLabelAlignment, "SetRowLabelAlignment(horiz, vert)\n"
"\n"
"Sets the horizontal and vertical alignment of row label text.");

extern "C" {static PyObject *meth_wxGrid_SetRowLabelAlignment(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetRowLabelAlignment(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int horiz;
        int vert;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_horiz,
            sipName_vert,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &horiz, &vert))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRowLabelAlignment(horiz,vert);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetRowLabelAlignment, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetRowLabelValue, "SetRowLabelValue(row, value)\n"
"\n"
"Sets the value for the given row label.");

extern "C" {static PyObject *meth_wxGrid_SetRowLabelValue(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetRowLabelValue(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        const  ::wxString* value;
        int valueState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_value,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ1", &sipSelf, sipType_wxGrid, &sipCpp, &row, sipType_wxString,&value, &valueState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRowLabelValue(row,*value);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(value),sipType_wxString,valueState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetRowLabelValue, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetUseNativeColLabels, "SetUseNativeColLabels(native=True)\n"
"\n"
"Call this in order to make the column labels use a native look by\n"
"using wxRendererNative::DrawHeaderButton() internally.");

extern "C" {static PyObject *meth_wxGrid_SetUseNativeColLabels(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetUseNativeColLabels(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool native = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_native,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &native))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetUseNativeColLabels(native);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetUseNativeColLabels, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_UseNativeColHeader, "UseNativeColHeader(native=True) -> bool\n"
"\n"
"Enable the use of native header window for column labels.");

extern "C" {static PyObject *meth_wxGrid_UseNativeColHeader(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_UseNativeColHeader(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool native = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_native,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &native))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->UseNativeColHeader(native);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_UseNativeColHeader, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellAlignment, "GetCellAlignment(row, col) -> (horiz, vert)\n"
"\n"
"Sets the arguments to the horizontal and vertical text alignment\n"
"values for the grid cell at the specified location.");

extern "C" {static PyObject *meth_wxGrid_GetCellAlignment(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellAlignment(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        int horiz;
        int vert;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->GetCellAlignment(row,col,&horiz,&vert);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",horiz,vert);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellAlignment, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellBackgroundColour, "GetCellBackgroundColour(row, col) -> wx.Colour\n"
"\n"
"Returns the background colour of the cell at the specified location.");

extern "C" {static PyObject *meth_wxGrid_GetCellBackgroundColour(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellBackgroundColour(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxColour*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(sipCpp->GetCellBackgroundColour(row,col));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxColour,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellBackgroundColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellFont, "GetCellFont(row, col) -> wx.Font\n"
"\n"
"Returns the font for text in the grid cell at the specified location.");

extern "C" {static PyObject *meth_wxGrid_GetCellFont(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellFont(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxFont*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxFont(sipCpp->GetCellFont(row,col));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxFont,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellFont, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellTextColour, "GetCellTextColour(row, col) -> wx.Colour\n"
"\n"
"Returns the text colour for the grid cell at the specified location.");

extern "C" {static PyObject *meth_wxGrid_GetCellTextColour(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellTextColour(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxColour*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(sipCpp->GetCellTextColour(row,col));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxColour,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellTextColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultCellAlignment, "GetDefaultCellAlignment() -> (horiz, vert)\n"
"\n"
"Returns the default cell alignment.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultCellAlignment(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultCellAlignment(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int horiz;
        int vert;
        const  ::wxGrid *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->GetDefaultCellAlignment(&horiz,&vert);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",horiz,vert);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultCellAlignment, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultCellBackgroundColour, "GetDefaultCellBackgroundColour() -> wx.Colour\n"
"\n"
"Returns the current default background colour for grid cells.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultCellBackgroundColour(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultCellBackgroundColour(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxColour*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(sipCpp->GetDefaultCellBackgroundColour());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxColour,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultCellBackgroundColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultCellFont, "GetDefaultCellFont() -> wx.Font\n"
"\n"
"Returns the current default font for grid cell text.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultCellFont(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultCellFont(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxFont*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxFont(sipCpp->GetDefaultCellFont());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxFont,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultCellFont, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultCellTextColour, "GetDefaultCellTextColour() -> wx.Colour\n"
"\n"
"Returns the current default colour for grid cell text.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultCellTextColour(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultCellTextColour(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxColour*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(sipCpp->GetDefaultCellTextColour());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxColour,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultCellTextColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellAlignment, "SetCellAlignment(row, col, horiz, vert)\n"
"\n"
"Sets the horizontal and vertical alignment for grid cell text at the\n"
"specified location.");

extern "C" {static PyObject *meth_wxGrid_SetCellAlignment(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellAlignment(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        int horiz;
        int vert;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_horiz,
            sipName_vert,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, &horiz, &vert))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellAlignment(row,col,horiz,vert);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellAlignment, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellBackgroundColour, "SetCellBackgroundColour(row, col, colour)\n"
"\n"
"Set the background colour for the given cell or all cells by default.");

extern "C" {static PyObject *meth_wxGrid_SetCellBackgroundColour(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellBackgroundColour(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxColour* colour;
        int colourState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_colour,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiJ1", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, sipType_wxColour, &colour, &colourState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellBackgroundColour(row,col,*colour);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(colour),sipType_wxColour,colourState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellBackgroundColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellFont, "SetCellFont(row, col, font)\n"
"\n"
"Sets the font for text in the grid cell at the specified location.");

extern "C" {static PyObject *meth_wxGrid_SetCellFont(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellFont(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxFont* font;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_font,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiJ9", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, sipType_wxFont, &font))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellFont(row,col,*font);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellFont, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellTextColour, "SetCellTextColour(row, col, colour)\n"
"\n"
"Sets the text colour for the given cell.");

extern "C" {static PyObject *meth_wxGrid_SetCellTextColour(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellTextColour(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxColour* colour;
        int colourState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_colour,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiJ1", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, sipType_wxColour, &colour, &colourState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellTextColour(row,col,*colour);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(colour),sipType_wxColour,colourState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellTextColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetDefaultCellAlignment, "SetDefaultCellAlignment(horiz, vert)\n"
"\n"
"Sets the default horizontal and vertical alignment for grid cell text.");

extern "C" {static PyObject *meth_wxGrid_SetDefaultCellAlignment(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetDefaultCellAlignment(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int horiz;
        int vert;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_horiz,
            sipName_vert,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &horiz, &vert))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDefaultCellAlignment(horiz,vert);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetDefaultCellAlignment, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetDefaultCellBackgroundColour, "SetDefaultCellBackgroundColour(colour)\n"
"\n"
"Sets the default background colour for grid cells.");

extern "C" {static PyObject *meth_wxGrid_SetDefaultCellBackgroundColour(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetDefaultCellBackgroundColour(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxColour* colour;
        int colourState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_colour,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxColour, &colour, &colourState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDefaultCellBackgroundColour(*colour);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(colour),sipType_wxColour,colourState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetDefaultCellBackgroundColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetDefaultCellFont, "SetDefaultCellFont(font)\n"
"\n"
"Sets the default font to be used for grid cell text.");

extern "C" {static PyObject *meth_wxGrid_SetDefaultCellFont(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetDefaultCellFont(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxFont* font;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_font,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxFont, &font))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDefaultCellFont(*font);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetDefaultCellFont, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetDefaultCellTextColour, "SetDefaultCellTextColour(colour)\n"
"\n"
"Sets the current default colour for grid cell text.");

extern "C" {static PyObject *meth_wxGrid_SetDefaultCellTextColour(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetDefaultCellTextColour(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxColour* colour;
        int colourState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_colour,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxColour, &colour, &colourState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDefaultCellTextColour(*colour);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(colour),sipType_wxColour,colourState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetDefaultCellTextColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CanEnableCellControl, "CanEnableCellControl() -> bool\n"
"\n"
"Returns true if the in-place edit control for the current grid cell\n"
"can be used and false otherwise.");

extern "C" {static PyObject *meth_wxGrid_CanEnableCellControl(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CanEnableCellControl(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CanEnableCellControl();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CanEnableCellControl, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DisableCellEditControl, "DisableCellEditControl()\n"
"\n"
"Disables in-place editing of grid cells.");

extern "C" {static PyObject *meth_wxGrid_DisableCellEditControl(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DisableCellEditControl(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DisableCellEditControl();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DisableCellEditControl, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_EnableCellEditControl, "EnableCellEditControl(enable=True)\n"
"\n"
"Enables or disables in-place editing of grid cell data.");

extern "C" {static PyObject *meth_wxGrid_EnableCellEditControl(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_EnableCellEditControl(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool enable = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_enable,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &enable))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->EnableCellEditControl(enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_EnableCellEditControl, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_EnableEditing, "EnableEditing(edit)\n"
"\n"
"Makes the grid globally editable or read-only.");

extern "C" {static PyObject *meth_wxGrid_EnableEditing(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_EnableEditing(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool edit;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_edit,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &edit))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->EnableEditing(edit);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_EnableEditing, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellEditor, "GetCellEditor(row, col) -> GridCellEditor\n"
"\n"
"Returns a pointer to the editor for the cell at the specified\n"
"location.");

extern "C" {static PyObject *meth_wxGrid_GetCellEditor(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellEditor(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxGridCellEditor*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetCellEditor(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxGridCellEditor,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellEditor, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellRenderer, "GetCellRenderer(row, col) -> GridCellRenderer\n"
"\n"
"Returns a pointer to the renderer for the grid cell at the specified\n"
"location.");

extern "C" {static PyObject *meth_wxGrid_GetCellRenderer(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellRenderer(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxGridCellRenderer*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetCellRenderer(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxGridCellRenderer,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellRenderer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellValue, "GetCellValue(row, col) -> String\n"
"GetCellValue(coords) -> String\n"
"\n"
"Returns the string contained in the cell at the specified location.\n"
"");

extern "C" {static PyObject *meth_wxGrid_GetCellValue(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellValue(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxString*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxString(sipCpp->GetCellValue(row,col));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxString,SIP_NULLPTR);
        }
    }

    {
        const  ::wxGridCellCoords* coords;
        int coordsState = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_coords,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &coords, &coordsState))
        {
             ::wxString*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxString(sipCpp->GetCellValue(*coords));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(coords),sipType_wxGridCellCoords,coordsState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxString,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellValue, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultEditor, "GetDefaultEditor() -> GridCellEditor\n"
"\n"
"Returns a pointer to the current default grid cell editor.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultEditor(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultEditor(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGridCellEditor*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultEditor();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxGridCellEditor,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultEditor, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultEditorForCell, "GetDefaultEditorForCell(row, col) -> GridCellEditor\n"
"GetDefaultEditorForCell(c) -> GridCellEditor\n"
"\n"
"Returns the default editor for the specified cell.\n"
"");

extern "C" {static PyObject *meth_wxGrid_GetDefaultEditorForCell(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultEditorForCell(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxGridCellEditor*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultEditorForCell(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxGridCellEditor,SIP_NULLPTR);
        }
    }

    {
        const  ::wxGridCellCoords* c;
        int cState = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_c,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &c, &cState))
        {
             ::wxGridCellEditor*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultEditorForCell(*c);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(c),sipType_wxGridCellCoords,cState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxGridCellEditor,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultEditorForCell, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultEditorForType, "GetDefaultEditorForType(typeName) -> GridCellEditor\n"
"\n"
"Returns the default editor for the cells containing values of the\n"
"given type.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultEditorForType(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultEditorForType(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxString* typeName;
        int typeNameState = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_typeName,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxString,&typeName, &typeNameState))
        {
             ::wxGridCellEditor*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultEditorForType(*typeName);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(typeName),sipType_wxString,typeNameState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxGridCellEditor,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultEditorForType, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultRenderer, "GetDefaultRenderer() -> GridCellRenderer\n"
"\n"
"Returns a pointer to the current default grid cell renderer.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultRenderer(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultRenderer(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGridCellRenderer*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultRenderer();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxGridCellRenderer,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultRenderer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultRendererForCell, "GetDefaultRendererForCell(row, col) -> GridCellRenderer\n"
"\n"
"Returns the default renderer for the given cell.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultRendererForCell(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultRendererForCell(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxGridCellRenderer*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultRendererForCell(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxGridCellRenderer,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultRendererForCell, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultRendererForType, "GetDefaultRendererForType(typeName) -> GridCellRenderer\n"
"\n"
"Returns the default renderer for the cell containing values of the\n"
"given type.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultRendererForType(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultRendererForType(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxString* typeName;
        int typeNameState = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_typeName,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxString,&typeName, &typeNameState))
        {
             ::wxGridCellRenderer*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultRendererForType(*typeName);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(typeName),sipType_wxString,typeNameState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxGridCellRenderer,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultRendererForType, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_HideCellEditControl, "HideCellEditControl()\n"
"\n"
"Hides the in-place cell edit control.");

extern "C" {static PyObject *meth_wxGrid_HideCellEditControl(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_HideCellEditControl(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->HideCellEditControl();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_HideCellEditControl, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsCellEditControlEnabled, "IsCellEditControlEnabled() -> bool\n"
"\n"
"Returns true if the in-place edit control is currently enabled.");

extern "C" {static PyObject *meth_wxGrid_IsCellEditControlEnabled(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsCellEditControlEnabled(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsCellEditControlEnabled();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsCellEditControlEnabled, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsCellEditControlShown, "IsCellEditControlShown() -> bool\n"
"\n"
"Returns true if the in-place edit control is currently shown.");

extern "C" {static PyObject *meth_wxGrid_IsCellEditControlShown(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsCellEditControlShown(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsCellEditControlShown();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsCellEditControlShown, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsCurrentCellReadOnly, "IsCurrentCellReadOnly() -> bool\n"
"\n"
"Returns true if the current cell is read-only.");

extern "C" {static PyObject *meth_wxGrid_IsCurrentCellReadOnly(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsCurrentCellReadOnly(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsCurrentCellReadOnly();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsCurrentCellReadOnly, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsEditable, "IsEditable() -> bool\n"
"\n"
"Returns false if the whole grid has been set as read-only or true\n"
"otherwise.");

extern "C" {static PyObject *meth_wxGrid_IsEditable(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsEditable(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsEditable();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsEditable, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsReadOnly, "IsReadOnly(row, col) -> bool\n"
"\n"
"Returns true if the cell at the specified location can't be edited.");

extern "C" {static PyObject *meth_wxGrid_IsReadOnly(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsReadOnly(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsReadOnly(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsReadOnly, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_RegisterDataType, "RegisterDataType(typeName, renderer, editor)\n"
"\n"
"Register a new data type.");

extern "C" {static PyObject *meth_wxGrid_RegisterDataType(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_RegisterDataType(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxString* typeName;
        int typeNameState = 0;
         ::wxGridCellRenderer* renderer;
         ::wxGridCellEditor* editor;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_typeName,
            sipName_renderer,
            sipName_editor,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J:J:", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxString,&typeName, &typeNameState, sipType_wxGridCellRenderer, &renderer, sipType_wxGridCellEditor, &editor))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->RegisterDataType(*typeName,renderer,editor);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(typeName),sipType_wxString,typeNameState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_RegisterDataType, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SaveEditControlValue, "SaveEditControlValue()\n"
"\n"
"Sets the value of the current grid cell to the current in-place edit\n"
"control value.");

extern "C" {static PyObject *meth_wxGrid_SaveEditControlValue(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SaveEditControlValue(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SaveEditControlValue();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SaveEditControlValue, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellEditor, "SetCellEditor(row, col, editor)\n"
"\n"
"Sets the editor for the grid cell at the specified location.");

extern "C" {static PyObject *meth_wxGrid_SetCellEditor(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellEditor(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
         ::wxGridCellEditor* editor;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_editor,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiJ:", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, sipType_wxGridCellEditor, &editor))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellEditor(row,col,editor);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellEditor, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellRenderer, "SetCellRenderer(row, col, renderer)\n"
"\n"
"Sets the renderer for the grid cell at the specified location.");

extern "C" {static PyObject *meth_wxGrid_SetCellRenderer(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellRenderer(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
         ::wxGridCellRenderer* renderer;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_renderer,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiJ:", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, sipType_wxGridCellRenderer, &renderer))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellRenderer(row,col,renderer);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellRenderer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellValue, "SetCellValue(row, col, s)\n"
"SetCellValue(coords, s)\n"
"\n"
"Sets the string value for the cell at the specified location.\n"
"");

extern "C" {static PyObject *meth_wxGrid_SetCellValue(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellValue(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxString* s;
        int sState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_s,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiJ1", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, sipType_wxString,&s, &sState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellValue(row,col,*s);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(s),sipType_wxString,sState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::wxGridCellCoords* coords;
        int coordsState = 0;
        const  ::wxString* s;
        int sState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_coords,
            sipName_s,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &coords, &coordsState, sipType_wxString,&s, &sState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellValue(*coords,*s);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(coords),sipType_wxGridCellCoords,coordsState);
            sipReleaseType(const_cast< ::wxString *>(s),sipType_wxString,sState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellValue, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColFormatBool, "SetColFormatBool(col)\n"
"\n"
"Sets the specified column to display boolean values.");

extern "C" {static PyObject *meth_wxGrid_SetColFormatBool(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColFormatBool(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColFormatBool(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColFormatBool, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColFormatCustom, "SetColFormatCustom(col, typeName)\n"
"\n"
"Sets the specified column to display data in a custom format.");

extern "C" {static PyObject *meth_wxGrid_SetColFormatCustom(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColFormatCustom(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const  ::wxString* typeName;
        int typeNameState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
            sipName_typeName,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ1", &sipSelf, sipType_wxGrid, &sipCpp, &col, sipType_wxString,&typeName, &typeNameState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColFormatCustom(col,*typeName);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(typeName),sipType_wxString,typeNameState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColFormatCustom, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColFormatFloat, "SetColFormatFloat(col, width=-1, precision=-1)\n"
"\n"
"Sets the specified column to display floating point values with the\n"
"given width and precision.");

extern "C" {static PyObject *meth_wxGrid_SetColFormatFloat(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColFormatFloat(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        int width = -1;
        int precision = -1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
            sipName_width,
            sipName_precision,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|ii", &sipSelf, sipType_wxGrid, &sipCpp, &col, &width, &precision))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColFormatFloat(col,width,precision);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColFormatFloat, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColFormatNumber, "SetColFormatNumber(col)\n"
"\n"
"Sets the specified column to display integer values.");

extern "C" {static PyObject *meth_wxGrid_SetColFormatNumber(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColFormatNumber(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColFormatNumber(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColFormatNumber, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColFormatDate, "SetColFormatDate(col, format=\"\")\n"
"\n"
"Sets the specified column to display date values.");

extern "C" {static PyObject *meth_wxGrid_SetColFormatDate(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColFormatDate(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const  ::wxString& formatdef = wxString();
        const  ::wxString* format = &formatdef;
        int formatState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
            sipName_format,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|J1", &sipSelf, sipType_wxGrid, &sipCpp, &col, sipType_wxString,&format, &formatState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColFormatDate(col,*format);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(format),sipType_wxString,formatState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColFormatDate, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetDefaultEditor, "SetDefaultEditor(editor)\n"
"\n"
"Sets the default editor for grid cells.");

extern "C" {static PyObject *meth_wxGrid_SetDefaultEditor(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetDefaultEditor(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGridCellEditor* editor;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_editor,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ:", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellEditor, &editor))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDefaultEditor(editor);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetDefaultEditor, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetDefaultRenderer, "SetDefaultRenderer(renderer)\n"
"\n"
"Sets the default renderer for grid cells.");

extern "C" {static PyObject *meth_wxGrid_SetDefaultRenderer(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetDefaultRenderer(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGridCellRenderer* renderer;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_renderer,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ:", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellRenderer, &renderer))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDefaultRenderer(renderer);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetDefaultRenderer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetReadOnly, "SetReadOnly(row, col, isReadOnly=True)\n"
"\n"
"Makes the cell at the specified location read-only or editable.");

extern "C" {static PyObject *meth_wxGrid_SetReadOnly(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetReadOnly(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        bool isReadOnly = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_isReadOnly,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii|b", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, &isReadOnly))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetReadOnly(row,col,isReadOnly);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetReadOnly, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ShowCellEditControl, "ShowCellEditControl()\n"
"\n"
"Displays the active in-place cell edit control for the current cell\n"
"after it was hidden.");

extern "C" {static PyObject *meth_wxGrid_ShowCellEditControl(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ShowCellEditControl(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ShowCellEditControl();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ShowCellEditControl, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AutoSize, "AutoSize()\n"
"\n"
"Automatically sets the height and width of all rows and columns to fit\n"
"their contents.");

extern "C" {static PyObject *meth_wxGrid_AutoSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AutoSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AutoSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AutoSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AutoSizeColLabelSize, "AutoSizeColLabelSize(col)\n"
"\n"
"Automatically adjusts width of the column to fit its label.");

extern "C" {static PyObject *meth_wxGrid_AutoSizeColLabelSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AutoSizeColLabelSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AutoSizeColLabelSize(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AutoSizeColLabelSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AutoSizeColumn, "AutoSizeColumn(col, setAsMin=True)\n"
"\n"
"Automatically sizes the column to fit its contents.");

extern "C" {static PyObject *meth_wxGrid_AutoSizeColumn(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AutoSizeColumn(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        bool setAsMin = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
            sipName_setAsMin,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|b", &sipSelf, sipType_wxGrid, &sipCpp, &col, &setAsMin))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AutoSizeColumn(col,setAsMin);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AutoSizeColumn, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AutoSizeColumns, "AutoSizeColumns(setAsMin=True)\n"
"\n"
"Automatically sizes all columns to fit their contents.");

extern "C" {static PyObject *meth_wxGrid_AutoSizeColumns(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AutoSizeColumns(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool setAsMin = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_setAsMin,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &setAsMin))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AutoSizeColumns(setAsMin);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AutoSizeColumns, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AutoSizeRow, "AutoSizeRow(row, setAsMin=True)\n"
"\n"
"Automatically sizes the row to fit its contents.");

extern "C" {static PyObject *meth_wxGrid_AutoSizeRow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AutoSizeRow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        bool setAsMin = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_setAsMin,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|b", &sipSelf, sipType_wxGrid, &sipCpp, &row, &setAsMin))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AutoSizeRow(row,setAsMin);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AutoSizeRow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AutoSizeRowLabelSize, "AutoSizeRowLabelSize(col)\n"
"\n"
"Automatically adjusts height of the row to fit its label.");

extern "C" {static PyObject *meth_wxGrid_AutoSizeRowLabelSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AutoSizeRowLabelSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AutoSizeRowLabelSize(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AutoSizeRowLabelSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AutoSizeRows, "AutoSizeRows(setAsMin=True)\n"
"\n"
"Automatically sizes all rows to fit their contents.");

extern "C" {static PyObject *meth_wxGrid_AutoSizeRows(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AutoSizeRows(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool setAsMin = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_setAsMin,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &setAsMin))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AutoSizeRows(setAsMin);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AutoSizeRows, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellFitMode, "GetCellFitMode(row, col) -> GridFitMode\n"
"\n"
"Returns the cell fitting mode.");

extern "C" {static PyObject *meth_wxGrid_GetCellFitMode(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellFitMode(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxGridFitMode*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridFitMode(sipCpp->GetCellFitMode(row,col));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridFitMode,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellFitMode, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellOverflow, "GetCellOverflow(row, col) -> bool\n"
"\n"
"Returns true if the cell value can overflow.");

extern "C" {static PyObject *meth_wxGrid_GetCellOverflow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellOverflow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetCellOverflow(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellOverflow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColLabelSize, "GetColLabelSize() -> int\n"
"\n"
"Returns the current height of the column labels.");

extern "C" {static PyObject *meth_wxGrid_GetColLabelSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColLabelSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetColLabelSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColLabelSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColMinimalAcceptableWidth, "GetColMinimalAcceptableWidth() -> int\n"
"\n"
"Returns the minimal width to which a column may be resized.");

extern "C" {static PyObject *meth_wxGrid_GetColMinimalAcceptableWidth(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColMinimalAcceptableWidth(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetColMinimalAcceptableWidth();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColMinimalAcceptableWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColSize, "GetColSize(col) -> int\n"
"\n"
"Returns the width of the specified column.");

extern "C" {static PyObject *meth_wxGrid_GetColSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetColSize(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsColShown, "IsColShown(col) -> bool\n"
"\n"
"Returns true if the specified column is not currently hidden.");

extern "C" {static PyObject *meth_wxGrid_IsColShown(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsColShown(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsColShown(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsColShown, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultCellFitMode, "GetDefaultCellFitMode() -> GridFitMode\n"
"\n"
"Returns the default cell fitting mode.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultCellFitMode(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultCellFitMode(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGridFitMode*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridFitMode(sipCpp->GetDefaultCellFitMode());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridFitMode,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultCellFitMode, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultCellOverflow, "GetDefaultCellOverflow() -> bool\n"
"\n"
"Returns true if the cells can overflow by default.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultCellOverflow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultCellOverflow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultCellOverflow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultCellOverflow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultColLabelSize, "GetDefaultColLabelSize() -> int\n"
"\n"
"Returns the default height for column labels.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultColLabelSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultColLabelSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultColLabelSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultColLabelSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultColSize, "GetDefaultColSize() -> int\n"
"\n"
"Returns the current default width for grid columns.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultColSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultColSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultColSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultColSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultRowLabelSize, "GetDefaultRowLabelSize() -> int\n"
"\n"
"Returns the default width for the row labels.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultRowLabelSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultRowLabelSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultRowLabelSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultRowLabelSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultRowSize, "GetDefaultRowSize() -> int\n"
"\n"
"Returns the current default height for grid rows.");

extern "C" {static PyObject *meth_wxGrid_GetDefaultRowSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultRowSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDefaultRowSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultRowSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetRowMinimalAcceptableHeight, "GetRowMinimalAcceptableHeight() -> int\n"
"\n"
"Returns the minimal size to which rows can be resized.");

extern "C" {static PyObject *meth_wxGrid_GetRowMinimalAcceptableHeight(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetRowMinimalAcceptableHeight(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetRowMinimalAcceptableHeight();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetRowMinimalAcceptableHeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetRowLabelSize, "GetRowLabelSize() -> int\n"
"\n"
"Returns the current width of the row labels.");

extern "C" {static PyObject *meth_wxGrid_GetRowLabelSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetRowLabelSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetRowLabelSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetRowLabelSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetRowSize, "GetRowSize(row) -> int\n"
"\n"
"Returns the height of the specified row.");

extern "C" {static PyObject *meth_wxGrid_GetRowSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetRowSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &row))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetRowSize(row);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetRowSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsRowShown, "IsRowShown(row) -> bool\n"
"\n"
"Returns true if the specified row is not currently hidden.");

extern "C" {static PyObject *meth_wxGrid_IsRowShown(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsRowShown(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &row))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsRowShown(row);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsRowShown, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellFitMode, "SetCellFitMode(row, col, fitMode)\n"
"\n"
"Specifies the behaviour of the cell contents if it doesn't fit into\n"
"the available space.");

extern "C" {static PyObject *meth_wxGrid_SetCellFitMode(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellFitMode(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
         ::wxGridFitMode* fitMode;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_fitMode,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiJ9", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, sipType_wxGridFitMode, &fitMode))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellFitMode(row,col,*fitMode);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellFitMode, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellOverflow, "SetCellOverflow(row, col, allow)\n"
"\n"
"Sets the overflow permission of the cell.");

extern "C" {static PyObject *meth_wxGrid_SetCellOverflow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellOverflow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        bool allow;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_allow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biib", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, &allow))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellOverflow(row,col,allow);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellOverflow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColLabelSize, "SetColLabelSize(height)\n"
"\n"
"Sets the height of the column labels.");

extern "C" {static PyObject *meth_wxGrid_SetColLabelSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColLabelSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int height;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_height,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColLabelSize(height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColLabelSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColMinimalAcceptableWidth, "SetColMinimalAcceptableWidth(width)\n"
"\n"
"Sets the minimal width to which the user can resize columns.");

extern "C" {static PyObject *meth_wxGrid_SetColMinimalAcceptableWidth(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColMinimalAcceptableWidth(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int width;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_width,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &width))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColMinimalAcceptableWidth(width);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColMinimalAcceptableWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColMinimalWidth, "SetColMinimalWidth(col, width)\n"
"\n"
"Sets the minimal width for the specified column col.");

extern "C" {static PyObject *meth_wxGrid_SetColMinimalWidth(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColMinimalWidth(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        int width;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
            sipName_width,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &col, &width))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColMinimalWidth(col,width);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColMinimalWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColSize, "SetColSize(col, width)\n"
"\n"
"Sets the width of the specified column.");

extern "C" {static PyObject *meth_wxGrid_SetColSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        int width;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
            sipName_width,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &col, &width))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColSize(col,width);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_HideCol, "HideCol(col)\n"
"\n"
"Hides the specified column.");

extern "C" {static PyObject *meth_wxGrid_HideCol(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_HideCol(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->HideCol(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_HideCol, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ShowCol, "ShowCol(col)\n"
"\n"
"Shows the previously hidden column by resizing it to non-0 size.");

extern "C" {static PyObject *meth_wxGrid_ShowCol(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ShowCol(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ShowCol(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ShowCol, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetDefaultCellFitMode, "SetDefaultCellFitMode(fitMode)\n"
"\n"
"Specifies the default behaviour of the cell contents if it doesn't fit\n"
"into the available space.");

extern "C" {static PyObject *meth_wxGrid_SetDefaultCellFitMode(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetDefaultCellFitMode(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGridFitMode* fitMode;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_fitMode,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridFitMode, &fitMode))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDefaultCellFitMode(*fitMode);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetDefaultCellFitMode, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetDefaultCellOverflow, "SetDefaultCellOverflow(allow)\n"
"\n"
"Sets the default overflow permission of the cells.");

extern "C" {static PyObject *meth_wxGrid_SetDefaultCellOverflow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetDefaultCellOverflow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool allow;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_allow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &allow))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDefaultCellOverflow(allow);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetDefaultCellOverflow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetDefaultColSize, "SetDefaultColSize(width, resizeExistingCols=False)\n"
"\n"
"Sets the default width for columns in the grid.");

extern "C" {static PyObject *meth_wxGrid_SetDefaultColSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetDefaultColSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int width;
        bool resizeExistingCols = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_width,
            sipName_resizeExistingCols,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|b", &sipSelf, sipType_wxGrid, &sipCpp, &width, &resizeExistingCols))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDefaultColSize(width,resizeExistingCols);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetDefaultColSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetDefaultRowSize, "SetDefaultRowSize(height, resizeExistingRows=False)\n"
"\n"
"Sets the default height for rows in the grid.");

extern "C" {static PyObject *meth_wxGrid_SetDefaultRowSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetDefaultRowSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int height;
        bool resizeExistingRows = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_height,
            sipName_resizeExistingRows,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|b", &sipSelf, sipType_wxGrid, &sipCpp, &height, &resizeExistingRows))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDefaultRowSize(height,resizeExistingRows);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetDefaultRowSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetRowLabelSize, "SetRowLabelSize(width)\n"
"\n"
"Sets the width of the row labels.");

extern "C" {static PyObject *meth_wxGrid_SetRowLabelSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetRowLabelSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int width;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_width,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &width))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRowLabelSize(width);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetRowLabelSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetRowMinimalAcceptableHeight, "SetRowMinimalAcceptableHeight(height)\n"
"\n"
"Sets the minimal row height used by default.");

extern "C" {static PyObject *meth_wxGrid_SetRowMinimalAcceptableHeight(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetRowMinimalAcceptableHeight(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int height;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_height,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRowMinimalAcceptableHeight(height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetRowMinimalAcceptableHeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetRowMinimalHeight, "SetRowMinimalHeight(row, height)\n"
"\n"
"Sets the minimal height for the specified row.");

extern "C" {static PyObject *meth_wxGrid_SetRowMinimalHeight(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetRowMinimalHeight(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int height;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_height,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRowMinimalHeight(row,height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetRowMinimalHeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetRowSize, "SetRowSize(row, height)\n"
"\n"
"Sets the height of the specified row.");

extern "C" {static PyObject *meth_wxGrid_SetRowSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetRowSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int height;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_height,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRowSize(row,height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetRowSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_HideRow, "HideRow(col)\n"
"\n"
"Hides the specified row.");

extern "C" {static PyObject *meth_wxGrid_HideRow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_HideRow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->HideRow(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_HideRow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ShowRow, "ShowRow(col)\n"
"\n"
"Shows the previously hidden row.");

extern "C" {static PyObject *meth_wxGrid_ShowRow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ShowRow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ShowRow(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ShowRow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColSizes, "GetColSizes() -> GridSizesInfo\n"
"\n"
"Get size information for all columns at once.");

extern "C" {static PyObject *meth_wxGrid_GetColSizes(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColSizes(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGridSizesInfo*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridSizesInfo(sipCpp->GetColSizes());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridSizesInfo,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColSizes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetRowSizes, "GetRowSizes() -> GridSizesInfo\n"
"\n"
"Get size information for all row at once.");

extern "C" {static PyObject *meth_wxGrid_GetRowSizes(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetRowSizes(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGridSizesInfo*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridSizesInfo(sipCpp->GetRowSizes());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridSizesInfo,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetRowSizes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColSizes, "SetColSizes(sizeInfo)\n"
"\n"
"Restore all columns sizes.");

extern "C" {static PyObject *meth_wxGrid_SetColSizes(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColSizes(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGridSizesInfo* sizeInfo;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_sizeInfo,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridSizesInfo, &sizeInfo))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColSizes(*sizeInfo);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColSizes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetRowSizes, "SetRowSizes(sizeInfo)\n"
"\n"
"Restore all rows sizes.");

extern "C" {static PyObject *meth_wxGrid_SetRowSizes(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetRowSizes(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGridSizesInfo* sizeInfo;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_sizeInfo,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridSizesInfo, &sizeInfo))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRowSizes(*sizeInfo);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetRowSizes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellSize, "SetCellSize(row, col, num_rows, num_cols)\n"
"\n"
"Set the size of the cell.");

extern "C" {static PyObject *meth_wxGrid_SetCellSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        int num_rows;
        int num_cols;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_num_rows,
            sipName_num_cols,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, &num_rows, &num_cols))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellSize(row,col,num_rows,num_cols);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellSize, "GetCellSize(row, col, num_rows, num_cols) -> CellSpan\n"
"GetCellSize(coords) -> wx.Size\n"
"\n"
"Get the size of the cell in number of cells covered by it.\n"
"");

extern "C" {static PyObject *meth_wxGrid_GetCellSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        int num_rows;
        int num_cols;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxGrid::CellSpan sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetCellSize(row,col,&num_rows,&num_cols);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(Fii)",sipRes,sipType_wxGrid_CellSpan,num_rows,num_cols);
        }
    }

    {
        const  ::wxGridCellCoords* coords;
        int coordsState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_coords,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &coords, &coordsState))
        {
             ::wxSize*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(sipCpp->GetCellSize(*coords));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(coords),sipType_wxGridCellCoords,coordsState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxSize,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CanDragCell, "CanDragCell() -> bool\n"
"\n"
"Return true if the dragging of cells is enabled or false otherwise.");

extern "C" {static PyObject *meth_wxGrid_CanDragCell(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CanDragCell(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CanDragCell();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CanDragCell, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CanDragColMove, "CanDragColMove() -> bool\n"
"\n"
"Returns true if columns can be moved by dragging with the mouse.");

extern "C" {static PyObject *meth_wxGrid_CanDragColMove(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CanDragColMove(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CanDragColMove();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CanDragColMove, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CanDragColSize, "CanDragColSize(col) -> bool\n"
"\n"
"Returns true if the given column can be resized by dragging with the\n"
"mouse.");

extern "C" {static PyObject *meth_wxGrid_CanDragColSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CanDragColSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CanDragColSize(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CanDragColSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CanDragGridColEdges, "CanDragGridColEdges() -> bool\n"
"\n"
"Return true if column edges inside the grid can be dragged to resize\n"
"the rows.");

extern "C" {static PyObject *meth_wxGrid_CanDragGridColEdges(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CanDragGridColEdges(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CanDragGridColEdges();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CanDragGridColEdges, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CanDragGridRowEdges, "CanDragGridRowEdges() -> bool\n"
"\n"
"Return true if row edges inside the grid can be dragged to resize the\n"
"rows.");

extern "C" {static PyObject *meth_wxGrid_CanDragGridRowEdges(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CanDragGridRowEdges(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CanDragGridRowEdges();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CanDragGridRowEdges, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CanDragGridSize, "CanDragGridSize() -> bool\n"
"\n"
"Return true if the dragging of grid lines to resize rows and columns\n"
"is enabled or false otherwise.");

extern "C" {static PyObject *meth_wxGrid_CanDragGridSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CanDragGridSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CanDragGridSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CanDragGridSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CanDragRowSize, "CanDragRowSize(row) -> bool\n"
"\n"
"Returns true if the given row can be resized by dragging with the\n"
"mouse.");

extern "C" {static PyObject *meth_wxGrid_CanDragRowSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CanDragRowSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &row))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CanDragRowSize(row);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CanDragRowSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CanHideColumns, "CanHideColumns() -> bool\n"
"\n"
"Returns true if columns can be hidden from the popup menu of the\n"
"native header.");

extern "C" {static PyObject *meth_wxGrid_CanHideColumns(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CanHideColumns(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CanHideColumns();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CanHideColumns, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DisableColResize, "DisableColResize(col)\n"
"\n"
"Disable interactive resizing of the specified column.");

extern "C" {static PyObject *meth_wxGrid_DisableColResize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DisableColResize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DisableColResize(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DisableColResize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DisableRowResize, "DisableRowResize(row)\n"
"\n"
"Disable interactive resizing of the specified row.");

extern "C" {static PyObject *meth_wxGrid_DisableRowResize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DisableRowResize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &row))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DisableRowResize(row);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DisableRowResize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DisableDragColMove, "DisableDragColMove()\n"
"\n"
"Disables column moving by dragging with the mouse.");

extern "C" {static PyObject *meth_wxGrid_DisableDragColMove(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DisableDragColMove(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DisableDragColMove();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DisableDragColMove, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DisableDragColSize, "DisableDragColSize()\n"
"\n"
"Disables column sizing by dragging with the mouse.");

extern "C" {static PyObject *meth_wxGrid_DisableDragColSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DisableDragColSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DisableDragColSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DisableDragColSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DisableDragGridSize, "DisableDragGridSize()\n"
"\n"
"Disable mouse dragging of grid lines to resize rows and columns.");

extern "C" {static PyObject *meth_wxGrid_DisableDragGridSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DisableDragGridSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DisableDragGridSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DisableDragGridSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DisableDragRowSize, "DisableDragRowSize()\n"
"\n"
"Disables row sizing by dragging with the mouse.");

extern "C" {static PyObject *meth_wxGrid_DisableDragRowSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DisableDragRowSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DisableDragRowSize();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DisableDragRowSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DisableHidingColumns, "DisableHidingColumns()\n"
"\n"
"Disables column hiding from the header popup menu.");

extern "C" {static PyObject *meth_wxGrid_DisableHidingColumns(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DisableHidingColumns(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DisableHidingColumns();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DisableHidingColumns, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_EnableDragCell, "EnableDragCell(enable=True)\n"
"\n"
"Enables or disables cell dragging with the mouse.");

extern "C" {static PyObject *meth_wxGrid_EnableDragCell(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_EnableDragCell(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool enable = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_enable,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &enable))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->EnableDragCell(enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_EnableDragCell, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_EnableDragColMove, "EnableDragColMove(enable=True) -> bool\n"
"\n"
"Enables or disables column moving by dragging with the mouse.");

extern "C" {static PyObject *meth_wxGrid_EnableDragColMove(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_EnableDragColMove(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool enable = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_enable,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &enable))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->EnableDragColMove(enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_EnableDragColMove, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_EnableDragColSize, "EnableDragColSize(enable=True)\n"
"\n"
"Enables or disables column sizing by dragging with the mouse.");

extern "C" {static PyObject *meth_wxGrid_EnableDragColSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_EnableDragColSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool enable = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_enable,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &enable))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->EnableDragColSize(enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_EnableDragColSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_EnableDragGridSize, "EnableDragGridSize(enable=True)\n"
"\n"
"Enables or disables row and column resizing by dragging gridlines with\n"
"the mouse.");

extern "C" {static PyObject *meth_wxGrid_EnableDragGridSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_EnableDragGridSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool enable = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_enable,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &enable))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->EnableDragGridSize(enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_EnableDragGridSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_EnableDragRowSize, "EnableDragRowSize(enable=True)\n"
"\n"
"Enables or disables row sizing by dragging with the mouse.");

extern "C" {static PyObject *meth_wxGrid_EnableDragRowSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_EnableDragRowSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool enable = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_enable,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &enable))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->EnableDragRowSize(enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_EnableDragRowSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_EnableHidingColumns, "EnableHidingColumns(enable=True) -> bool\n"
"\n"
"Enables or disables column hiding from the header popup menu.");

extern "C" {static PyObject *meth_wxGrid_EnableHidingColumns(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_EnableHidingColumns(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool enable = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_enable,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|b", &sipSelf, sipType_wxGrid, &sipCpp, &enable))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->EnableHidingColumns(enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_EnableHidingColumns, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColAt, "GetColAt(colPos) -> int\n"
"\n"
"Returns the column ID of the specified column position.");

extern "C" {static PyObject *meth_wxGrid_GetColAt(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColAt(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int colPos;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_colPos,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &colPos))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetColAt(colPos);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColAt, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColPos, "GetColPos(colID) -> int\n"
"\n"
"Returns the position of the specified column.");

extern "C" {static PyObject *meth_wxGrid_GetColPos(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColPos(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int colID;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_colID,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &colID))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetColPos(colID);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColPos, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColPos, "SetColPos(colID, newPos)\n"
"\n"
"Sets the position of the specified column.");

extern "C" {static PyObject *meth_wxGrid_SetColPos(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColPos(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int colID;
        int newPos;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_colID,
            sipName_newPos,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &colID, &newPos))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColPos(colID,newPos);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColPos, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColumnsOrder, "SetColumnsOrder(order)\n"
"\n"
"Sets the positions of all columns at once.");

extern "C" {static PyObject *meth_wxGrid_SetColumnsOrder(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColumnsOrder(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxArrayInt* order;
        int orderState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_order,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxArrayInt,&order, &orderState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColumnsOrder(*order);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxArrayInt *>(order),sipType_wxArrayInt,orderState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColumnsOrder, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ResetColPos, "ResetColPos()\n"
"\n"
"Resets the position of the columns to the default.");

extern "C" {static PyObject *meth_wxGrid_ResetColPos(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ResetColPos(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ResetColPos();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ResetColPos, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetGridCursorCoords, "GetGridCursorCoords() -> GridCellCoords\n"
"\n"
"Returns the current grid cursor position.");

extern "C" {static PyObject *meth_wxGrid_GetGridCursorCoords(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetGridCursorCoords(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGridCellCoords*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridCellCoords(sipCpp->GetGridCursorCoords());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridCellCoords,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetGridCursorCoords, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetGridCursorCol, "GetGridCursorCol() -> int\n"
"\n"
"Returns the current grid cell column position.");

extern "C" {static PyObject *meth_wxGrid_GetGridCursorCol(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetGridCursorCol(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetGridCursorCol();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetGridCursorCol, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetGridCursorRow, "GetGridCursorRow() -> int\n"
"\n"
"Returns the current grid cell row position.");

extern "C" {static PyObject *meth_wxGrid_GetGridCursorRow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetGridCursorRow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetGridCursorRow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetGridCursorRow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GoToCell, "GoToCell(row, col)\n"
"GoToCell(coords)\n"
"\n"
"Make the given cell current and ensure it is visible.\n"
"");

extern "C" {static PyObject *meth_wxGrid_GoToCell(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GoToCell(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->GoToCell(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::wxGridCellCoords* coords;
        int coordsState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_coords,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &coords, &coordsState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->GoToCell(*coords);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(coords),sipType_wxGridCellCoords,coordsState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GoToCell, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_MoveCursorDown, "MoveCursorDown(expandSelection) -> bool\n"
"\n"
"Moves the grid cursor down by one row.");

extern "C" {static PyObject *meth_wxGrid_MoveCursorDown(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_MoveCursorDown(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool expandSelection;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_expandSelection,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &expandSelection))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->MoveCursorDown(expandSelection);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_MoveCursorDown, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_MoveCursorDownBlock, "MoveCursorDownBlock(expandSelection) -> bool\n"
"\n"
"Moves the grid cursor down in the current column such that it skips to\n"
"the beginning or end of a block of non-empty cells.");

extern "C" {static PyObject *meth_wxGrid_MoveCursorDownBlock(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_MoveCursorDownBlock(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool expandSelection;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_expandSelection,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &expandSelection))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->MoveCursorDownBlock(expandSelection);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_MoveCursorDownBlock, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_MoveCursorLeft, "MoveCursorLeft(expandSelection) -> bool\n"
"\n"
"Moves the grid cursor left by one column.");

extern "C" {static PyObject *meth_wxGrid_MoveCursorLeft(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_MoveCursorLeft(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool expandSelection;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_expandSelection,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &expandSelection))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->MoveCursorLeft(expandSelection);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_MoveCursorLeft, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_MoveCursorLeftBlock, "MoveCursorLeftBlock(expandSelection) -> bool\n"
"\n"
"Moves the grid cursor left in the current row such that it skips to\n"
"the beginning or end of a block of non-empty cells.");

extern "C" {static PyObject *meth_wxGrid_MoveCursorLeftBlock(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_MoveCursorLeftBlock(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool expandSelection;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_expandSelection,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &expandSelection))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->MoveCursorLeftBlock(expandSelection);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_MoveCursorLeftBlock, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_MoveCursorRight, "MoveCursorRight(expandSelection) -> bool\n"
"\n"
"Moves the grid cursor right by one column.");

extern "C" {static PyObject *meth_wxGrid_MoveCursorRight(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_MoveCursorRight(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool expandSelection;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_expandSelection,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &expandSelection))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->MoveCursorRight(expandSelection);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_MoveCursorRight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_MoveCursorRightBlock, "MoveCursorRightBlock(expandSelection) -> bool\n"
"\n"
"Moves the grid cursor right in the current row such that it skips to\n"
"the beginning or end of a block of non-empty cells.");

extern "C" {static PyObject *meth_wxGrid_MoveCursorRightBlock(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_MoveCursorRightBlock(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool expandSelection;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_expandSelection,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &expandSelection))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->MoveCursorRightBlock(expandSelection);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_MoveCursorRightBlock, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_MoveCursorUp, "MoveCursorUp(expandSelection) -> bool\n"
"\n"
"Moves the grid cursor up by one row.");

extern "C" {static PyObject *meth_wxGrid_MoveCursorUp(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_MoveCursorUp(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool expandSelection;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_expandSelection,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &expandSelection))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->MoveCursorUp(expandSelection);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_MoveCursorUp, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_MoveCursorUpBlock, "MoveCursorUpBlock(expandSelection) -> bool\n"
"\n"
"Moves the grid cursor up in the current column such that it skips to\n"
"the beginning or end of a block of non-empty cells.");

extern "C" {static PyObject *meth_wxGrid_MoveCursorUpBlock(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_MoveCursorUpBlock(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool expandSelection;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_expandSelection,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &expandSelection))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->MoveCursorUpBlock(expandSelection);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_MoveCursorUpBlock, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_MovePageDown, "MovePageDown() -> bool\n"
"\n"
"Moves the grid cursor down by some number of rows so that the previous\n"
"bottom visible row becomes the top visible row.");

extern "C" {static PyObject *meth_wxGrid_MovePageDown(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_MovePageDown(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->MovePageDown();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_MovePageDown, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_MovePageUp, "MovePageUp() -> bool\n"
"\n"
"Moves the grid cursor up by some number of rows so that the previous\n"
"top visible row becomes the bottom visible row.");

extern "C" {static PyObject *meth_wxGrid_MovePageUp(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_MovePageUp(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->MovePageUp();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_MovePageUp, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetGridCursor, "SetGridCursor(row, col)\n"
"SetGridCursor(coords)\n"
"\n"
"Set the grid cursor to the specified cell.\n"
"");

extern "C" {static PyObject *meth_wxGrid_SetGridCursor(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetGridCursor(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetGridCursor(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::wxGridCellCoords* coords;
        int coordsState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_coords,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &coords, &coordsState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetGridCursor(*coords);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(coords),sipType_wxGridCellCoords,coordsState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetGridCursor, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetTabBehaviour, "SetTabBehaviour(behaviour)\n"
"\n"
"Set the grid's behaviour when the user presses the TAB key.");

extern "C" {static PyObject *meth_wxGrid_SetTabBehaviour(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetTabBehaviour(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid::TabBehaviour behaviour;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_behaviour,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGrid_TabBehaviour, &behaviour))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetTabBehaviour(behaviour);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetTabBehaviour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ClearSelection, "ClearSelection()\n"
"\n"
"Deselects all cells that are currently selected.");

extern "C" {static PyObject *meth_wxGrid_ClearSelection(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ClearSelection(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ClearSelection();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ClearSelection, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DeselectRow, "DeselectRow(row)\n"
"\n"
"Deselects a row of cells.");

extern "C" {static PyObject *meth_wxGrid_DeselectRow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DeselectRow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &row))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DeselectRow(row);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DeselectRow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DeselectCol, "DeselectCol(col)\n"
"\n"
"Deselects a column of cells.");

extern "C" {static PyObject *meth_wxGrid_DeselectCol(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DeselectCol(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DeselectCol(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DeselectCol, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DeselectCell, "DeselectCell(row, col)\n"
"\n"
"Deselects a cell.");

extern "C" {static PyObject *meth_wxGrid_DeselectCell(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DeselectCell(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DeselectCell(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DeselectCell, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSelectedBlocks, "GetSelectedBlocks() -> GridBlocks\n"
"\n"
"Returns a range of grid selection blocks.");

extern "C" {static PyObject *meth_wxGrid_GetSelectedBlocks(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSelectedBlocks(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGridBlocks*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridBlocks(sipCpp->GetSelectedBlocks());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridBlocks,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSelectedBlocks, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSelectedRowBlocks, "GetSelectedRowBlocks() -> PyObject\n"
"\n"
"Returns an ordered range of non-overlapping selected rows.");

extern "C" {static PyObject *meth_wxGrid_GetSelectedRowBlocks(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSelectedRowBlocks(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyObject * sipRes = SIP_NULLPTR;
            int sipIsErr = 0;

        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxGrid_GetSelectedRowBlocks(sipCpp);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;

            if (sipIsErr)
                return 0;

            return sipRes;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSelectedRowBlocks, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSelectedColBlocks, "GetSelectedColBlocks() -> PyObject\n"
"\n"
"Returns an ordered range of non-overlapping selected columns.");

extern "C" {static PyObject *meth_wxGrid_GetSelectedColBlocks(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSelectedColBlocks(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyObject * sipRes = SIP_NULLPTR;
            int sipIsErr = 0;

        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxGrid_GetSelectedColBlocks(sipCpp);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;

            if (sipIsErr)
                return 0;

            return sipRes;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSelectedColBlocks, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSelectedCells, "GetSelectedCells() -> GridCellCoordsArray\n"
"\n"
"Returns an array of individually selected cells.");

extern "C" {static PyObject *meth_wxGrid_GetSelectedCells(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSelectedCells(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGridCellCoordsArray*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridCellCoordsArray(sipCpp->GetSelectedCells());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridCellCoordsArray,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSelectedCells, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSelectedCols, "GetSelectedCols() -> ArrayInt\n"
"\n"
"Returns an array of selected columns.");

extern "C" {static PyObject *meth_wxGrid_GetSelectedCols(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSelectedCols(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxArrayInt*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxArrayInt(sipCpp->GetSelectedCols());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxArrayInt,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSelectedCols, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSelectedRows, "GetSelectedRows() -> ArrayInt\n"
"\n"
"Returns an array of selected rows.");

extern "C" {static PyObject *meth_wxGrid_GetSelectedRows(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSelectedRows(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxArrayInt*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxArrayInt(sipCpp->GetSelectedRows());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxArrayInt,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSelectedRows, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSelectionBackground, "GetSelectionBackground() -> wx.Colour\n"
"\n"
"Returns the colour used for drawing the selection background.");

extern "C" {static PyObject *meth_wxGrid_GetSelectionBackground(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSelectionBackground(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxColour*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(sipCpp->GetSelectionBackground());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxColour,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSelectionBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSelectionBlockBottomRight, "GetSelectionBlockBottomRight() -> GridCellCoordsArray\n"
"\n"
"Returns an array of the bottom right corners of blocks of selected\n"
"cells.");

extern "C" {static PyObject *meth_wxGrid_GetSelectionBlockBottomRight(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSelectionBlockBottomRight(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGridCellCoordsArray*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridCellCoordsArray(sipCpp->GetSelectionBlockBottomRight());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridCellCoordsArray,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSelectionBlockBottomRight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSelectionBlockTopLeft, "GetSelectionBlockTopLeft() -> GridCellCoordsArray\n"
"\n"
"Returns an array of the top left corners of blocks of selected cells.");

extern "C" {static PyObject *meth_wxGrid_GetSelectionBlockTopLeft(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSelectionBlockTopLeft(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGridCellCoordsArray*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridCellCoordsArray(sipCpp->GetSelectionBlockTopLeft());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridCellCoordsArray,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSelectionBlockTopLeft, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSelectionForeground, "GetSelectionForeground() -> wx.Colour\n"
"\n"
"Returns the colour used for drawing the selection foreground.");

extern "C" {static PyObject *meth_wxGrid_GetSelectionForeground(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSelectionForeground(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxColour*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(sipCpp->GetSelectionForeground());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxColour,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSelectionForeground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSelectionMode, "GetSelectionMode() -> GridSelectionModes\n"
"\n"
"Returns the current selection mode.");

extern "C" {static PyObject *meth_wxGrid_GetSelectionMode(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSelectionMode(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGrid::wxGridSelectionModes sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetSelectionMode();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxGrid_wxGridSelectionModes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSelectionMode, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsInSelection, "IsInSelection(row, col) -> bool\n"
"IsInSelection(coords) -> bool\n"
"\n"
"Returns true if the given cell is selected.\n"
"");

extern "C" {static PyObject *meth_wxGrid_IsInSelection(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsInSelection(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsInSelection(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    {
        const  ::wxGridCellCoords* coords;
        int coordsState = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_coords,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &coords, &coordsState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsInSelection(*coords);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(coords),sipType_wxGridCellCoords,coordsState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsInSelection, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsSelection, "IsSelection() -> bool\n"
"\n"
"Returns true if there are currently any selected cells, rows, columns\n"
"or blocks.");

extern "C" {static PyObject *meth_wxGrid_IsSelection(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsSelection(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsSelection();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsSelection, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SelectAll, "SelectAll()\n"
"\n"
"Selects all cells in the grid.");

extern "C" {static PyObject *meth_wxGrid_SelectAll(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SelectAll(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SelectAll();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SelectAll, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SelectBlock, "SelectBlock(topRow, leftCol, bottomRow, rightCol, addToSelected=False)\n"
"SelectBlock(topLeft, bottomRight, addToSelected=False)\n"
"\n"
"Selects a rectangular block of cells.\n"
"");

extern "C" {static PyObject *meth_wxGrid_SelectBlock(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SelectBlock(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int topRow;
        int leftCol;
        int bottomRow;
        int rightCol;
        bool addToSelected = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_topRow,
            sipName_leftCol,
            sipName_bottomRow,
            sipName_rightCol,
            sipName_addToSelected,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiii|b", &sipSelf, sipType_wxGrid, &sipCpp, &topRow, &leftCol, &bottomRow, &rightCol, &addToSelected))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SelectBlock(topRow,leftCol,bottomRow,rightCol,addToSelected);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::wxGridCellCoords* topLeft;
        int topLeftState = 0;
        const  ::wxGridCellCoords* bottomRight;
        int bottomRightState = 0;
        bool addToSelected = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_topLeft,
            sipName_bottomRight,
            sipName_addToSelected,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1|b", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &topLeft, &topLeftState, sipType_wxGridCellCoords, &bottomRight, &bottomRightState, &addToSelected))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SelectBlock(*topLeft,*bottomRight,addToSelected);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(topLeft),sipType_wxGridCellCoords,topLeftState);
            sipReleaseType(const_cast< ::wxGridCellCoords *>(bottomRight),sipType_wxGridCellCoords,bottomRightState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SelectBlock, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SelectCol, "SelectCol(col, addToSelected=False)\n"
"\n"
"Selects the specified column.");

extern "C" {static PyObject *meth_wxGrid_SelectCol(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SelectCol(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        bool addToSelected = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
            sipName_addToSelected,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|b", &sipSelf, sipType_wxGrid, &sipCpp, &col, &addToSelected))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SelectCol(col,addToSelected);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SelectCol, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SelectRow, "SelectRow(row, addToSelected=False)\n"
"\n"
"Selects the specified row.");

extern "C" {static PyObject *meth_wxGrid_SelectRow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SelectRow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        bool addToSelected = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_addToSelected,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|b", &sipSelf, sipType_wxGrid, &sipCpp, &row, &addToSelected))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SelectRow(row,addToSelected);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SelectRow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetSelectionBackground, "SetSelectionBackground(c)\n"
"\n"
"Set the colour to be used for drawing the selection background.");

extern "C" {static PyObject *meth_wxGrid_SetSelectionBackground(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetSelectionBackground(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxColour* c;
        int cState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_c,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxColour, &c, &cState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetSelectionBackground(*c);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(c),sipType_wxColour,cState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetSelectionBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetSelectionForeground, "SetSelectionForeground(c)\n"
"\n"
"Set the colour to be used for drawing the selection foreground.");

extern "C" {static PyObject *meth_wxGrid_SetSelectionForeground(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetSelectionForeground(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxColour* c;
        int cState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_c,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxColour, &c, &cState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetSelectionForeground(*c);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(c),sipType_wxColour,cState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetSelectionForeground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetSelectionMode, "SetSelectionMode(selmode)\n"
"\n"
"Set the selection behaviour of the grid.");

extern "C" {static PyObject *meth_wxGrid_SetSelectionMode(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetSelectionMode(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid::wxGridSelectionModes selmode;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_selmode,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGrid_wxGridSelectionModes, &selmode))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetSelectionMode(selmode);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetSelectionMode, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetScrollLineX, "GetScrollLineX() -> int\n"
"\n"
"Returns the number of pixels per horizontal scroll increment.");

extern "C" {static PyObject *meth_wxGrid_GetScrollLineX(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetScrollLineX(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetScrollLineX();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetScrollLineX, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetScrollLineY, "GetScrollLineY() -> int\n"
"\n"
"Returns the number of pixels per vertical scroll increment.");

extern "C" {static PyObject *meth_wxGrid_GetScrollLineY(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetScrollLineY(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetScrollLineY();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetScrollLineY, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsVisible, "IsVisible(row, col, wholeCellVisible=True) -> bool\n"
"IsVisible(coords, wholeCellVisible=True) -> bool\n"
"\n"
"Returns true if a cell is either entirely or at least partially\n"
"visible in the grid window.\n"
"");

extern "C" {static PyObject *meth_wxGrid_IsVisible(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsVisible(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        bool wholeCellVisible = 1;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_wholeCellVisible,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii|b", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, &wholeCellVisible))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsVisible(row,col,wholeCellVisible);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    {
        const  ::wxGridCellCoords* coords;
        int coordsState = 0;
        bool wholeCellVisible = 1;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_coords,
            sipName_wholeCellVisible,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1|b", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &coords, &coordsState, &wholeCellVisible))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsVisible(*coords,wholeCellVisible);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(coords),sipType_wxGridCellCoords,coordsState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsVisible, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_MakeCellVisible, "MakeCellVisible(row, col)\n"
"MakeCellVisible(coords)\n"
"\n"
"Brings the specified cell into the visible grid cell area with minimal\n"
"scrolling.\n"
"");

extern "C" {static PyObject *meth_wxGrid_MakeCellVisible(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_MakeCellVisible(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->MakeCellVisible(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::wxGridCellCoords* coords;
        int coordsState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_coords,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &coords, &coordsState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->MakeCellVisible(*coords);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(coords),sipType_wxGridCellCoords,coordsState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_MakeCellVisible, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetFirstFullyVisibleRow, "GetFirstFullyVisibleRow() -> int\n"
"\n"
"Returns the topmost row of the current visible area.");

extern "C" {static PyObject *meth_wxGrid_GetFirstFullyVisibleRow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetFirstFullyVisibleRow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFirstFullyVisibleRow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetFirstFullyVisibleRow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetFirstFullyVisibleColumn, "GetFirstFullyVisibleColumn() -> int\n"
"\n"
"Returns the leftmost column of the current visible area.");

extern "C" {static PyObject *meth_wxGrid_GetFirstFullyVisibleColumn(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetFirstFullyVisibleColumn(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFirstFullyVisibleColumn();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetFirstFullyVisibleColumn, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetScrollLineX, "SetScrollLineX(x)\n"
"\n"
"Sets the number of pixels per horizontal scroll increment.");

extern "C" {static PyObject *meth_wxGrid_SetScrollLineX(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetScrollLineX(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int x;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &x))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetScrollLineX(x);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetScrollLineX, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetScrollLineY, "SetScrollLineY(y)\n"
"\n"
"Sets the number of pixels per vertical scroll increment.");

extern "C" {static PyObject *meth_wxGrid_SetScrollLineY(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetScrollLineY(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int y;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_y,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &y))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetScrollLineY(y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetScrollLineY, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_BlockToDeviceRect, "BlockToDeviceRect(topLeft, bottomRight, gridWindow=None) -> wx.Rect\n"
"\n"
"Convert grid cell coordinates to grid window pixel coordinates.");

extern "C" {static PyObject *meth_wxGrid_BlockToDeviceRect(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_BlockToDeviceRect(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGridCellCoords* topLeft;
        int topLeftState = 0;
        const  ::wxGridCellCoords* bottomRight;
        int bottomRightState = 0;
        const  ::wxGridWindow* gridWindow = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_topLeft,
            sipName_bottomRight,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1|J8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &topLeft, &topLeftState, sipType_wxGridCellCoords, &bottomRight, &bottomRightState, sipType_wxWindow, &gridWindow))
        {
             ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxRect(sipCpp->BlockToDeviceRect(*topLeft,*bottomRight,gridWindow));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(topLeft),sipType_wxGridCellCoords,topLeftState);
            sipReleaseType(const_cast< ::wxGridCellCoords *>(bottomRight),sipType_wxGridCellCoords,bottomRightState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxRect,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_BlockToDeviceRect, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CellToRect, "CellToRect(row, col) -> wx.Rect\n"
"CellToRect(coords) -> wx.Rect\n"
"\n"
"Return the rectangle corresponding to the grid cell's size and\n"
"position in logical coordinates.\n"
"");

extern "C" {static PyObject *meth_wxGrid_CellToRect(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CellToRect(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxRect(sipCpp->CellToRect(row,col));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxRect,SIP_NULLPTR);
        }
    }

    {
        const  ::wxGridCellCoords* coords;
        int coordsState = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_coords,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &coords, &coordsState))
        {
             ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxRect(sipCpp->CellToRect(*coords));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(coords),sipType_wxGridCellCoords,coordsState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxRect,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CellToRect, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CellToGridWindow, "CellToGridWindow(row, col) -> GridWindow\n"
"CellToGridWindow(coords) -> GridWindow\n"
"\n"
"Returns the grid window that contains the cell.\n"
"");

extern "C" {static PyObject *meth_wxGrid_CellToGridWindow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CellToGridWindow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxGridWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CellToGridWindow(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    {
        const  ::wxGridCellCoords* coords;
        int coordsState = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_coords,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &coords, &coordsState))
        {
             ::wxGridWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CellToGridWindow(*coords);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(coords),sipType_wxGridCellCoords,coordsState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CellToGridWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DevicePosToGridWindow, "DevicePosToGridWindow(pos) -> GridWindow\n"
"DevicePosToGridWindow(x, y) -> GridWindow\n"
"\n"
"Returns the grid window that includes the input coordinates.\n"
"");

extern "C" {static PyObject *meth_wxGrid_DevicePosToGridWindow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DevicePosToGridWindow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxPoint* pos;
        int posState = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pos,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxPoint, &pos, &posState))
        {
             ::wxGridWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->DevicePosToGridWindow(*pos);
            Py_END_ALLOW_THREADS
            sipReleaseType(pos,sipType_wxPoint,posState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    {
        int x;
        int y;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &x, &y))
        {
             ::wxGridWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->DevicePosToGridWindow(x,y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DevicePosToGridWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetGridWindowOffset, "GetGridWindowOffset(gridWindow) -> wx.Point");

extern "C" {static PyObject *meth_wxGrid_GetGridWindowOffset(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetGridWindowOffset(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGridWindow* gridWindow;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxWindow, &gridWindow))
        {
             ::wxPoint*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint(sipCpp->GetGridWindowOffset(gridWindow));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPoint,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetGridWindowOffset, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CalcGridWindowUnscrolledPosition, "CalcGridWindowUnscrolledPosition(x, y, xx, yy, gridWindow)\n"
"CalcGridWindowUnscrolledPosition(pt, gridWindow) -> wx.Point\n"
"\n"
"Translates the device coordinates to the logical ones, taking into\n"
"account the grid window type.\n"
"");

extern "C" {static PyObject *meth_wxGrid_CalcGridWindowUnscrolledPosition(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CalcGridWindowUnscrolledPosition(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int x;
        int y;
        int xx;
        int yy;
        const  ::wxGridWindow* gridWindow;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiJ8", &sipSelf, sipType_wxGrid, &sipCpp, &x, &y, sipType_wxWindow, &gridWindow))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->CalcGridWindowUnscrolledPosition(x,y,&xx,&yy,gridWindow);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",xx,yy);
        }
    }

    {
        const  ::wxPoint* pt;
        int ptState = 0;
        const  ::wxGridWindow* gridWindow;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxPoint, &pt, &ptState, sipType_wxWindow, &gridWindow))
        {
             ::wxPoint*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint(sipCpp->CalcGridWindowUnscrolledPosition(*pt,gridWindow));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint *>(pt),sipType_wxPoint,ptState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPoint,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CalcGridWindowUnscrolledPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CalcGridWindowScrolledPosition, "CalcGridWindowScrolledPosition(x, y, xx, yy, gridWindow)\n"
"CalcGridWindowScrolledPosition(pt, gridWindow) -> wx.Point\n"
"\n"
"Translates the logical coordinates to the device ones, taking into\n"
"account the grid window type.\n"
"");

extern "C" {static PyObject *meth_wxGrid_CalcGridWindowScrolledPosition(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CalcGridWindowScrolledPosition(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int x;
        int y;
        int xx;
        int yy;
        const  ::wxGridWindow* gridWindow;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiJ8", &sipSelf, sipType_wxGrid, &sipCpp, &x, &y, sipType_wxWindow, &gridWindow))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->CalcGridWindowScrolledPosition(x,y,&xx,&yy,gridWindow);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",xx,yy);
        }
    }

    {
        const  ::wxPoint* pt;
        int ptState = 0;
        const  ::wxGridWindow* gridWindow;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxPoint, &pt, &ptState, sipType_wxWindow, &gridWindow))
        {
             ::wxPoint*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint(sipCpp->CalcGridWindowScrolledPosition(*pt,gridWindow));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint *>(pt),sipType_wxPoint,ptState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPoint,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CalcGridWindowScrolledPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_XToCol, "XToCol(x, clipToMinMax=False, gridWindow=None) -> int\n"
"\n"
"Returns the column at the given pixel position depending on the\n"
"window.");

extern "C" {static PyObject *meth_wxGrid_XToCol(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_XToCol(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int x;
        bool clipToMinMax = 0;
         ::wxGridWindow* gridWindow = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_clipToMinMax,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|bJ8", &sipSelf, sipType_wxGrid, &sipCpp, &x, &clipToMinMax, sipType_wxWindow, &gridWindow))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->XToCol(x,clipToMinMax,gridWindow);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_XToCol, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_XToEdgeOfCol, "XToEdgeOfCol(x) -> int\n"
"\n"
"Returns the column whose right hand edge is close to the given logical\n"
"x position.");

extern "C" {static PyObject *meth_wxGrid_XToEdgeOfCol(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_XToEdgeOfCol(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int x;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &x))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->XToEdgeOfCol(x);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_XToEdgeOfCol, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_XYToCell, "XYToCell(x, y, gridWindow=None) -> GridCellCoords\n"
"XYToCell(pos, gridWindow=None) -> GridCellCoords\n"
"\n"
"Translates logical pixel coordinates to the grid cell coordinates.\n"
"");

extern "C" {static PyObject *meth_wxGrid_XYToCell(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_XYToCell(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int x;
        int y;
         ::wxGridWindow* gridWindow = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii|J8", &sipSelf, sipType_wxGrid, &sipCpp, &x, &y, sipType_wxWindow, &gridWindow))
        {
             ::wxGridCellCoords*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridCellCoords(sipCpp->XYToCell(x,y,gridWindow));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridCellCoords,SIP_NULLPTR);
        }
    }

    {
        const  ::wxPoint* pos;
        int posState = 0;
         ::wxGridWindow* gridWindow = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pos,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1|J8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxPoint, &pos, &posState, sipType_wxWindow, &gridWindow))
        {
             ::wxGridCellCoords*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridCellCoords(sipCpp->XYToCell(*pos,gridWindow));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint *>(pos),sipType_wxPoint,posState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridCellCoords,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_XYToCell, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_YToEdgeOfRow, "YToEdgeOfRow(y) -> int\n"
"\n"
"Returns the row whose bottom edge is close to the given logical y\n"
"position.");

extern "C" {static PyObject *meth_wxGrid_YToEdgeOfRow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_YToEdgeOfRow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int y;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_y,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &y))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->YToEdgeOfRow(y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_YToEdgeOfRow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_YToRow, "YToRow(y, clipToMinMax=False, gridWindow=None) -> int\n"
"\n"
"Returns the grid row that corresponds to the logical y coordinate.");

extern "C" {static PyObject *meth_wxGrid_YToRow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_YToRow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int y;
        bool clipToMinMax = 0;
         ::wxGridWindow* gridWindow = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_y,
            sipName_clipToMinMax,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|bJ8", &sipSelf, sipType_wxGrid, &sipCpp, &y, &clipToMinMax, sipType_wxWindow, &gridWindow))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->YToRow(y,clipToMinMax,gridWindow);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_YToRow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AppendCols, "AppendCols(numCols=1, updateLabels=True) -> bool\n"
"\n"
"Appends one or more new columns to the right of the grid.");

extern "C" {static PyObject *meth_wxGrid_AppendCols(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AppendCols(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int numCols = 1;
        bool updateLabels = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_numCols,
            sipName_updateLabels,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|ib", &sipSelf, sipType_wxGrid, &sipCpp, &numCols, &updateLabels))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->AppendCols(numCols,updateLabels);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AppendCols, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AppendRows, "AppendRows(numRows=1, updateLabels=True) -> bool\n"
"\n"
"Appends one or more new rows to the bottom of the grid.");

extern "C" {static PyObject *meth_wxGrid_AppendRows(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AppendRows(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int numRows = 1;
        bool updateLabels = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_numRows,
            sipName_updateLabels,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|ib", &sipSelf, sipType_wxGrid, &sipCpp, &numRows, &updateLabels))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->AppendRows(numRows,updateLabels);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AppendRows, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AreHorzGridLinesClipped, "AreHorzGridLinesClipped() -> bool\n"
"\n"
"Return true if the horizontal grid lines stop at the last column\n"
"boundary or false if they continue to the end of the window.");

extern "C" {static PyObject *meth_wxGrid_AreHorzGridLinesClipped(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AreHorzGridLinesClipped(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->AreHorzGridLinesClipped();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AreHorzGridLinesClipped, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AreVertGridLinesClipped, "AreVertGridLinesClipped() -> bool\n"
"\n"
"Return true if the vertical grid lines stop at the last row boundary\n"
"or false if they continue to the end of the window.");

extern "C" {static PyObject *meth_wxGrid_AreVertGridLinesClipped(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AreVertGridLinesClipped(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->AreVertGridLinesClipped();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AreVertGridLinesClipped, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_BeginBatch, "BeginBatch()\n"
"\n"
"Increments the grid's batch count.");

extern "C" {static PyObject *meth_wxGrid_BeginBatch(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_BeginBatch(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->BeginBatch();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_BeginBatch, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ClearGrid, "ClearGrid()\n"
"\n"
"Clears all data in the underlying grid table and repaints the grid.");

extern "C" {static PyObject *meth_wxGrid_ClearGrid(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ClearGrid(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ClearGrid();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ClearGrid, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ClipHorzGridLines, "ClipHorzGridLines(clip)\n"
"\n"
"Change whether the horizontal grid lines are clipped by the end of the\n"
"last column.");

extern "C" {static PyObject *meth_wxGrid_ClipHorzGridLines(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ClipHorzGridLines(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool clip;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_clip,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &clip))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ClipHorzGridLines(clip);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ClipHorzGridLines, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ClipVertGridLines, "ClipVertGridLines(clip)\n"
"\n"
"Change whether the vertical grid lines are clipped by the end of the\n"
"last row.");

extern "C" {static PyObject *meth_wxGrid_ClipVertGridLines(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ClipVertGridLines(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool clip;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_clip,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &clip))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ClipVertGridLines(clip);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ClipVertGridLines, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DeleteCols, "DeleteCols(pos=0, numCols=1, updateLabels=True) -> bool\n"
"\n"
"Deletes one or more columns from a grid starting at the specified\n"
"position.");

extern "C" {static PyObject *meth_wxGrid_DeleteCols(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DeleteCols(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int pos = 0;
        int numCols = 1;
        bool updateLabels = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pos,
            sipName_numCols,
            sipName_updateLabels,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|iib", &sipSelf, sipType_wxGrid, &sipCpp, &pos, &numCols, &updateLabels))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->DeleteCols(pos,numCols,updateLabels);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DeleteCols, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DeleteRows, "DeleteRows(pos=0, numRows=1, updateLabels=True) -> bool\n"
"\n"
"Deletes one or more rows from a grid starting at the specified\n"
"position.");

extern "C" {static PyObject *meth_wxGrid_DeleteRows(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DeleteRows(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int pos = 0;
        int numRows = 1;
        bool updateLabels = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pos,
            sipName_numRows,
            sipName_updateLabels,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|iib", &sipSelf, sipType_wxGrid, &sipCpp, &pos, &numRows, &updateLabels))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->DeleteRows(pos,numRows,updateLabels);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DeleteRows, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_FreezeTo, "FreezeTo(row, col) -> bool\n"
"FreezeTo(coords) -> bool\n"
"\n"
"Sets or resets the frozen columns and rows.\n"
"");

extern "C" {static PyObject *meth_wxGrid_FreezeTo(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_FreezeTo(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        uint row;
        uint col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Buu", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->FreezeTo(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    {
        const  ::wxGridCellCoords* coords;
        int coordsState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_coords,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxGridCellCoords, &coords, &coordsState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->FreezeTo(*coords);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxGridCellCoords *>(coords),sipType_wxGridCellCoords,coordsState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_FreezeTo, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_EndBatch, "EndBatch()\n"
"\n"
"Decrements the grid's batch count.");

extern "C" {static PyObject *meth_wxGrid_EndBatch(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_EndBatch(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->EndBatch();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_EndBatch, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_Fit, "Fit()\n"
"\n"
"Overridden wxWindow method.");

extern "C" {static PyObject *meth_wxGrid_Fit(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_Fit(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Fit();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_Fit, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ForceRefresh, "ForceRefresh()\n"
"\n"
"Causes immediate repainting of the grid.");

extern "C" {static PyObject *meth_wxGrid_ForceRefresh(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ForceRefresh(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ForceRefresh();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ForceRefresh, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetBatchCount, "GetBatchCount() -> int\n"
"\n"
"Returns the number of times that BeginBatch() has been called without\n"
"(yet) matching calls to EndBatch().");

extern "C" {static PyObject *meth_wxGrid_GetBatchCount(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetBatchCount(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetBatchCount();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetBatchCount, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetNumberCols, "GetNumberCols() -> int\n"
"\n"
"Returns the total number of grid columns.");

extern "C" {static PyObject *meth_wxGrid_GetNumberCols(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetNumberCols(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetNumberCols();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetNumberCols, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetNumberRows, "GetNumberRows() -> int\n"
"\n"
"Returns the total number of grid rows.");

extern "C" {static PyObject *meth_wxGrid_GetNumberRows(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetNumberRows(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetNumberRows();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetNumberRows, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetNumberFrozenCols, "GetNumberFrozenCols() -> int\n"
"\n"
"Returns the number of frozen grid columns.");

extern "C" {static PyObject *meth_wxGrid_GetNumberFrozenCols(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetNumberFrozenCols(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetNumberFrozenCols();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetNumberFrozenCols, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetNumberFrozenRows, "GetNumberFrozenRows() -> int\n"
"\n"
"Returns the number of frozen grid rows.");

extern "C" {static PyObject *meth_wxGrid_GetNumberFrozenRows(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetNumberFrozenRows(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetNumberFrozenRows();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetNumberFrozenRows, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetOrCreateCellAttr, "GetOrCreateCellAttr(row, col) -> GridCellAttr\n"
"\n"
"Returns the attribute for the given cell creating one if necessary.");

extern "C" {static PyObject *meth_wxGrid_GetOrCreateCellAttr(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetOrCreateCellAttr(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxGridCellAttr*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetOrCreateCellAttr(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxGridCellAttr,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetOrCreateCellAttr, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetOrCreateCellAttrPtr, "GetOrCreateCellAttrPtr(row, col) -> GridCellAttrPtr\n"
"\n"
"Returns the attribute for the given cell creating one if necessary.");

extern "C" {static PyObject *meth_wxGrid_GetOrCreateCellAttrPtr(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetOrCreateCellAttrPtr(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
             ::wxGridCellAttrPtr*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridCellAttrPtr(sipCpp->GetOrCreateCellAttrPtr(row,col));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridCellAttrPtr,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetOrCreateCellAttrPtr, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetTable, "GetTable() -> GridTableBase\n"
"\n"
"Returns a base pointer to the current table object.");

extern "C" {static PyObject *meth_wxGrid_GetTable(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetTable(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxGridTableBase*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetTable();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxGridTableBase,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetTable, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_InsertCols, "InsertCols(pos=0, numCols=1, updateLabels=True) -> bool\n"
"\n"
"Inserts one or more new columns into a grid with the first new column\n"
"at the specified position.");

extern "C" {static PyObject *meth_wxGrid_InsertCols(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_InsertCols(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int pos = 0;
        int numCols = 1;
        bool updateLabels = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pos,
            sipName_numCols,
            sipName_updateLabels,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|iib", &sipSelf, sipType_wxGrid, &sipCpp, &pos, &numCols, &updateLabels))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->InsertCols(pos,numCols,updateLabels);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_InsertCols, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_InsertRows, "InsertRows(pos=0, numRows=1, updateLabels=True) -> bool\n"
"\n"
"Inserts one or more new rows into a grid with the first new row at the\n"
"specified position.");

extern "C" {static PyObject *meth_wxGrid_InsertRows(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_InsertRows(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int pos = 0;
        int numRows = 1;
        bool updateLabels = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pos,
            sipName_numRows,
            sipName_updateLabels,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|iib", &sipSelf, sipType_wxGrid, &sipCpp, &pos, &numRows, &updateLabels))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->InsertRows(pos,numRows,updateLabels);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_InsertRows, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_RefreshAttr, "RefreshAttr(row, col)\n"
"\n"
"Invalidates the cached attribute for the given cell.");

extern "C" {static PyObject *meth_wxGrid_RefreshAttr(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_RefreshAttr(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->RefreshAttr(row,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_RefreshAttr, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_Render, "Render(dc, pos=wx.DefaultPosition, size=wx.DefaultSize, topLeft=GridCellCoords(-1,-1), bottomRight=GridCellCoords(-1,-1), style=GRID_DRAW_DEFAULT)\n"
"\n"
"Draws part or all of a wxGrid on a wxDC for printing or display.");

extern "C" {static PyObject *meth_wxGrid_Render(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_Render(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDC* dc;
        const  ::wxPoint& posdef = wxDefaultPosition;
        const  ::wxPoint* pos = &posdef;
        int posState = 0;
        const  ::wxSize& sizedef = wxDefaultSize;
        const  ::wxSize* size = &sizedef;
        int sizeState = 0;
        const  ::wxGridCellCoords& topLeftdef = wxGridCellCoords(-1,-1);
        const  ::wxGridCellCoords* topLeft = &topLeftdef;
        int topLeftState = 0;
        const  ::wxGridCellCoords& bottomRightdef = wxGridCellCoords(-1,-1);
        const  ::wxGridCellCoords* bottomRight = &bottomRightdef;
        int bottomRightState = 0;
        int style = wxGRID_DRAW_DEFAULT;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_pos,
            sipName_size,
            sipName_topLeft,
            sipName_bottomRight,
            sipName_style,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|J1J1J1J1i", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxDC, &dc, sipType_wxPoint, &pos, &posState, sipType_wxSize, &size, &sizeState, sipType_wxGridCellCoords, &topLeft, &topLeftState, sipType_wxGridCellCoords, &bottomRight, &bottomRightState, &style))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Render(*dc,*pos,*size,*topLeft,*bottomRight,style);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint *>(pos),sipType_wxPoint,posState);
            sipReleaseType(const_cast< ::wxSize *>(size),sipType_wxSize,sizeState);
            sipReleaseType(const_cast< ::wxGridCellCoords *>(topLeft),sipType_wxGridCellCoords,topLeftState);
            sipReleaseType(const_cast< ::wxGridCellCoords *>(bottomRight),sipType_wxGridCellCoords,bottomRightState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_Render, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetAttr, "SetAttr(row, col, attr)\n"
"\n"
"Sets the cell attributes for the specified cell.");

extern "C" {static PyObject *meth_wxGrid_SetAttr(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetAttr(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
        int col;
         ::wxGridCellAttr* attr;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_col,
            sipName_attr,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiJ8", &sipSelf, sipType_wxGrid, &sipCpp, &row, &col, sipType_wxGridCellAttr, &attr))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetAttr(row,col,attr);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetAttr, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetColAttr, "SetColAttr(col, attr)\n"
"\n"
"Sets the cell attributes for all cells in the specified column.");

extern "C" {static PyObject *meth_wxGrid_SetColAttr(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetColAttr(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
         ::wxGridCellAttr* attr;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
            sipName_attr,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ:", &sipSelf, sipType_wxGrid, &sipCpp, &col, sipType_wxGridCellAttr, &attr))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColAttr(col,attr);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetColAttr, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetMargins, "SetMargins(extraWidth, extraHeight)\n"
"\n"
"Sets the extra margins used around the grid area.");

extern "C" {static PyObject *meth_wxGrid_SetMargins(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetMargins(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int extraWidth;
        int extraHeight;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_extraWidth,
            sipName_extraHeight,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &extraWidth, &extraHeight))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetMargins(extraWidth,extraHeight);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetMargins, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetRowAttr, "SetRowAttr(row, attr)\n"
"\n"
"Sets the cell attributes for all cells in the specified row.");

extern "C" {static PyObject *meth_wxGrid_SetRowAttr(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetRowAttr(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int row;
         ::wxGridCellAttr* attr;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_row,
            sipName_attr,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ:", &sipSelf, sipType_wxGrid, &sipCpp, &row, sipType_wxGridCellAttr, &attr))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRowAttr(row,attr);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetRowAttr, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CalcRowLabelsExposed, "CalcRowLabelsExposed(reg, gridWindow=None) -> ArrayInt\n"
"\n"
"Appends one or more new columns to the right of the grid.");

extern "C" {static PyObject *meth_wxGrid_CalcRowLabelsExposed(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CalcRowLabelsExposed(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRegion* reg;
         ::wxGridWindow* gridWindow = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_reg,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|J8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxRegion, &reg, sipType_wxWindow, &gridWindow))
        {
             ::wxArrayInt*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxArrayInt(sipCpp->CalcRowLabelsExposed(*reg,gridWindow));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxArrayInt,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CalcRowLabelsExposed, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CalcColLabelsExposed, "CalcColLabelsExposed(reg, gridWindow=None) -> ArrayInt\n"
"\n"
"Appends one or more new columns to the right of the grid.");

extern "C" {static PyObject *meth_wxGrid_CalcColLabelsExposed(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CalcColLabelsExposed(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRegion* reg;
         ::wxGridWindow* gridWindow = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_reg,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|J8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxRegion, &reg, sipType_wxWindow, &gridWindow))
        {
             ::wxArrayInt*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxArrayInt(sipCpp->CalcColLabelsExposed(*reg,gridWindow));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxArrayInt,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CalcColLabelsExposed, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CalcCellsExposed, "CalcCellsExposed(reg, gridWindow=None) -> GridCellCoordsArray\n"
"\n"
"Appends one or more new columns to the right of the grid.");

extern "C" {static PyObject *meth_wxGrid_CalcCellsExposed(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CalcCellsExposed(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxRegion* reg;
         ::wxGridWindow* gridWindow = 0;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_reg,
            sipName_gridWindow,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|J8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxRegion, &reg, sipType_wxWindow, &gridWindow))
        {
             ::wxGridCellCoordsArray*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGridCellCoordsArray(sipCpp->CalcCellsExposed(*reg,gridWindow));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxGridCellCoordsArray,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CalcCellsExposed, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetSortingColumn, "GetSortingColumn() -> int\n"
"\n"
"Return the column in which the sorting indicator is currently\n"
"displayed.");

extern "C" {static PyObject *meth_wxGrid_GetSortingColumn(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSortingColumn(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetSortingColumn();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetSortingColumn, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsSortingBy, "IsSortingBy(col) -> bool\n"
"\n"
"Return true if this column is currently used for sorting.");

extern "C" {static PyObject *meth_wxGrid_IsSortingBy(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsSortingBy(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsSortingBy(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsSortingBy, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsSortOrderAscending, "IsSortOrderAscending() -> bool\n"
"\n"
"Return true if the current sorting order is ascending or false if it\n"
"is descending.");

extern "C" {static PyObject *meth_wxGrid_IsSortOrderAscending(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsSortOrderAscending(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsSortOrderAscending();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsSortOrderAscending, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetSortingColumn, "SetSortingColumn(col, ascending=True)\n"
"\n"
"Set the column to display the sorting indicator in and its direction.");

extern "C" {static PyObject *meth_wxGrid_SetSortingColumn(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetSortingColumn(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        bool ascending = 1;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
            sipName_ascending,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|b", &sipSelf, sipType_wxGrid, &sipCpp, &col, &ascending))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetSortingColumn(col,ascending);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetSortingColumn, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_UnsetSortingColumn, "UnsetSortingColumn()\n"
"\n"
"Remove any currently shown sorting indicator.");

extern "C" {static PyObject *meth_wxGrid_UnsetSortingColumn(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_UnsetSortingColumn(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->UnsetSortingColumn();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_UnsetSortingColumn, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetGridWindow, "GetGridWindow() -> wx.Window\n"
"\n"
"Return the main grid window containing the grid cells.");

extern "C" {static PyObject *meth_wxGrid_GetGridWindow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetGridWindow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetGridWindow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetGridWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetFrozenCornerGridWindow, "GetFrozenCornerGridWindow() -> wx.Window\n"
"\n"
"Return the corner grid window containing frozen cells.");

extern "C" {static PyObject *meth_wxGrid_GetFrozenCornerGridWindow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetFrozenCornerGridWindow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFrozenCornerGridWindow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetFrozenCornerGridWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetFrozenRowGridWindow, "GetFrozenRowGridWindow() -> wx.Window\n"
"\n"
"Return the rows grid window containing row frozen cells.");

extern "C" {static PyObject *meth_wxGrid_GetFrozenRowGridWindow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetFrozenRowGridWindow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFrozenRowGridWindow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetFrozenRowGridWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetFrozenColGridWindow, "GetFrozenColGridWindow() -> wx.Window\n"
"\n"
"Return the columns grid window containing column frozen cells.");

extern "C" {static PyObject *meth_wxGrid_GetFrozenColGridWindow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetFrozenColGridWindow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFrozenColGridWindow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetFrozenColGridWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetGridRowLabelWindow, "GetGridRowLabelWindow() -> wx.Window\n"
"\n"
"Return the row labels window.");

extern "C" {static PyObject *meth_wxGrid_GetGridRowLabelWindow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetGridRowLabelWindow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetGridRowLabelWindow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetGridRowLabelWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetGridColLabelWindow, "GetGridColLabelWindow() -> wx.Window\n"
"\n"
"Return the column labels window.");

extern "C" {static PyObject *meth_wxGrid_GetGridColLabelWindow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetGridColLabelWindow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetGridColLabelWindow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetGridColLabelWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetGridCornerLabelWindow, "GetGridCornerLabelWindow() -> wx.Window\n"
"\n"
"Return the window in the top left grid corner.");

extern "C" {static PyObject *meth_wxGrid_GetGridCornerLabelWindow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetGridCornerLabelWindow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetGridCornerLabelWindow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetGridCornerLabelWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetGridColHeader, "GetGridColHeader() -> wx.HeaderCtrl\n"
"\n"
"Return the header control used for column labels display.");

extern "C" {static PyObject *meth_wxGrid_GetGridColHeader(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetGridColHeader(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxHeaderCtrl*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetGridColHeader();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxHeaderCtrl,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetGridColHeader, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_IsUsingNativeHeader, "IsUsingNativeHeader() -> bool\n"
"\n"
"Return true if native header control is currently being used.");

extern "C" {static PyObject *meth_wxGrid_IsUsingNativeHeader(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_IsUsingNativeHeader(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsUsingNativeHeader();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_IsUsingNativeHeader, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DrawCellHighlight, "DrawCellHighlight(dc, attr)");

extern "C" {static PyObject *meth_wxGrid_DrawCellHighlight(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DrawCellHighlight(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDC* dc;
        const  ::wxGridCellAttr* attr;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_attr,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxDC, &dc, sipType_wxGridCellAttr, &attr))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawCellHighlight(*dc,attr);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DrawCellHighlight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DrawRowLabels, "DrawRowLabels(dc, rows)");

extern "C" {static PyObject *meth_wxGrid_DrawRowLabels(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DrawRowLabels(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDC* dc;
        const  ::wxArrayInt* rows;
        int rowsState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_rows,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxDC, &dc, sipType_wxArrayInt,&rows, &rowsState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawRowLabels(*dc,*rows);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxArrayInt *>(rows),sipType_wxArrayInt,rowsState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DrawRowLabels, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DrawRowLabel, "DrawRowLabel(dc, row)");

extern "C" {static PyObject *meth_wxGrid_DrawRowLabel(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DrawRowLabel(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDC* dc;
        int row;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_row,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9i", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxDC, &dc, &row))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawRowLabel(*dc,row);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DrawRowLabel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DrawColLabels, "DrawColLabels(dc, cols)");

extern "C" {static PyObject *meth_wxGrid_DrawColLabels(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DrawColLabels(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDC* dc;
        const  ::wxArrayInt* cols;
        int colsState = 0;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_cols,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxDC, &dc, sipType_wxArrayInt,&cols, &colsState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawColLabels(*dc,*cols);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxArrayInt *>(cols),sipType_wxArrayInt,colsState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DrawColLabels, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DrawColLabel, "DrawColLabel(dc, col)");

extern "C" {static PyObject *meth_wxGrid_DrawColLabel(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DrawColLabel(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDC* dc;
        int col;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9i", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxDC, &dc, &col))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawColLabel(*dc,col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DrawColLabel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DrawCornerLabel, "DrawCornerLabel(dc)");

extern "C" {static PyObject *meth_wxGrid_DrawCornerLabel(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DrawCornerLabel(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDC* dc;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxDC, &dc))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawCornerLabel(*dc);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DrawCornerLabel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DrawTextRectangle, "DrawTextRectangle(dc, text, rect, horizontalAlignment=wx.ALIGN_LEFT, verticalAlignment=wx.ALIGN_TOP, textOrientation=wx.HORIZONTAL)\n"
"DrawTextRectangle(dc, lines, rect, horizontalAlignment=wx.ALIGN_LEFT, verticalAlignment=wx.ALIGN_TOP, textOrientation=wx.HORIZONTAL)\n"
"");

extern "C" {static PyObject *meth_wxGrid_DrawTextRectangle(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DrawTextRectangle(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxDC* dc;
        const  ::wxString* text;
        int textState = 0;
        const  ::wxRect* rect;
        int rectState = 0;
        int horizontalAlignment = wxALIGN_LEFT;
        int verticalAlignment = wxALIGN_TOP;
        int textOrientation = wxHORIZONTAL;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_text,
            sipName_rect,
            sipName_horizontalAlignment,
            sipName_verticalAlignment,
            sipName_textOrientation,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J1J1|iii", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxDC, &dc, sipType_wxString,&text, &textState, sipType_wxRect, &rect, &rectState, &horizontalAlignment, &verticalAlignment, &textOrientation))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawTextRectangle(*dc,*text,*rect,horizontalAlignment,verticalAlignment,textOrientation);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(text),sipType_wxString,textState);
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
         ::wxDC* dc;
        const  ::wxArrayString* lines;
        int linesState = 0;
        const  ::wxRect* rect;
        int rectState = 0;
        int horizontalAlignment = wxALIGN_LEFT;
        int verticalAlignment = wxALIGN_TOP;
        int textOrientation = wxHORIZONTAL;
        const  ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_lines,
            sipName_rect,
            sipName_horizontalAlignment,
            sipName_verticalAlignment,
            sipName_textOrientation,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J1J1|iii", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxDC, &dc, sipType_wxArrayString,&lines, &linesState, sipType_wxRect, &rect, &rectState, &horizontalAlignment, &verticalAlignment, &textOrientation))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawTextRectangle(*dc,*lines,*rect,horizontalAlignment,verticalAlignment,textOrientation);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxArrayString *>(lines),sipType_wxArrayString,linesState);
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DrawTextRectangle, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellHighlightColour, "GetCellHighlightColour() -> wx.Colour");

extern "C" {static PyObject *meth_wxGrid_GetCellHighlightColour(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellHighlightColour(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxColour*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(sipCpp->GetCellHighlightColour());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxColour,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellHighlightColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellHighlightPenWidth, "GetCellHighlightPenWidth() -> int");

extern "C" {static PyObject *meth_wxGrid_GetCellHighlightPenWidth(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellHighlightPenWidth(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetCellHighlightPenWidth();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellHighlightPenWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetCellHighlightROPenWidth, "GetCellHighlightROPenWidth() -> int");

extern "C" {static PyObject *meth_wxGrid_GetCellHighlightROPenWidth(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetCellHighlightROPenWidth(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetCellHighlightROPenWidth();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetCellHighlightROPenWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellHighlightColour, "SetCellHighlightColour()");

extern "C" {static PyObject *meth_wxGrid_SetCellHighlightColour(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellHighlightColour(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxColour* a0;
        int a0State = 0;
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxColour, &a0, &a0State))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellHighlightColour(*a0);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(a0),sipType_wxColour,a0State);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellHighlightColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellHighlightPenWidth, "SetCellHighlightPenWidth(width)");

extern "C" {static PyObject *meth_wxGrid_SetCellHighlightPenWidth(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellHighlightPenWidth(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int width;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_width,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &width))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellHighlightPenWidth(width);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellHighlightPenWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCellHighlightROPenWidth, "SetCellHighlightROPenWidth(width)");

extern "C" {static PyObject *meth_wxGrid_SetCellHighlightROPenWidth(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCellHighlightROPenWidth(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int width;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_width,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &width))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetCellHighlightROPenWidth(width);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCellHighlightROPenWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetGridFrozenBorderColour, "SetGridFrozenBorderColour()");

extern "C" {static PyObject *meth_wxGrid_SetGridFrozenBorderColour(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetGridFrozenBorderColour(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::wxColour* a0;
        int a0State = 0;
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxColour, &a0, &a0State))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetGridFrozenBorderColour(*a0);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(a0),sipType_wxColour,a0State);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetGridFrozenBorderColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetGridFrozenBorderPenWidth, "SetGridFrozenBorderPenWidth(width)");

extern "C" {static PyObject *meth_wxGrid_SetGridFrozenBorderPenWidth(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetGridFrozenBorderPenWidth(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int width;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_width,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &width))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetGridFrozenBorderPenWidth(width);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetGridFrozenBorderPenWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetClientAreaOrigin, "GetClientAreaOrigin(self) -> Point");

extern "C" {static PyObject *meth_wxGrid_GetClientAreaOrigin(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetClientAreaOrigin(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxPoint*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint((sipSelfWasArg ? sipCpp-> ::wxGrid::GetClientAreaOrigin() : sipCpp->GetClientAreaOrigin()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxPoint,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetClientAreaOrigin, doc_wxGrid_GetClientAreaOrigin);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_Validate, "Validate(self) -> bool");

extern "C" {static PyObject *meth_wxGrid_Validate(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_Validate(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxGrid::Validate() : sipCpp->Validate());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_Validate, doc_wxGrid_Validate);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_TransferDataToWindow, "TransferDataToWindow(self) -> bool");

extern "C" {static PyObject *meth_wxGrid_TransferDataToWindow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_TransferDataToWindow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxGrid::TransferDataToWindow() : sipCpp->TransferDataToWindow());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_TransferDataToWindow, doc_wxGrid_TransferDataToWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_TransferDataFromWindow, "TransferDataFromWindow(self) -> bool");

extern "C" {static PyObject *meth_wxGrid_TransferDataFromWindow(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_TransferDataFromWindow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxGrid::TransferDataFromWindow() : sipCpp->TransferDataFromWindow());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_TransferDataFromWindow, doc_wxGrid_TransferDataFromWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_InitDialog, "InitDialog(self)");

extern "C" {static PyObject *meth_wxGrid_InitDialog(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_InitDialog(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxGrid::InitDialog() : sipCpp->InitDialog());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_InitDialog, doc_wxGrid_InitDialog);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AcceptsFocus, "AcceptsFocus(self) -> bool");

extern "C" {static PyObject *meth_wxGrid_AcceptsFocus(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AcceptsFocus(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxGrid::AcceptsFocus() : sipCpp->AcceptsFocus());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AcceptsFocus, doc_wxGrid_AcceptsFocus);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AcceptsFocusRecursively, "AcceptsFocusRecursively(self) -> bool");

extern "C" {static PyObject *meth_wxGrid_AcceptsFocusRecursively(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AcceptsFocusRecursively(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxGrid::AcceptsFocusRecursively() : sipCpp->AcceptsFocusRecursively());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AcceptsFocusRecursively, doc_wxGrid_AcceptsFocusRecursively);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AcceptsFocusFromKeyboard, "AcceptsFocusFromKeyboard(self) -> bool");

extern "C" {static PyObject *meth_wxGrid_AcceptsFocusFromKeyboard(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AcceptsFocusFromKeyboard(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxGrid::AcceptsFocusFromKeyboard() : sipCpp->AcceptsFocusFromKeyboard());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AcceptsFocusFromKeyboard, doc_wxGrid_AcceptsFocusFromKeyboard);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_AddChild, "AddChild(self, child: WindowBase)");

extern "C" {static PyObject *meth_wxGrid_AddChild(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_AddChild(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxWindowBase* child;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_child,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxWindowBase, &child))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxGrid::AddChild(child) : sipCpp->AddChild(child));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_AddChild, doc_wxGrid_AddChild);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_RemoveChild, "RemoveChild(self, child: WindowBase)");

extern "C" {static PyObject *meth_wxGrid_RemoveChild(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_RemoveChild(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxWindowBase* child;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_child,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxWindowBase, &child))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxGrid::RemoveChild(child) : sipCpp->RemoveChild(child));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_RemoveChild, doc_wxGrid_RemoveChild);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_InheritAttributes, "InheritAttributes(self)");

extern "C" {static PyObject *meth_wxGrid_InheritAttributes(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_InheritAttributes(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxGrid::InheritAttributes() : sipCpp->InheritAttributes());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_InheritAttributes, doc_wxGrid_InheritAttributes);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ShouldInheritColours, "ShouldInheritColours(self) -> bool");

extern "C" {static PyObject *meth_wxGrid_ShouldInheritColours(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ShouldInheritColours(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxGrid::ShouldInheritColours() : sipCpp->ShouldInheritColours());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ShouldInheritColours, doc_wxGrid_ShouldInheritColours);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_OnInternalIdle, "OnInternalIdle(self)");

extern "C" {static PyObject *meth_wxGrid_OnInternalIdle(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_OnInternalIdle(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxGrid::OnInternalIdle() : sipCpp->OnInternalIdle());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_OnInternalIdle, doc_wxGrid_OnInternalIdle);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetMainWindowOfCompositeControl, "GetMainWindowOfCompositeControl(self) -> Window");

extern "C" {static PyObject *meth_wxGrid_GetMainWindowOfCompositeControl(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetMainWindowOfCompositeControl(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxWindow*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxGrid::GetMainWindowOfCompositeControl() : sipCpp->GetMainWindowOfCompositeControl());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxWindow,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetMainWindowOfCompositeControl, doc_wxGrid_GetMainWindowOfCompositeControl);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_InformFirstDirection, "InformFirstDirection(self, direction: int, size: int, availableOtherDir: int) -> bool");

extern "C" {static PyObject *meth_wxGrid_InformFirstDirection(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_InformFirstDirection(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int direction;
        int size;
        int availableOtherDir;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_direction,
            sipName_size,
            sipName_availableOtherDir,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biii", &sipSelf, sipType_wxGrid, &sipCpp, &direction, &size, &availableOtherDir))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxGrid::InformFirstDirection(direction,size,availableOtherDir) : sipCpp->InformFirstDirection(direction,size,availableOtherDir));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_InformFirstDirection, doc_wxGrid_InformFirstDirection);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetCanFocus, "SetCanFocus(self, canFocus: bool)");

extern "C" {static PyObject *meth_wxGrid_SetCanFocus(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetCanFocus(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        bool canFocus;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_canFocus,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &canFocus))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxGrid::SetCanFocus(canFocus) : sipCpp->SetCanFocus(canFocus));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetCanFocus, doc_wxGrid_SetCanFocus);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_Destroy, "Destroy(self) -> bool");

extern "C" {static PyObject *meth_wxGrid_Destroy(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_Destroy(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxGrid::Destroy() : sipCpp->Destroy());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_Destroy, doc_wxGrid_Destroy);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_SetValidator, "SetValidator(self, validator: Validator)");

extern "C" {static PyObject *meth_wxGrid_SetValidator(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_SetValidator(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::wxValidator* validator;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_validator,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxValidator, &validator))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxGrid::SetValidator(*validator) : sipCpp->SetValidator(*validator));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_SetValidator, doc_wxGrid_SetValidator);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetValidator, "GetValidator(self) -> Validator");

extern "C" {static PyObject *meth_wxGrid_GetValidator(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetValidator(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxValidator*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxGrid::GetValidator() : sipCpp->GetValidator());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxValidator,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetValidator, doc_wxGrid_GetValidator);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_EnableVisibleFocus, "EnableVisibleFocus(self, enabled: bool)");

extern "C" {static PyObject *meth_wxGrid_EnableVisibleFocus(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_EnableVisibleFocus(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        bool enabled;
         ::wxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_enabled,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &enabled))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxGrid::EnableVisibleFocus(enabled) : sipCpp->EnableVisibleFocus(enabled));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_EnableVisibleFocus, doc_wxGrid_EnableVisibleFocus);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_ProcessEvent, "ProcessEvent(self, event: Event) -> bool");

extern "C" {static PyObject *meth_wxGrid_ProcessEvent(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_ProcessEvent(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxEvent* event;
        sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_event,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_ProcessEvent(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_ProcessEvent, doc_wxGrid_ProcessEvent);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoEnable, "DoEnable(self, enable: bool)");

extern "C" {static PyObject *meth_wxGrid_DoEnable(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoEnable(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        bool enable;
        sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_enable,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxGrid, &sipCpp, &enable))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoEnable(sipSelfWasArg,enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoEnable, doc_wxGrid_DoEnable);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoGetPosition, "DoGetPosition(self) -> Tuple[int, int]");

extern "C" {static PyObject *meth_wxGrid_DoGetPosition(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoGetPosition(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int x;
        int y;
        const sipwxGrid *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetPosition(sipSelfWasArg,&x,&y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",x,y);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoGetPosition, doc_wxGrid_DoGetPosition);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoGetSize, "DoGetSize(self) -> Tuple[int, int]");

extern "C" {static PyObject *meth_wxGrid_DoGetSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoGetSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int width;
        int height;
        const sipwxGrid *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetSize(sipSelfWasArg,&width,&height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",width,height);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoGetSize, doc_wxGrid_DoGetSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoGetClientSize, "DoGetClientSize(self) -> Tuple[int, int]");

extern "C" {static PyObject *meth_wxGrid_DoGetClientSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoGetClientSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int width;
        int height;
        const sipwxGrid *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetClientSize(sipSelfWasArg,&width,&height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",width,height);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoGetClientSize, doc_wxGrid_DoGetClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoGetBestSize, "DoGetBestSize(self) -> Size");

extern "C" {static PyObject *meth_wxGrid_DoGetBestSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoGetBestSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const sipwxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxSize*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(sipCpp->sipProtectVirt_DoGetBestSize(sipSelfWasArg));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxSize,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoGetBestSize, doc_wxGrid_DoGetBestSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoGetBestClientSize, "DoGetBestClientSize(self) -> Size");

extern "C" {static PyObject *meth_wxGrid_DoGetBestClientSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoGetBestClientSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const sipwxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxSize*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(sipCpp->sipProtectVirt_DoGetBestClientSize(sipSelfWasArg));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxSize,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoGetBestClientSize, doc_wxGrid_DoGetBestClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoSetSize, "DoSetSize(self, x: int, y: int, width: int, height: int, sizeFlags: int)");

extern "C" {static PyObject *meth_wxGrid_DoSetSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoSetSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int x;
        int y;
        int width;
        int height;
        int sizeFlags;
        sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
            sipName_width,
            sipName_height,
            sipName_sizeFlags,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiiii", &sipSelf, sipType_wxGrid, &sipCpp, &x, &y, &width, &height, &sizeFlags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetSize(sipSelfWasArg,x,y,width,height,sizeFlags);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoSetSize, doc_wxGrid_DoSetSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoSetClientSize, "DoSetClientSize(self, width: int, height: int)");

extern "C" {static PyObject *meth_wxGrid_DoSetClientSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoSetClientSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int width;
        int height;
        sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_width,
            sipName_height,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxGrid, &sipCpp, &width, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetClientSize(sipSelfWasArg,width,height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoSetClientSize, doc_wxGrid_DoSetClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoSetSizeHints, "DoSetSizeHints(self, minW: int, minH: int, maxW: int, maxH: int, incW: int, incH: int)");

extern "C" {static PyObject *meth_wxGrid_DoSetSizeHints(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoSetSizeHints(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int minW;
        int minH;
        int maxW;
        int maxH;
        int incW;
        int incH;
        sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_minW,
            sipName_minH,
            sipName_maxW,
            sipName_maxH,
            sipName_incW,
            sipName_incH,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiiiii", &sipSelf, sipType_wxGrid, &sipCpp, &minW, &minH, &maxW, &maxH, &incW, &incH))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetSizeHints(sipSelfWasArg,minW,minH,maxW,maxH,incW,incH);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoSetSizeHints, doc_wxGrid_DoSetSizeHints);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoGetBorderSize, "DoGetBorderSize(self) -> Size");

extern "C" {static PyObject *meth_wxGrid_DoGetBorderSize(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoGetBorderSize(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const sipwxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxSize*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(sipCpp->sipProtectVirt_DoGetBorderSize(sipSelfWasArg));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxSize,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoGetBorderSize, doc_wxGrid_DoGetBorderSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoMoveWindow, "DoMoveWindow(self, x: int, y: int, width: int, height: int)");

extern "C" {static PyObject *meth_wxGrid_DoMoveWindow(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoMoveWindow(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int x;
        int y;
        int width;
        int height;
        sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
            sipName_width,
            sipName_height,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiii", &sipSelf, sipType_wxGrid, &sipCpp, &x, &y, &width, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoMoveWindow(sipSelfWasArg,x,y,width,height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoMoveWindow, doc_wxGrid_DoMoveWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoSetWindowVariant, "DoSetWindowVariant(self, variant: WindowVariant)");

extern "C" {static PyObject *meth_wxGrid_DoSetWindowVariant(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoSetWindowVariant(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxWindowVariant variant;
        sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_variant,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxWindowVariant, &variant))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetWindowVariant(sipSelfWasArg,variant);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoSetWindowVariant, doc_wxGrid_DoSetWindowVariant);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultBorder, "GetDefaultBorder(self) -> Border");

extern "C" {static PyObject *meth_wxGrid_GetDefaultBorder(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultBorder(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const sipwxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxBorder sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_GetDefaultBorder(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxBorder);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultBorder, doc_wxGrid_GetDefaultBorder);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetDefaultBorderForControl, "GetDefaultBorderForControl(self) -> Border");

extern "C" {static PyObject *meth_wxGrid_GetDefaultBorderForControl(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetDefaultBorderForControl(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const sipwxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
             ::wxBorder sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_GetDefaultBorderForControl(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxBorder);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetDefaultBorderForControl, doc_wxGrid_GetDefaultBorderForControl);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoFreeze, "DoFreeze(self)");

extern "C" {static PyObject *meth_wxGrid_DoFreeze(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoFreeze(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        sipwxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoFreeze(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoFreeze, doc_wxGrid_DoFreeze);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_DoThaw, "DoThaw(self)");

extern "C" {static PyObject *meth_wxGrid_DoThaw(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_DoThaw(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        sipwxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoThaw(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_DoThaw, doc_wxGrid_DoThaw);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_HasTransparentBackground, "HasTransparentBackground(self) -> bool");

extern "C" {static PyObject *meth_wxGrid_HasTransparentBackground(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_HasTransparentBackground(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        sipwxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_HasTransparentBackground(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_HasTransparentBackground, doc_wxGrid_HasTransparentBackground);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_TryBefore, "TryBefore(self, event: Event) -> bool");

extern "C" {static PyObject *meth_wxGrid_TryBefore(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_TryBefore(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxEvent* event;
        sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_event,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_TryBefore(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_TryBefore, doc_wxGrid_TryBefore);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_TryAfter, "TryAfter(self, event: Event) -> bool");

extern "C" {static PyObject *meth_wxGrid_TryAfter(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_TryAfter(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::wxEvent* event;
        sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_event,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGrid, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_TryAfter(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_TryAfter, doc_wxGrid_TryAfter);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetClassDefaultAttributes, "GetClassDefaultAttributes(variant=wx.WINDOW_VARIANT_NORMAL) -> wx.VisualAttributes");

extern "C" {static PyObject *meth_wxGrid_GetClassDefaultAttributes(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetClassDefaultAttributes(PyObject *, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL;

        static const char *sipKwdList[] = {
            sipName_variant,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "|E", sipType_wxWindowVariant, &variant))
        {
             ::wxVisualAttributes*sipRes;

        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxVisualAttributes( ::wxGrid::GetClassDefaultAttributes(variant));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes,sipType_wxVisualAttributes,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetClassDefaultAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_CanHaveAttributes, "CanHaveAttributes() -> bool\n"
"\n"
"Returns true if this grid has support for cell attributes.");

extern "C" {static PyObject *meth_wxGrid_CanHaveAttributes(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_CanHaveAttributes(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const sipwxGrid *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxGrid, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtect_CanHaveAttributes();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_CanHaveAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColMinimalWidth, "GetColMinimalWidth(col) -> int\n"
"\n"
"Get the minimal width of the given column/row.");

extern "C" {static PyObject *meth_wxGrid_GetColMinimalWidth(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColMinimalWidth(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtect_GetColMinimalWidth(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColMinimalWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColRight, "GetColRight(col) -> int\n"
"\n"
"Returns the coordinate of the right border specified column.");

extern "C" {static PyObject *meth_wxGrid_GetColRight(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColRight(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtect_GetColRight(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColRight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetColLeft, "GetColLeft(col) -> int\n"
"\n"
"Returns the coordinate of the left border specified column.");

extern "C" {static PyObject *meth_wxGrid_GetColLeft(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetColLeft(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtect_GetColLeft(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetColLeft, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGrid_GetRowMinimalHeight, "GetRowMinimalHeight(col) -> int\n"
"\n"
"Returns the minimal size for the given column.");

extern "C" {static PyObject *meth_wxGrid_GetRowMinimalHeight(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetRowMinimalHeight(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        int col;
        const sipwxGrid *sipCpp;

        static const char *sipKwdList[] = {
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxGrid, &sipCpp, &col))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtect_GetRowMinimalHeight(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Grid, sipName_GetRowMinimalHeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


extern "C" {static PyObject *meth_wxGrid_GetSizeAvailableForScrollTarget(PyObject *, PyObject *);}
static PyObject *meth_wxGrid_GetSizeAvailableForScrollTarget(PyObject *, PyObject *)
{

    sipNoMethod(SIP_NULLPTR, sipName_Grid, sipName_GetSizeAvailableForScrollTarget, SIP_NULLPTR);

    return SIP_NULLPTR;
}


/* Cast a pointer to a type somewhere in its inheritance hierarchy. */
extern "C" {static void *cast_wxGrid(void *, const sipTypeDef *);}
static void *cast_wxGrid(void *sipCppV, const sipTypeDef *targetType)
{
     ::wxGrid *sipCpp = reinterpret_cast< ::wxGrid *>(sipCppV);

    if (targetType == sipType_wxScrolledCanvas)
        return static_cast< ::wxScrolledCanvas *>(sipCpp);

    if (targetType == sipType_wxWindow)
        return static_cast< ::wxWindow *>(sipCpp);

    if (targetType == sipType_wxWindowBase)
        return static_cast< ::wxWindowBase *>(sipCpp);

    if (targetType == sipType_wxEvtHandler)
        return static_cast< ::wxEvtHandler *>(sipCpp);

    if (targetType == sipType_wxObject)
        return static_cast< ::wxObject *>(sipCpp);

    if (targetType == sipType_wxTrackable)
        return static_cast< ::wxTrackable *>(sipCpp);

    return sipCppV;
}


/* Call the instance's destructor. */
extern "C" {static void release_wxGrid(void *, int);}
static void release_wxGrid(void *sipCppV, int sipState)
{
    Py_BEGIN_ALLOW_THREADS

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxGrid *>(sipCppV);
    else
        delete reinterpret_cast< ::wxGrid *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void dealloc_wxGrid(sipSimpleWrapper *);}
static void dealloc_wxGrid(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerivedClass(sipSelf))
        reinterpret_cast<sipwxGrid *>(sipGetAddress(sipSelf))->sipPySelf = SIP_NULLPTR;

    if (sipIsOwnedByPython(sipSelf))
    {
        release_wxGrid(sipGetAddress(sipSelf), sipIsDerivedClass(sipSelf));
    }
}


extern "C" {static void *init_type_wxGrid(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_wxGrid(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **sipOwner, PyObject **sipParseErr)
{
    sipwxGrid *sipCpp = SIP_NULLPTR;

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, ""))
        {

        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxGrid();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
         ::wxWindow* parent;
         ::wxWindowID id = wxID_ANY;
        const  ::wxPoint& posdef = wxDefaultPosition;
        const  ::wxPoint* pos = &posdef;
        int posState = 0;
        const  ::wxSize& sizedef = wxDefaultSize;
        const  ::wxSize* size = &sizedef;
        int sizeState = 0;
        long style = wxWANTS_CHARS;
        const  ::wxString& namedef = wxGridNameStr;
        const  ::wxString* name = &namedef;
        int nameState = 0;

        static const char *sipKwdList[] = {
            sipName_parent,
            sipName_id,
            sipName_pos,
            sipName_size,
            sipName_style,
            sipName_name,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "JH|iJ1J1lJ1", sipType_wxWindow, &parent, sipOwner, &id, sipType_wxPoint, &pos, &posState, sipType_wxSize, &size, &sizeState, &style, sipType_wxString,&name, &nameState))
        {

        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxGrid(parent,id,*pos,*size,style,*name);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint *>(pos),sipType_wxPoint,posState);
            sipReleaseType(const_cast< ::wxSize *>(size),sipType_wxSize,sizeState);
            sipReleaseType(const_cast< ::wxString *>(name),sipType_wxString,nameState);

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


/* Define this type's super-types. */
static sipEncodedTypeDef supers_wxGrid[] = {{25, 0, 1}};


static PyMethodDef methods_wxGrid[] = {
    {SIP_MLNAME_CAST(sipName_AcceptsFocus), meth_wxGrid_AcceptsFocus, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_AcceptsFocus)},
    {SIP_MLNAME_CAST(sipName_AcceptsFocusFromKeyboard), meth_wxGrid_AcceptsFocusFromKeyboard, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_AcceptsFocusFromKeyboard)},
    {SIP_MLNAME_CAST(sipName_AcceptsFocusRecursively), meth_wxGrid_AcceptsFocusRecursively, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_AcceptsFocusRecursively)},
    {SIP_MLNAME_CAST(sipName_AddChild), SIP_MLMETH_CAST(meth_wxGrid_AddChild), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_AddChild)},
    {SIP_MLNAME_CAST(sipName_AppendCols), SIP_MLMETH_CAST(meth_wxGrid_AppendCols), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_AppendCols)},
    {SIP_MLNAME_CAST(sipName_AppendRows), SIP_MLMETH_CAST(meth_wxGrid_AppendRows), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_AppendRows)},
    {SIP_MLNAME_CAST(sipName_AreHorzGridLinesClipped), meth_wxGrid_AreHorzGridLinesClipped, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_AreHorzGridLinesClipped)},
    {SIP_MLNAME_CAST(sipName_AreVertGridLinesClipped), meth_wxGrid_AreVertGridLinesClipped, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_AreVertGridLinesClipped)},
    {SIP_MLNAME_CAST(sipName_AssignTable), SIP_MLMETH_CAST(meth_wxGrid_AssignTable), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_AssignTable)},
    {SIP_MLNAME_CAST(sipName_AutoSize), meth_wxGrid_AutoSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_AutoSize)},
    {SIP_MLNAME_CAST(sipName_AutoSizeColLabelSize), SIP_MLMETH_CAST(meth_wxGrid_AutoSizeColLabelSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_AutoSizeColLabelSize)},
    {SIP_MLNAME_CAST(sipName_AutoSizeColumn), SIP_MLMETH_CAST(meth_wxGrid_AutoSizeColumn), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_AutoSizeColumn)},
    {SIP_MLNAME_CAST(sipName_AutoSizeColumns), SIP_MLMETH_CAST(meth_wxGrid_AutoSizeColumns), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_AutoSizeColumns)},
    {SIP_MLNAME_CAST(sipName_AutoSizeRow), SIP_MLMETH_CAST(meth_wxGrid_AutoSizeRow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_AutoSizeRow)},
    {SIP_MLNAME_CAST(sipName_AutoSizeRowLabelSize), SIP_MLMETH_CAST(meth_wxGrid_AutoSizeRowLabelSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_AutoSizeRowLabelSize)},
    {SIP_MLNAME_CAST(sipName_AutoSizeRows), SIP_MLMETH_CAST(meth_wxGrid_AutoSizeRows), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_AutoSizeRows)},
    {SIP_MLNAME_CAST(sipName_BeginBatch), meth_wxGrid_BeginBatch, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_BeginBatch)},
    {SIP_MLNAME_CAST(sipName_BlockToDeviceRect), SIP_MLMETH_CAST(meth_wxGrid_BlockToDeviceRect), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_BlockToDeviceRect)},
    {SIP_MLNAME_CAST(sipName_CalcCellsExposed), SIP_MLMETH_CAST(meth_wxGrid_CalcCellsExposed), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_CalcCellsExposed)},
    {SIP_MLNAME_CAST(sipName_CalcColLabelsExposed), SIP_MLMETH_CAST(meth_wxGrid_CalcColLabelsExposed), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_CalcColLabelsExposed)},
    {SIP_MLNAME_CAST(sipName_CalcGridWindowScrolledPosition), SIP_MLMETH_CAST(meth_wxGrid_CalcGridWindowScrolledPosition), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_CalcGridWindowScrolledPosition)},
    {SIP_MLNAME_CAST(sipName_CalcGridWindowUnscrolledPosition), SIP_MLMETH_CAST(meth_wxGrid_CalcGridWindowUnscrolledPosition), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_CalcGridWindowUnscrolledPosition)},
    {SIP_MLNAME_CAST(sipName_CalcRowLabelsExposed), SIP_MLMETH_CAST(meth_wxGrid_CalcRowLabelsExposed), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_CalcRowLabelsExposed)},
    {SIP_MLNAME_CAST(sipName_CanDragCell), meth_wxGrid_CanDragCell, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_CanDragCell)},
    {SIP_MLNAME_CAST(sipName_CanDragColMove), meth_wxGrid_CanDragColMove, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_CanDragColMove)},
    {SIP_MLNAME_CAST(sipName_CanDragColSize), SIP_MLMETH_CAST(meth_wxGrid_CanDragColSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_CanDragColSize)},
    {SIP_MLNAME_CAST(sipName_CanDragGridColEdges), meth_wxGrid_CanDragGridColEdges, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_CanDragGridColEdges)},
    {SIP_MLNAME_CAST(sipName_CanDragGridRowEdges), meth_wxGrid_CanDragGridRowEdges, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_CanDragGridRowEdges)},
    {SIP_MLNAME_CAST(sipName_CanDragGridSize), meth_wxGrid_CanDragGridSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_CanDragGridSize)},
    {SIP_MLNAME_CAST(sipName_CanDragRowSize), SIP_MLMETH_CAST(meth_wxGrid_CanDragRowSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_CanDragRowSize)},
    {SIP_MLNAME_CAST(sipName_CanEnableCellControl), meth_wxGrid_CanEnableCellControl, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_CanEnableCellControl)},
    {SIP_MLNAME_CAST(sipName_CanHaveAttributes), meth_wxGrid_CanHaveAttributes, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_CanHaveAttributes)},
    {SIP_MLNAME_CAST(sipName_CanHideColumns), meth_wxGrid_CanHideColumns, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_CanHideColumns)},
    {SIP_MLNAME_CAST(sipName_CellToGridWindow), SIP_MLMETH_CAST(meth_wxGrid_CellToGridWindow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_CellToGridWindow)},
    {SIP_MLNAME_CAST(sipName_CellToRect), SIP_MLMETH_CAST(meth_wxGrid_CellToRect), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_CellToRect)},
    {SIP_MLNAME_CAST(sipName_ClearGrid), meth_wxGrid_ClearGrid, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_ClearGrid)},
    {SIP_MLNAME_CAST(sipName_ClearSelection), meth_wxGrid_ClearSelection, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_ClearSelection)},
    {SIP_MLNAME_CAST(sipName_ClipHorzGridLines), SIP_MLMETH_CAST(meth_wxGrid_ClipHorzGridLines), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_ClipHorzGridLines)},
    {SIP_MLNAME_CAST(sipName_ClipVertGridLines), SIP_MLMETH_CAST(meth_wxGrid_ClipVertGridLines), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_ClipVertGridLines)},
    {SIP_MLNAME_CAST(sipName_Create), SIP_MLMETH_CAST(meth_wxGrid_Create), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_Create)},
    {SIP_MLNAME_CAST(sipName_CreateGrid), SIP_MLMETH_CAST(meth_wxGrid_CreateGrid), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_CreateGrid)},
    {SIP_MLNAME_CAST(sipName_DeleteCols), SIP_MLMETH_CAST(meth_wxGrid_DeleteCols), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DeleteCols)},
    {SIP_MLNAME_CAST(sipName_DeleteRows), SIP_MLMETH_CAST(meth_wxGrid_DeleteRows), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DeleteRows)},
    {SIP_MLNAME_CAST(sipName_DeselectCell), SIP_MLMETH_CAST(meth_wxGrid_DeselectCell), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DeselectCell)},
    {SIP_MLNAME_CAST(sipName_DeselectCol), SIP_MLMETH_CAST(meth_wxGrid_DeselectCol), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DeselectCol)},
    {SIP_MLNAME_CAST(sipName_DeselectRow), SIP_MLMETH_CAST(meth_wxGrid_DeselectRow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DeselectRow)},
    {SIP_MLNAME_CAST(sipName_Destroy), meth_wxGrid_Destroy, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_Destroy)},
    {SIP_MLNAME_CAST(sipName_DevicePosToGridWindow), SIP_MLMETH_CAST(meth_wxGrid_DevicePosToGridWindow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DevicePosToGridWindow)},
    {SIP_MLNAME_CAST(sipName_DisableCellEditControl), meth_wxGrid_DisableCellEditControl, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_DisableCellEditControl)},
    {SIP_MLNAME_CAST(sipName_DisableColResize), SIP_MLMETH_CAST(meth_wxGrid_DisableColResize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DisableColResize)},
    {SIP_MLNAME_CAST(sipName_DisableDragColMove), meth_wxGrid_DisableDragColMove, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_DisableDragColMove)},
    {SIP_MLNAME_CAST(sipName_DisableDragColSize), meth_wxGrid_DisableDragColSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_DisableDragColSize)},
    {SIP_MLNAME_CAST(sipName_DisableDragGridSize), meth_wxGrid_DisableDragGridSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_DisableDragGridSize)},
    {SIP_MLNAME_CAST(sipName_DisableDragRowSize), meth_wxGrid_DisableDragRowSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_DisableDragRowSize)},
    {SIP_MLNAME_CAST(sipName_DisableHidingColumns), meth_wxGrid_DisableHidingColumns, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_DisableHidingColumns)},
    {SIP_MLNAME_CAST(sipName_DisableRowResize), SIP_MLMETH_CAST(meth_wxGrid_DisableRowResize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DisableRowResize)},
    {SIP_MLNAME_CAST(sipName_DoEnable), SIP_MLMETH_CAST(meth_wxGrid_DoEnable), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DoEnable)},
    {SIP_MLNAME_CAST(sipName_DoFreeze), meth_wxGrid_DoFreeze, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_DoFreeze)},
    {SIP_MLNAME_CAST(sipName_DoGetBestClientSize), meth_wxGrid_DoGetBestClientSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_DoGetBestClientSize)},
    {SIP_MLNAME_CAST(sipName_DoGetBestSize), meth_wxGrid_DoGetBestSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_DoGetBestSize)},
    {SIP_MLNAME_CAST(sipName_DoGetBorderSize), meth_wxGrid_DoGetBorderSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_DoGetBorderSize)},
    {SIP_MLNAME_CAST(sipName_DoGetClientSize), SIP_MLMETH_CAST(meth_wxGrid_DoGetClientSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DoGetClientSize)},
    {SIP_MLNAME_CAST(sipName_DoGetPosition), SIP_MLMETH_CAST(meth_wxGrid_DoGetPosition), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DoGetPosition)},
    {SIP_MLNAME_CAST(sipName_DoGetSize), SIP_MLMETH_CAST(meth_wxGrid_DoGetSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DoGetSize)},
    {SIP_MLNAME_CAST(sipName_DoMoveWindow), SIP_MLMETH_CAST(meth_wxGrid_DoMoveWindow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DoMoveWindow)},
    {SIP_MLNAME_CAST(sipName_DoSetClientSize), SIP_MLMETH_CAST(meth_wxGrid_DoSetClientSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DoSetClientSize)},
    {SIP_MLNAME_CAST(sipName_DoSetSize), SIP_MLMETH_CAST(meth_wxGrid_DoSetSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DoSetSize)},
    {SIP_MLNAME_CAST(sipName_DoSetSizeHints), SIP_MLMETH_CAST(meth_wxGrid_DoSetSizeHints), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DoSetSizeHints)},
    {SIP_MLNAME_CAST(sipName_DoSetWindowVariant), SIP_MLMETH_CAST(meth_wxGrid_DoSetWindowVariant), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DoSetWindowVariant)},
    {SIP_MLNAME_CAST(sipName_DoThaw), meth_wxGrid_DoThaw, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_DoThaw)},
    {SIP_MLNAME_CAST(sipName_DrawCellHighlight), SIP_MLMETH_CAST(meth_wxGrid_DrawCellHighlight), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DrawCellHighlight)},
    {SIP_MLNAME_CAST(sipName_DrawColLabel), SIP_MLMETH_CAST(meth_wxGrid_DrawColLabel), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DrawColLabel)},
    {SIP_MLNAME_CAST(sipName_DrawColLabels), SIP_MLMETH_CAST(meth_wxGrid_DrawColLabels), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DrawColLabels)},
    {SIP_MLNAME_CAST(sipName_DrawCornerLabel), SIP_MLMETH_CAST(meth_wxGrid_DrawCornerLabel), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DrawCornerLabel)},
    {SIP_MLNAME_CAST(sipName_DrawRowLabel), SIP_MLMETH_CAST(meth_wxGrid_DrawRowLabel), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DrawRowLabel)},
    {SIP_MLNAME_CAST(sipName_DrawRowLabels), SIP_MLMETH_CAST(meth_wxGrid_DrawRowLabels), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DrawRowLabels)},
    {SIP_MLNAME_CAST(sipName_DrawTextRectangle), SIP_MLMETH_CAST(meth_wxGrid_DrawTextRectangle), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_DrawTextRectangle)},
    {SIP_MLNAME_CAST(sipName_EnableCellEditControl), SIP_MLMETH_CAST(meth_wxGrid_EnableCellEditControl), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_EnableCellEditControl)},
    {SIP_MLNAME_CAST(sipName_EnableDragCell), SIP_MLMETH_CAST(meth_wxGrid_EnableDragCell), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_EnableDragCell)},
    {SIP_MLNAME_CAST(sipName_EnableDragColMove), SIP_MLMETH_CAST(meth_wxGrid_EnableDragColMove), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_EnableDragColMove)},
    {SIP_MLNAME_CAST(sipName_EnableDragColSize), SIP_MLMETH_CAST(meth_wxGrid_EnableDragColSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_EnableDragColSize)},
    {SIP_MLNAME_CAST(sipName_EnableDragGridSize), SIP_MLMETH_CAST(meth_wxGrid_EnableDragGridSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_EnableDragGridSize)},
    {SIP_MLNAME_CAST(sipName_EnableDragRowSize), SIP_MLMETH_CAST(meth_wxGrid_EnableDragRowSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_EnableDragRowSize)},
    {SIP_MLNAME_CAST(sipName_EnableEditing), SIP_MLMETH_CAST(meth_wxGrid_EnableEditing), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_EnableEditing)},
    {SIP_MLNAME_CAST(sipName_EnableGridLines), SIP_MLMETH_CAST(meth_wxGrid_EnableGridLines), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_EnableGridLines)},
    {SIP_MLNAME_CAST(sipName_EnableHidingColumns), SIP_MLMETH_CAST(meth_wxGrid_EnableHidingColumns), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_EnableHidingColumns)},
    {SIP_MLNAME_CAST(sipName_EnableVisibleFocus), SIP_MLMETH_CAST(meth_wxGrid_EnableVisibleFocus), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_EnableVisibleFocus)},
    {SIP_MLNAME_CAST(sipName_EndBatch), meth_wxGrid_EndBatch, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_EndBatch)},
    {SIP_MLNAME_CAST(sipName_Fit), meth_wxGrid_Fit, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_Fit)},
    {SIP_MLNAME_CAST(sipName_ForceRefresh), meth_wxGrid_ForceRefresh, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_ForceRefresh)},
    {SIP_MLNAME_CAST(sipName_FreezeTo), SIP_MLMETH_CAST(meth_wxGrid_FreezeTo), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_FreezeTo)},
    {SIP_MLNAME_CAST(sipName_GetBatchCount), meth_wxGrid_GetBatchCount, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetBatchCount)},
    {SIP_MLNAME_CAST(sipName_GetCellAlignment), SIP_MLMETH_CAST(meth_wxGrid_GetCellAlignment), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetCellAlignment)},
    {SIP_MLNAME_CAST(sipName_GetCellBackgroundColour), SIP_MLMETH_CAST(meth_wxGrid_GetCellBackgroundColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetCellBackgroundColour)},
    {SIP_MLNAME_CAST(sipName_GetCellEditor), SIP_MLMETH_CAST(meth_wxGrid_GetCellEditor), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetCellEditor)},
    {SIP_MLNAME_CAST(sipName_GetCellFitMode), SIP_MLMETH_CAST(meth_wxGrid_GetCellFitMode), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetCellFitMode)},
    {SIP_MLNAME_CAST(sipName_GetCellFont), SIP_MLMETH_CAST(meth_wxGrid_GetCellFont), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetCellFont)},
    {SIP_MLNAME_CAST(sipName_GetCellHighlightColour), meth_wxGrid_GetCellHighlightColour, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetCellHighlightColour)},
    {SIP_MLNAME_CAST(sipName_GetCellHighlightPenWidth), meth_wxGrid_GetCellHighlightPenWidth, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetCellHighlightPenWidth)},
    {SIP_MLNAME_CAST(sipName_GetCellHighlightROPenWidth), meth_wxGrid_GetCellHighlightROPenWidth, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetCellHighlightROPenWidth)},
    {SIP_MLNAME_CAST(sipName_GetCellOverflow), SIP_MLMETH_CAST(meth_wxGrid_GetCellOverflow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetCellOverflow)},
    {SIP_MLNAME_CAST(sipName_GetCellRenderer), SIP_MLMETH_CAST(meth_wxGrid_GetCellRenderer), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetCellRenderer)},
    {SIP_MLNAME_CAST(sipName_GetCellSize), SIP_MLMETH_CAST(meth_wxGrid_GetCellSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetCellSize)},
    {SIP_MLNAME_CAST(sipName_GetCellTextColour), SIP_MLMETH_CAST(meth_wxGrid_GetCellTextColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetCellTextColour)},
    {SIP_MLNAME_CAST(sipName_GetCellValue), SIP_MLMETH_CAST(meth_wxGrid_GetCellValue), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetCellValue)},
    {SIP_MLNAME_CAST(sipName_GetClassDefaultAttributes), SIP_MLMETH_CAST(meth_wxGrid_GetClassDefaultAttributes), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetClassDefaultAttributes)},
    {SIP_MLNAME_CAST(sipName_GetClientAreaOrigin), meth_wxGrid_GetClientAreaOrigin, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetClientAreaOrigin)},
    {SIP_MLNAME_CAST(sipName_GetColAt), SIP_MLMETH_CAST(meth_wxGrid_GetColAt), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetColAt)},
    {SIP_MLNAME_CAST(sipName_GetColGridLinePen), SIP_MLMETH_CAST(meth_wxGrid_GetColGridLinePen), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetColGridLinePen)},
    {SIP_MLNAME_CAST(sipName_GetColLabelAlignment), SIP_MLMETH_CAST(meth_wxGrid_GetColLabelAlignment), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetColLabelAlignment)},
    {SIP_MLNAME_CAST(sipName_GetColLabelSize), meth_wxGrid_GetColLabelSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetColLabelSize)},
    {SIP_MLNAME_CAST(sipName_GetColLabelTextOrientation), meth_wxGrid_GetColLabelTextOrientation, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetColLabelTextOrientation)},
    {SIP_MLNAME_CAST(sipName_GetColLabelValue), SIP_MLMETH_CAST(meth_wxGrid_GetColLabelValue), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetColLabelValue)},
    {SIP_MLNAME_CAST(sipName_GetColLeft), SIP_MLMETH_CAST(meth_wxGrid_GetColLeft), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetColLeft)},
    {SIP_MLNAME_CAST(sipName_GetColMinimalAcceptableWidth), meth_wxGrid_GetColMinimalAcceptableWidth, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetColMinimalAcceptableWidth)},
    {SIP_MLNAME_CAST(sipName_GetColMinimalWidth), SIP_MLMETH_CAST(meth_wxGrid_GetColMinimalWidth), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetColMinimalWidth)},
    {SIP_MLNAME_CAST(sipName_GetColPos), SIP_MLMETH_CAST(meth_wxGrid_GetColPos), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetColPos)},
    {SIP_MLNAME_CAST(sipName_GetColRight), SIP_MLMETH_CAST(meth_wxGrid_GetColRight), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetColRight)},
    {SIP_MLNAME_CAST(sipName_GetColSize), SIP_MLMETH_CAST(meth_wxGrid_GetColSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetColSize)},
    {SIP_MLNAME_CAST(sipName_GetColSizes), meth_wxGrid_GetColSizes, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetColSizes)},
    {SIP_MLNAME_CAST(sipName_GetCornerLabelAlignment), SIP_MLMETH_CAST(meth_wxGrid_GetCornerLabelAlignment), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetCornerLabelAlignment)},
    {SIP_MLNAME_CAST(sipName_GetCornerLabelTextOrientation), meth_wxGrid_GetCornerLabelTextOrientation, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetCornerLabelTextOrientation)},
    {SIP_MLNAME_CAST(sipName_GetCornerLabelValue), meth_wxGrid_GetCornerLabelValue, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetCornerLabelValue)},
    {SIP_MLNAME_CAST(sipName_GetDefaultBorder), meth_wxGrid_GetDefaultBorder, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultBorder)},
    {SIP_MLNAME_CAST(sipName_GetDefaultBorderForControl), meth_wxGrid_GetDefaultBorderForControl, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultBorderForControl)},
    {SIP_MLNAME_CAST(sipName_GetDefaultCellAlignment), SIP_MLMETH_CAST(meth_wxGrid_GetDefaultCellAlignment), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultCellAlignment)},
    {SIP_MLNAME_CAST(sipName_GetDefaultCellBackgroundColour), meth_wxGrid_GetDefaultCellBackgroundColour, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultCellBackgroundColour)},
    {SIP_MLNAME_CAST(sipName_GetDefaultCellFitMode), meth_wxGrid_GetDefaultCellFitMode, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultCellFitMode)},
    {SIP_MLNAME_CAST(sipName_GetDefaultCellFont), meth_wxGrid_GetDefaultCellFont, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultCellFont)},
    {SIP_MLNAME_CAST(sipName_GetDefaultCellOverflow), meth_wxGrid_GetDefaultCellOverflow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultCellOverflow)},
    {SIP_MLNAME_CAST(sipName_GetDefaultCellTextColour), meth_wxGrid_GetDefaultCellTextColour, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultCellTextColour)},
    {SIP_MLNAME_CAST(sipName_GetDefaultColLabelSize), meth_wxGrid_GetDefaultColLabelSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultColLabelSize)},
    {SIP_MLNAME_CAST(sipName_GetDefaultColSize), meth_wxGrid_GetDefaultColSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultColSize)},
    {SIP_MLNAME_CAST(sipName_GetDefaultEditor), meth_wxGrid_GetDefaultEditor, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultEditor)},
    {SIP_MLNAME_CAST(sipName_GetDefaultEditorForCell), SIP_MLMETH_CAST(meth_wxGrid_GetDefaultEditorForCell), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultEditorForCell)},
    {SIP_MLNAME_CAST(sipName_GetDefaultEditorForType), SIP_MLMETH_CAST(meth_wxGrid_GetDefaultEditorForType), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultEditorForType)},
    {SIP_MLNAME_CAST(sipName_GetDefaultGridLinePen), meth_wxGrid_GetDefaultGridLinePen, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultGridLinePen)},
    {SIP_MLNAME_CAST(sipName_GetDefaultRenderer), meth_wxGrid_GetDefaultRenderer, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultRenderer)},
    {SIP_MLNAME_CAST(sipName_GetDefaultRendererForCell), SIP_MLMETH_CAST(meth_wxGrid_GetDefaultRendererForCell), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultRendererForCell)},
    {SIP_MLNAME_CAST(sipName_GetDefaultRendererForType), SIP_MLMETH_CAST(meth_wxGrid_GetDefaultRendererForType), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultRendererForType)},
    {SIP_MLNAME_CAST(sipName_GetDefaultRowLabelSize), meth_wxGrid_GetDefaultRowLabelSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultRowLabelSize)},
    {SIP_MLNAME_CAST(sipName_GetDefaultRowSize), meth_wxGrid_GetDefaultRowSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetDefaultRowSize)},
    {SIP_MLNAME_CAST(sipName_GetFirstFullyVisibleColumn), meth_wxGrid_GetFirstFullyVisibleColumn, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetFirstFullyVisibleColumn)},
    {SIP_MLNAME_CAST(sipName_GetFirstFullyVisibleRow), meth_wxGrid_GetFirstFullyVisibleRow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetFirstFullyVisibleRow)},
    {SIP_MLNAME_CAST(sipName_GetFrozenColGridWindow), meth_wxGrid_GetFrozenColGridWindow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetFrozenColGridWindow)},
    {SIP_MLNAME_CAST(sipName_GetFrozenCornerGridWindow), meth_wxGrid_GetFrozenCornerGridWindow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetFrozenCornerGridWindow)},
    {SIP_MLNAME_CAST(sipName_GetFrozenRowGridWindow), meth_wxGrid_GetFrozenRowGridWindow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetFrozenRowGridWindow)},
    {SIP_MLNAME_CAST(sipName_GetGridColHeader), meth_wxGrid_GetGridColHeader, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetGridColHeader)},
    {SIP_MLNAME_CAST(sipName_GetGridColLabelWindow), meth_wxGrid_GetGridColLabelWindow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetGridColLabelWindow)},
    {SIP_MLNAME_CAST(sipName_GetGridCornerLabelWindow), meth_wxGrid_GetGridCornerLabelWindow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetGridCornerLabelWindow)},
    {SIP_MLNAME_CAST(sipName_GetGridCursorCol), meth_wxGrid_GetGridCursorCol, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetGridCursorCol)},
    {SIP_MLNAME_CAST(sipName_GetGridCursorCoords), meth_wxGrid_GetGridCursorCoords, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetGridCursorCoords)},
    {SIP_MLNAME_CAST(sipName_GetGridCursorRow), meth_wxGrid_GetGridCursorRow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetGridCursorRow)},
    {SIP_MLNAME_CAST(sipName_GetGridLineColour), meth_wxGrid_GetGridLineColour, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetGridLineColour)},
    {SIP_MLNAME_CAST(sipName_GetGridRowLabelWindow), meth_wxGrid_GetGridRowLabelWindow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetGridRowLabelWindow)},
    {SIP_MLNAME_CAST(sipName_GetGridWindow), meth_wxGrid_GetGridWindow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetGridWindow)},
    {SIP_MLNAME_CAST(sipName_GetGridWindowOffset), SIP_MLMETH_CAST(meth_wxGrid_GetGridWindowOffset), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetGridWindowOffset)},
    {SIP_MLNAME_CAST(sipName_GetLabelBackgroundColour), meth_wxGrid_GetLabelBackgroundColour, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetLabelBackgroundColour)},
    {SIP_MLNAME_CAST(sipName_GetLabelFont), meth_wxGrid_GetLabelFont, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetLabelFont)},
    {SIP_MLNAME_CAST(sipName_GetLabelTextColour), meth_wxGrid_GetLabelTextColour, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetLabelTextColour)},
    {SIP_MLNAME_CAST(sipName_GetMainWindowOfCompositeControl), meth_wxGrid_GetMainWindowOfCompositeControl, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetMainWindowOfCompositeControl)},
    {SIP_MLNAME_CAST(sipName_GetNumberCols), meth_wxGrid_GetNumberCols, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetNumberCols)},
    {SIP_MLNAME_CAST(sipName_GetNumberFrozenCols), meth_wxGrid_GetNumberFrozenCols, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetNumberFrozenCols)},
    {SIP_MLNAME_CAST(sipName_GetNumberFrozenRows), meth_wxGrid_GetNumberFrozenRows, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetNumberFrozenRows)},
    {SIP_MLNAME_CAST(sipName_GetNumberRows), meth_wxGrid_GetNumberRows, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetNumberRows)},
    {SIP_MLNAME_CAST(sipName_GetOrCreateCellAttr), SIP_MLMETH_CAST(meth_wxGrid_GetOrCreateCellAttr), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetOrCreateCellAttr)},
    {SIP_MLNAME_CAST(sipName_GetOrCreateCellAttrPtr), SIP_MLMETH_CAST(meth_wxGrid_GetOrCreateCellAttrPtr), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetOrCreateCellAttrPtr)},
    {SIP_MLNAME_CAST(sipName_GetRowGridLinePen), SIP_MLMETH_CAST(meth_wxGrid_GetRowGridLinePen), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetRowGridLinePen)},
    {SIP_MLNAME_CAST(sipName_GetRowLabelAlignment), SIP_MLMETH_CAST(meth_wxGrid_GetRowLabelAlignment), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetRowLabelAlignment)},
    {SIP_MLNAME_CAST(sipName_GetRowLabelSize), meth_wxGrid_GetRowLabelSize, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetRowLabelSize)},
    {SIP_MLNAME_CAST(sipName_GetRowLabelValue), SIP_MLMETH_CAST(meth_wxGrid_GetRowLabelValue), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetRowLabelValue)},
    {SIP_MLNAME_CAST(sipName_GetRowMinimalAcceptableHeight), meth_wxGrid_GetRowMinimalAcceptableHeight, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetRowMinimalAcceptableHeight)},
    {SIP_MLNAME_CAST(sipName_GetRowMinimalHeight), SIP_MLMETH_CAST(meth_wxGrid_GetRowMinimalHeight), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetRowMinimalHeight)},
    {SIP_MLNAME_CAST(sipName_GetRowSize), SIP_MLMETH_CAST(meth_wxGrid_GetRowSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GetRowSize)},
    {SIP_MLNAME_CAST(sipName_GetRowSizes), meth_wxGrid_GetRowSizes, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetRowSizes)},
    {SIP_MLNAME_CAST(sipName_GetScrollLineX), meth_wxGrid_GetScrollLineX, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetScrollLineX)},
    {SIP_MLNAME_CAST(sipName_GetScrollLineY), meth_wxGrid_GetScrollLineY, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetScrollLineY)},
    {SIP_MLNAME_CAST(sipName_GetSelectedBlocks), meth_wxGrid_GetSelectedBlocks, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSelectedBlocks)},
    {SIP_MLNAME_CAST(sipName_GetSelectedCells), meth_wxGrid_GetSelectedCells, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSelectedCells)},
    {SIP_MLNAME_CAST(sipName_GetSelectedColBlocks), meth_wxGrid_GetSelectedColBlocks, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSelectedColBlocks)},
    {SIP_MLNAME_CAST(sipName_GetSelectedCols), meth_wxGrid_GetSelectedCols, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSelectedCols)},
    {SIP_MLNAME_CAST(sipName_GetSelectedRowBlocks), meth_wxGrid_GetSelectedRowBlocks, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSelectedRowBlocks)},
    {SIP_MLNAME_CAST(sipName_GetSelectedRows), meth_wxGrid_GetSelectedRows, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSelectedRows)},
    {SIP_MLNAME_CAST(sipName_GetSelectionBackground), meth_wxGrid_GetSelectionBackground, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSelectionBackground)},
    {SIP_MLNAME_CAST(sipName_GetSelectionBlockBottomRight), meth_wxGrid_GetSelectionBlockBottomRight, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSelectionBlockBottomRight)},
    {SIP_MLNAME_CAST(sipName_GetSelectionBlockTopLeft), meth_wxGrid_GetSelectionBlockTopLeft, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSelectionBlockTopLeft)},
    {SIP_MLNAME_CAST(sipName_GetSelectionForeground), meth_wxGrid_GetSelectionForeground, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSelectionForeground)},
    {SIP_MLNAME_CAST(sipName_GetSelectionMode), meth_wxGrid_GetSelectionMode, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSelectionMode)},
    {SIP_MLNAME_CAST(sipName_GetSizeAvailableForScrollTarget), meth_wxGrid_GetSizeAvailableForScrollTarget, METH_VARARGS, SIP_NULLPTR},
    {SIP_MLNAME_CAST(sipName_GetSortingColumn), meth_wxGrid_GetSortingColumn, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetSortingColumn)},
    {SIP_MLNAME_CAST(sipName_GetTable), meth_wxGrid_GetTable, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetTable)},
    {SIP_MLNAME_CAST(sipName_GetValidator), meth_wxGrid_GetValidator, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GetValidator)},
    {SIP_MLNAME_CAST(sipName_GoToCell), SIP_MLMETH_CAST(meth_wxGrid_GoToCell), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_GoToCell)},
    {SIP_MLNAME_CAST(sipName_GridLinesEnabled), meth_wxGrid_GridLinesEnabled, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_GridLinesEnabled)},
    {SIP_MLNAME_CAST(sipName_HasTransparentBackground), meth_wxGrid_HasTransparentBackground, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_HasTransparentBackground)},
    {SIP_MLNAME_CAST(sipName_HideCellEditControl), meth_wxGrid_HideCellEditControl, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_HideCellEditControl)},
    {SIP_MLNAME_CAST(sipName_HideCol), SIP_MLMETH_CAST(meth_wxGrid_HideCol), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_HideCol)},
    {SIP_MLNAME_CAST(sipName_HideColLabels), meth_wxGrid_HideColLabels, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_HideColLabels)},
    {SIP_MLNAME_CAST(sipName_HideRow), SIP_MLMETH_CAST(meth_wxGrid_HideRow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_HideRow)},
    {SIP_MLNAME_CAST(sipName_HideRowLabels), meth_wxGrid_HideRowLabels, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_HideRowLabels)},
    {SIP_MLNAME_CAST(sipName_InformFirstDirection), SIP_MLMETH_CAST(meth_wxGrid_InformFirstDirection), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_InformFirstDirection)},
    {SIP_MLNAME_CAST(sipName_InheritAttributes), meth_wxGrid_InheritAttributes, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_InheritAttributes)},
    {SIP_MLNAME_CAST(sipName_InitDialog), meth_wxGrid_InitDialog, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_InitDialog)},
    {SIP_MLNAME_CAST(sipName_InsertCols), SIP_MLMETH_CAST(meth_wxGrid_InsertCols), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_InsertCols)},
    {SIP_MLNAME_CAST(sipName_InsertRows), SIP_MLMETH_CAST(meth_wxGrid_InsertRows), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_InsertRows)},
    {SIP_MLNAME_CAST(sipName_IsCellEditControlEnabled), meth_wxGrid_IsCellEditControlEnabled, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_IsCellEditControlEnabled)},
    {SIP_MLNAME_CAST(sipName_IsCellEditControlShown), meth_wxGrid_IsCellEditControlShown, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_IsCellEditControlShown)},
    {SIP_MLNAME_CAST(sipName_IsColShown), SIP_MLMETH_CAST(meth_wxGrid_IsColShown), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_IsColShown)},
    {SIP_MLNAME_CAST(sipName_IsCurrentCellReadOnly), meth_wxGrid_IsCurrentCellReadOnly, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_IsCurrentCellReadOnly)},
    {SIP_MLNAME_CAST(sipName_IsEditable), meth_wxGrid_IsEditable, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_IsEditable)},
    {SIP_MLNAME_CAST(sipName_IsInSelection), SIP_MLMETH_CAST(meth_wxGrid_IsInSelection), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_IsInSelection)},
    {SIP_MLNAME_CAST(sipName_IsReadOnly), SIP_MLMETH_CAST(meth_wxGrid_IsReadOnly), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_IsReadOnly)},
    {SIP_MLNAME_CAST(sipName_IsRowShown), SIP_MLMETH_CAST(meth_wxGrid_IsRowShown), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_IsRowShown)},
    {SIP_MLNAME_CAST(sipName_IsSelection), meth_wxGrid_IsSelection, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_IsSelection)},
    {SIP_MLNAME_CAST(sipName_IsSortOrderAscending), meth_wxGrid_IsSortOrderAscending, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_IsSortOrderAscending)},
    {SIP_MLNAME_CAST(sipName_IsSortingBy), SIP_MLMETH_CAST(meth_wxGrid_IsSortingBy), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_IsSortingBy)},
    {SIP_MLNAME_CAST(sipName_IsUsingNativeHeader), meth_wxGrid_IsUsingNativeHeader, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_IsUsingNativeHeader)},
    {SIP_MLNAME_CAST(sipName_IsVisible), SIP_MLMETH_CAST(meth_wxGrid_IsVisible), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_IsVisible)},
    {SIP_MLNAME_CAST(sipName_MakeCellVisible), SIP_MLMETH_CAST(meth_wxGrid_MakeCellVisible), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_MakeCellVisible)},
    {SIP_MLNAME_CAST(sipName_MoveCursorDown), SIP_MLMETH_CAST(meth_wxGrid_MoveCursorDown), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_MoveCursorDown)},
    {SIP_MLNAME_CAST(sipName_MoveCursorDownBlock), SIP_MLMETH_CAST(meth_wxGrid_MoveCursorDownBlock), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_MoveCursorDownBlock)},
    {SIP_MLNAME_CAST(sipName_MoveCursorLeft), SIP_MLMETH_CAST(meth_wxGrid_MoveCursorLeft), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_MoveCursorLeft)},
    {SIP_MLNAME_CAST(sipName_MoveCursorLeftBlock), SIP_MLMETH_CAST(meth_wxGrid_MoveCursorLeftBlock), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_MoveCursorLeftBlock)},
    {SIP_MLNAME_CAST(sipName_MoveCursorRight), SIP_MLMETH_CAST(meth_wxGrid_MoveCursorRight), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_MoveCursorRight)},
    {SIP_MLNAME_CAST(sipName_MoveCursorRightBlock), SIP_MLMETH_CAST(meth_wxGrid_MoveCursorRightBlock), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_MoveCursorRightBlock)},
    {SIP_MLNAME_CAST(sipName_MoveCursorUp), SIP_MLMETH_CAST(meth_wxGrid_MoveCursorUp), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_MoveCursorUp)},
    {SIP_MLNAME_CAST(sipName_MoveCursorUpBlock), SIP_MLMETH_CAST(meth_wxGrid_MoveCursorUpBlock), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_MoveCursorUpBlock)},
    {SIP_MLNAME_CAST(sipName_MovePageDown), meth_wxGrid_MovePageDown, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_MovePageDown)},
    {SIP_MLNAME_CAST(sipName_MovePageUp), meth_wxGrid_MovePageUp, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_MovePageUp)},
    {SIP_MLNAME_CAST(sipName_OnInternalIdle), meth_wxGrid_OnInternalIdle, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_OnInternalIdle)},
    {SIP_MLNAME_CAST(sipName_ProcessEvent), SIP_MLMETH_CAST(meth_wxGrid_ProcessEvent), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_ProcessEvent)},
    {SIP_MLNAME_CAST(sipName_ProcessTableMessage), SIP_MLMETH_CAST(meth_wxGrid_ProcessTableMessage), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_ProcessTableMessage)},
    {SIP_MLNAME_CAST(sipName_RefreshAttr), SIP_MLMETH_CAST(meth_wxGrid_RefreshAttr), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_RefreshAttr)},
    {SIP_MLNAME_CAST(sipName_RegisterDataType), SIP_MLMETH_CAST(meth_wxGrid_RegisterDataType), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_RegisterDataType)},
    {SIP_MLNAME_CAST(sipName_RemoveChild), SIP_MLMETH_CAST(meth_wxGrid_RemoveChild), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_RemoveChild)},
    {SIP_MLNAME_CAST(sipName_Render), SIP_MLMETH_CAST(meth_wxGrid_Render), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_Render)},
    {SIP_MLNAME_CAST(sipName_ResetColPos), meth_wxGrid_ResetColPos, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_ResetColPos)},
    {SIP_MLNAME_CAST(sipName_SaveEditControlValue), meth_wxGrid_SaveEditControlValue, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_SaveEditControlValue)},
    {SIP_MLNAME_CAST(sipName_SelectAll), meth_wxGrid_SelectAll, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_SelectAll)},
    {SIP_MLNAME_CAST(sipName_SelectBlock), SIP_MLMETH_CAST(meth_wxGrid_SelectBlock), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SelectBlock)},
    {SIP_MLNAME_CAST(sipName_SelectCol), SIP_MLMETH_CAST(meth_wxGrid_SelectCol), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SelectCol)},
    {SIP_MLNAME_CAST(sipName_SelectRow), SIP_MLMETH_CAST(meth_wxGrid_SelectRow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SelectRow)},
    {SIP_MLNAME_CAST(sipName_SendDestroyEvent), meth_wxGrid_SendDestroyEvent, METH_VARARGS, SIP_NULLPTR},
    {SIP_MLNAME_CAST(sipName_SetAttr), SIP_MLMETH_CAST(meth_wxGrid_SetAttr), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetAttr)},
    {SIP_MLNAME_CAST(sipName_SetCanFocus), SIP_MLMETH_CAST(meth_wxGrid_SetCanFocus), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCanFocus)},
    {SIP_MLNAME_CAST(sipName_SetCellAlignment), SIP_MLMETH_CAST(meth_wxGrid_SetCellAlignment), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellAlignment)},
    {SIP_MLNAME_CAST(sipName_SetCellBackgroundColour), SIP_MLMETH_CAST(meth_wxGrid_SetCellBackgroundColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellBackgroundColour)},
    {SIP_MLNAME_CAST(sipName_SetCellEditor), SIP_MLMETH_CAST(meth_wxGrid_SetCellEditor), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellEditor)},
    {SIP_MLNAME_CAST(sipName_SetCellFitMode), SIP_MLMETH_CAST(meth_wxGrid_SetCellFitMode), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellFitMode)},
    {SIP_MLNAME_CAST(sipName_SetCellFont), SIP_MLMETH_CAST(meth_wxGrid_SetCellFont), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellFont)},
    {SIP_MLNAME_CAST(sipName_SetCellHighlightColour), meth_wxGrid_SetCellHighlightColour, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_SetCellHighlightColour)},
    {SIP_MLNAME_CAST(sipName_SetCellHighlightPenWidth), SIP_MLMETH_CAST(meth_wxGrid_SetCellHighlightPenWidth), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellHighlightPenWidth)},
    {SIP_MLNAME_CAST(sipName_SetCellHighlightROPenWidth), SIP_MLMETH_CAST(meth_wxGrid_SetCellHighlightROPenWidth), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellHighlightROPenWidth)},
    {SIP_MLNAME_CAST(sipName_SetCellOverflow), SIP_MLMETH_CAST(meth_wxGrid_SetCellOverflow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellOverflow)},
    {SIP_MLNAME_CAST(sipName_SetCellRenderer), SIP_MLMETH_CAST(meth_wxGrid_SetCellRenderer), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellRenderer)},
    {SIP_MLNAME_CAST(sipName_SetCellSize), SIP_MLMETH_CAST(meth_wxGrid_SetCellSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellSize)},
    {SIP_MLNAME_CAST(sipName_SetCellTextColour), SIP_MLMETH_CAST(meth_wxGrid_SetCellTextColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellTextColour)},
    {SIP_MLNAME_CAST(sipName_SetCellValue), SIP_MLMETH_CAST(meth_wxGrid_SetCellValue), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCellValue)},
    {SIP_MLNAME_CAST(sipName_SetColAttr), SIP_MLMETH_CAST(meth_wxGrid_SetColAttr), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColAttr)},
    {SIP_MLNAME_CAST(sipName_SetColFormatBool), SIP_MLMETH_CAST(meth_wxGrid_SetColFormatBool), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColFormatBool)},
    {SIP_MLNAME_CAST(sipName_SetColFormatCustom), SIP_MLMETH_CAST(meth_wxGrid_SetColFormatCustom), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColFormatCustom)},
    {SIP_MLNAME_CAST(sipName_SetColFormatDate), SIP_MLMETH_CAST(meth_wxGrid_SetColFormatDate), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColFormatDate)},
    {SIP_MLNAME_CAST(sipName_SetColFormatFloat), SIP_MLMETH_CAST(meth_wxGrid_SetColFormatFloat), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColFormatFloat)},
    {SIP_MLNAME_CAST(sipName_SetColFormatNumber), SIP_MLMETH_CAST(meth_wxGrid_SetColFormatNumber), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColFormatNumber)},
    {SIP_MLNAME_CAST(sipName_SetColLabelAlignment), SIP_MLMETH_CAST(meth_wxGrid_SetColLabelAlignment), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColLabelAlignment)},
    {SIP_MLNAME_CAST(sipName_SetColLabelSize), SIP_MLMETH_CAST(meth_wxGrid_SetColLabelSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColLabelSize)},
    {SIP_MLNAME_CAST(sipName_SetColLabelTextOrientation), SIP_MLMETH_CAST(meth_wxGrid_SetColLabelTextOrientation), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColLabelTextOrientation)},
    {SIP_MLNAME_CAST(sipName_SetColLabelValue), SIP_MLMETH_CAST(meth_wxGrid_SetColLabelValue), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColLabelValue)},
    {SIP_MLNAME_CAST(sipName_SetColMinimalAcceptableWidth), SIP_MLMETH_CAST(meth_wxGrid_SetColMinimalAcceptableWidth), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColMinimalAcceptableWidth)},
    {SIP_MLNAME_CAST(sipName_SetColMinimalWidth), SIP_MLMETH_CAST(meth_wxGrid_SetColMinimalWidth), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColMinimalWidth)},
    {SIP_MLNAME_CAST(sipName_SetColPos), SIP_MLMETH_CAST(meth_wxGrid_SetColPos), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColPos)},
    {SIP_MLNAME_CAST(sipName_SetColSize), SIP_MLMETH_CAST(meth_wxGrid_SetColSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColSize)},
    {SIP_MLNAME_CAST(sipName_SetColSizes), SIP_MLMETH_CAST(meth_wxGrid_SetColSizes), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColSizes)},
    {SIP_MLNAME_CAST(sipName_SetColumnsOrder), SIP_MLMETH_CAST(meth_wxGrid_SetColumnsOrder), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetColumnsOrder)},
    {SIP_MLNAME_CAST(sipName_SetCornerLabelAlignment), SIP_MLMETH_CAST(meth_wxGrid_SetCornerLabelAlignment), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCornerLabelAlignment)},
    {SIP_MLNAME_CAST(sipName_SetCornerLabelTextOrientation), SIP_MLMETH_CAST(meth_wxGrid_SetCornerLabelTextOrientation), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetCornerLabelTextOrientation)},
    {SIP_MLNAME_CAST(sipName_SetCornerLabelValue), meth_wxGrid_SetCornerLabelValue, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_SetCornerLabelValue)},
    {SIP_MLNAME_CAST(sipName_SetDefaultCellAlignment), SIP_MLMETH_CAST(meth_wxGrid_SetDefaultCellAlignment), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetDefaultCellAlignment)},
    {SIP_MLNAME_CAST(sipName_SetDefaultCellBackgroundColour), SIP_MLMETH_CAST(meth_wxGrid_SetDefaultCellBackgroundColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetDefaultCellBackgroundColour)},
    {SIP_MLNAME_CAST(sipName_SetDefaultCellFitMode), SIP_MLMETH_CAST(meth_wxGrid_SetDefaultCellFitMode), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetDefaultCellFitMode)},
    {SIP_MLNAME_CAST(sipName_SetDefaultCellFont), SIP_MLMETH_CAST(meth_wxGrid_SetDefaultCellFont), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetDefaultCellFont)},
    {SIP_MLNAME_CAST(sipName_SetDefaultCellOverflow), SIP_MLMETH_CAST(meth_wxGrid_SetDefaultCellOverflow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetDefaultCellOverflow)},
    {SIP_MLNAME_CAST(sipName_SetDefaultCellTextColour), SIP_MLMETH_CAST(meth_wxGrid_SetDefaultCellTextColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetDefaultCellTextColour)},
    {SIP_MLNAME_CAST(sipName_SetDefaultColSize), SIP_MLMETH_CAST(meth_wxGrid_SetDefaultColSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetDefaultColSize)},
    {SIP_MLNAME_CAST(sipName_SetDefaultEditor), SIP_MLMETH_CAST(meth_wxGrid_SetDefaultEditor), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetDefaultEditor)},
    {SIP_MLNAME_CAST(sipName_SetDefaultRenderer), SIP_MLMETH_CAST(meth_wxGrid_SetDefaultRenderer), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetDefaultRenderer)},
    {SIP_MLNAME_CAST(sipName_SetDefaultRowSize), SIP_MLMETH_CAST(meth_wxGrid_SetDefaultRowSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetDefaultRowSize)},
    {SIP_MLNAME_CAST(sipName_SetGridCursor), SIP_MLMETH_CAST(meth_wxGrid_SetGridCursor), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetGridCursor)},
    {SIP_MLNAME_CAST(sipName_SetGridFrozenBorderColour), meth_wxGrid_SetGridFrozenBorderColour, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_SetGridFrozenBorderColour)},
    {SIP_MLNAME_CAST(sipName_SetGridFrozenBorderPenWidth), SIP_MLMETH_CAST(meth_wxGrid_SetGridFrozenBorderPenWidth), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetGridFrozenBorderPenWidth)},
    {SIP_MLNAME_CAST(sipName_SetGridLineColour), SIP_MLMETH_CAST(meth_wxGrid_SetGridLineColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetGridLineColour)},
    {SIP_MLNAME_CAST(sipName_SetLabelBackgroundColour), SIP_MLMETH_CAST(meth_wxGrid_SetLabelBackgroundColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetLabelBackgroundColour)},
    {SIP_MLNAME_CAST(sipName_SetLabelFont), SIP_MLMETH_CAST(meth_wxGrid_SetLabelFont), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetLabelFont)},
    {SIP_MLNAME_CAST(sipName_SetLabelTextColour), SIP_MLMETH_CAST(meth_wxGrid_SetLabelTextColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetLabelTextColour)},
    {SIP_MLNAME_CAST(sipName_SetMargins), SIP_MLMETH_CAST(meth_wxGrid_SetMargins), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetMargins)},
    {SIP_MLNAME_CAST(sipName_SetReadOnly), SIP_MLMETH_CAST(meth_wxGrid_SetReadOnly), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetReadOnly)},
    {SIP_MLNAME_CAST(sipName_SetRowAttr), SIP_MLMETH_CAST(meth_wxGrid_SetRowAttr), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetRowAttr)},
    {SIP_MLNAME_CAST(sipName_SetRowLabelAlignment), SIP_MLMETH_CAST(meth_wxGrid_SetRowLabelAlignment), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetRowLabelAlignment)},
    {SIP_MLNAME_CAST(sipName_SetRowLabelSize), SIP_MLMETH_CAST(meth_wxGrid_SetRowLabelSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetRowLabelSize)},
    {SIP_MLNAME_CAST(sipName_SetRowLabelValue), SIP_MLMETH_CAST(meth_wxGrid_SetRowLabelValue), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetRowLabelValue)},
    {SIP_MLNAME_CAST(sipName_SetRowMinimalAcceptableHeight), SIP_MLMETH_CAST(meth_wxGrid_SetRowMinimalAcceptableHeight), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetRowMinimalAcceptableHeight)},
    {SIP_MLNAME_CAST(sipName_SetRowMinimalHeight), SIP_MLMETH_CAST(meth_wxGrid_SetRowMinimalHeight), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetRowMinimalHeight)},
    {SIP_MLNAME_CAST(sipName_SetRowSize), SIP_MLMETH_CAST(meth_wxGrid_SetRowSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetRowSize)},
    {SIP_MLNAME_CAST(sipName_SetRowSizes), SIP_MLMETH_CAST(meth_wxGrid_SetRowSizes), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetRowSizes)},
    {SIP_MLNAME_CAST(sipName_SetScrollLineX), SIP_MLMETH_CAST(meth_wxGrid_SetScrollLineX), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetScrollLineX)},
    {SIP_MLNAME_CAST(sipName_SetScrollLineY), SIP_MLMETH_CAST(meth_wxGrid_SetScrollLineY), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetScrollLineY)},
    {SIP_MLNAME_CAST(sipName_SetSelectionBackground), SIP_MLMETH_CAST(meth_wxGrid_SetSelectionBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetSelectionBackground)},
    {SIP_MLNAME_CAST(sipName_SetSelectionForeground), SIP_MLMETH_CAST(meth_wxGrid_SetSelectionForeground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetSelectionForeground)},
    {SIP_MLNAME_CAST(sipName_SetSelectionMode), SIP_MLMETH_CAST(meth_wxGrid_SetSelectionMode), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetSelectionMode)},
    {SIP_MLNAME_CAST(sipName_SetSortingColumn), SIP_MLMETH_CAST(meth_wxGrid_SetSortingColumn), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetSortingColumn)},
    {SIP_MLNAME_CAST(sipName_SetTabBehaviour), SIP_MLMETH_CAST(meth_wxGrid_SetTabBehaviour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetTabBehaviour)},
    {SIP_MLNAME_CAST(sipName_SetUseNativeColLabels), SIP_MLMETH_CAST(meth_wxGrid_SetUseNativeColLabels), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetUseNativeColLabels)},
    {SIP_MLNAME_CAST(sipName_SetValidator), SIP_MLMETH_CAST(meth_wxGrid_SetValidator), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_SetValidator)},
    {SIP_MLNAME_CAST(sipName_ShouldInheritColours), meth_wxGrid_ShouldInheritColours, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_ShouldInheritColours)},
    {SIP_MLNAME_CAST(sipName_ShouldScrollToChildOnFocus), SIP_MLMETH_CAST(meth_wxGrid_ShouldScrollToChildOnFocus), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {SIP_MLNAME_CAST(sipName_ShowCellEditControl), meth_wxGrid_ShowCellEditControl, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_ShowCellEditControl)},
    {SIP_MLNAME_CAST(sipName_ShowCol), SIP_MLMETH_CAST(meth_wxGrid_ShowCol), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_ShowCol)},
    {SIP_MLNAME_CAST(sipName_ShowRow), SIP_MLMETH_CAST(meth_wxGrid_ShowRow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_ShowRow)},
    {SIP_MLNAME_CAST(sipName_TransferDataFromWindow), meth_wxGrid_TransferDataFromWindow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_TransferDataFromWindow)},
    {SIP_MLNAME_CAST(sipName_TransferDataToWindow), meth_wxGrid_TransferDataToWindow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_TransferDataToWindow)},
    {SIP_MLNAME_CAST(sipName_TryAfter), SIP_MLMETH_CAST(meth_wxGrid_TryAfter), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_TryAfter)},
    {SIP_MLNAME_CAST(sipName_TryBefore), SIP_MLMETH_CAST(meth_wxGrid_TryBefore), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_TryBefore)},
    {SIP_MLNAME_CAST(sipName_UnsetSortingColumn), meth_wxGrid_UnsetSortingColumn, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_UnsetSortingColumn)},
    {SIP_MLNAME_CAST(sipName_UseNativeColHeader), SIP_MLMETH_CAST(meth_wxGrid_UseNativeColHeader), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_UseNativeColHeader)},
    {SIP_MLNAME_CAST(sipName_Validate), meth_wxGrid_Validate, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGrid_Validate)},
    {SIP_MLNAME_CAST(sipName_XToCol), SIP_MLMETH_CAST(meth_wxGrid_XToCol), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_XToCol)},
    {SIP_MLNAME_CAST(sipName_XToEdgeOfCol), SIP_MLMETH_CAST(meth_wxGrid_XToEdgeOfCol), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_XToEdgeOfCol)},
    {SIP_MLNAME_CAST(sipName_XYToCell), SIP_MLMETH_CAST(meth_wxGrid_XYToCell), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_XYToCell)},
    {SIP_MLNAME_CAST(sipName_YToEdgeOfRow), SIP_MLMETH_CAST(meth_wxGrid_YToEdgeOfRow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_YToEdgeOfRow)},
    {SIP_MLNAME_CAST(sipName_YToRow), SIP_MLMETH_CAST(meth_wxGrid_YToRow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid_YToRow)},
    {SIP_MLNAME_CAST(sipName__SetTable), SIP_MLMETH_CAST(meth_wxGrid__SetTable), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGrid__SetTable)}
};

static sipEnumMemberDef enummembers_wxGrid[] = {
    {sipName_CellSpan_Inside, static_cast<int>( ::wxGrid::CellSpan_Inside), 1},
    {sipName_CellSpan_Main, static_cast<int>( ::wxGrid::CellSpan_Main), 1},
    {sipName_CellSpan_None, static_cast<int>( ::wxGrid::CellSpan_None), 1},
    {sipName_GridSelectCells, static_cast<int>( ::wxGrid::wxGridSelectCells), 3},
    {sipName_GridSelectColumns, static_cast<int>( ::wxGrid::wxGridSelectColumns), 3},
    {sipName_GridSelectNone, static_cast<int>( ::wxGrid::wxGridSelectNone), 3},
    {sipName_GridSelectRows, static_cast<int>( ::wxGrid::wxGridSelectRows), 3},
    {sipName_GridSelectRowsOrColumns, static_cast<int>( ::wxGrid::wxGridSelectRowsOrColumns), 3},
    {sipName_Tab_Leave, static_cast<int>( ::wxGrid::Tab_Leave), 2},
    {sipName_Tab_Stop, static_cast<int>( ::wxGrid::Tab_Stop), 2},
    {sipName_Tab_Wrap, static_cast<int>( ::wxGrid::Tab_Wrap), 2},
};

sipVariableDef variables_wxGrid[] = {
    {PropertyVariable, sipName_SortingColumn, &methods_wxGrid[189], &methods_wxGrid[309], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_SelectionMode, &methods_wxGrid[187], &methods_wxGrid[308], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_SelectionForeground, &methods_wxGrid[186], &methods_wxGrid[307], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_SelectionBlockTopLeft, &methods_wxGrid[185], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_SelectionBlockBottomRight, &methods_wxGrid[184], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_SelectionBackground, &methods_wxGrid[183], &methods_wxGrid[306], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_SelectedRows, &methods_wxGrid[182], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_SelectedRowBlocks, &methods_wxGrid[181], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_SelectedCols, &methods_wxGrid[180], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_SelectedColBlocks, &methods_wxGrid[179], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_SelectedCells, &methods_wxGrid[178], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_SelectedBlocks, &methods_wxGrid[177], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ScrollLineY, &methods_wxGrid[176], &methods_wxGrid[305], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ScrollLineX, &methods_wxGrid[175], &methods_wxGrid[304], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_RowSizes, &methods_wxGrid[174], &methods_wxGrid[303], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_RowMinimalAcceptableHeight, &methods_wxGrid[171], &methods_wxGrid[300], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_RowLabelSize, &methods_wxGrid[169], &methods_wxGrid[298], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_NumberRows, &methods_wxGrid[164], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_NumberFrozenRows, &methods_wxGrid[163], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_NumberFrozenCols, &methods_wxGrid[162], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_NumberCols, &methods_wxGrid[161], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_LabelTextColour, &methods_wxGrid[159], &methods_wxGrid[293], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_LabelFont, &methods_wxGrid[158], &methods_wxGrid[292], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_LabelBackgroundColour, &methods_wxGrid[157], &methods_wxGrid[291], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_GridWindow, &methods_wxGrid[155], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_GridRowLabelWindow, &methods_wxGrid[154], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_GridLineColour, &methods_wxGrid[153], &methods_wxGrid[290], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_GridCursorRow, &methods_wxGrid[152], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_GridCursorCoords, &methods_wxGrid[151], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_GridCursorCol, &methods_wxGrid[150], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_GridCornerLabelWindow, &methods_wxGrid[149], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_GridColLabelWindow, &methods_wxGrid[148], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_GridColHeader, &methods_wxGrid[147], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_FrozenRowGridWindow, &methods_wxGrid[146], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_FrozenCornerGridWindow, &methods_wxGrid[145], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_FrozenColGridWindow, &methods_wxGrid[144], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_FirstFullyVisibleRow, &methods_wxGrid[143], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_FirstFullyVisibleColumn, &methods_wxGrid[142], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultRowSize, &methods_wxGrid[141], &methods_wxGrid[286], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultRowLabelSize, &methods_wxGrid[140], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultRenderer, &methods_wxGrid[137], &methods_wxGrid[285], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultGridLinePen, &methods_wxGrid[136], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultEditor, &methods_wxGrid[133], &methods_wxGrid[284], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultColSize, &methods_wxGrid[132], &methods_wxGrid[283], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultColLabelSize, &methods_wxGrid[131], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultCellTextColour, &methods_wxGrid[130], &methods_wxGrid[282], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultCellOverflow, &methods_wxGrid[129], &methods_wxGrid[281], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultCellFont, &methods_wxGrid[128], &methods_wxGrid[280], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultCellFitMode, &methods_wxGrid[127], &methods_wxGrid[279], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_DefaultCellBackgroundColour, &methods_wxGrid[126], &methods_wxGrid[278], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_CornerLabelValue, &methods_wxGrid[122], &methods_wxGrid[276], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_CornerLabelTextOrientation, &methods_wxGrid[121], &methods_wxGrid[275], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ColSizes, &methods_wxGrid[119], &methods_wxGrid[272], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ColMinimalAcceptableWidth, &methods_wxGrid[114], &methods_wxGrid[268], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ColLabelTextOrientation, &methods_wxGrid[111], &methods_wxGrid[266], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ColLabelSize, &methods_wxGrid[110], &methods_wxGrid[265], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_CellHighlightROPenWidth, &methods_wxGrid[99], &methods_wxGrid[252], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_CellHighlightPenWidth, &methods_wxGrid[98], &methods_wxGrid[251], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_CellHighlightColour, &methods_wxGrid[97], &methods_wxGrid[250], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_BatchCount, &methods_wxGrid[91], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxGrid, "Grid()\n"
"Grid(parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.WANTS_CHARS, name=GridNameStr)\n"
"\n"
"wxGrid and its related classes are used for displaying and editing\n"
"tabular data.");


sipClassTypeDef sipTypeDef__grid_wxGrid = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxGrid,
        {SIP_NULLPTR},
        SIP_NULLPTR
    },
    {
        sipNameNr_Grid,
        {0, 0, 1},
        331, methods_wxGrid,
        11, enummembers_wxGrid,
        60, variables_wxGrid,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxGrid,
    -1,
    -1,
    supers_wxGrid,
    SIP_NULLPTR,
    init_type_wxGrid,
    SIP_NULLPTR,
    SIP_NULLPTR,
#if PY_MAJOR_VERSION >= 3
    SIP_NULLPTR,
    SIP_NULLPTR,
#else
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
#endif
    dealloc_wxGrid,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_wxGrid,
    cast_wxGrid,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR
};
