/*
 * This file was generated automatically by ExtUtils::ParseXS version 3.34 from the
 * contents of Grid.xs. Do not edit this file, edit Grid.xs instead.
 *
 *    ANY CHANGES MADE HERE WILL BE LOST!
 *
 */

/////////////////////////////////////////////////////////////////////////////
// Name:        ext/grid/Grid.xs
// Purpose:     XS for Wx::Grid
// Author:      Mattia Barbon
// Modified by:
// Created:     04/12/2001
// RCS-ID:      $Id: Grid.xs 3316 2012-07-14 02:05:19Z mdootson $
// Copyright:   (c) 2001-2004, 2006-2011 Mattia Barbon
// Licence:     This program is free software; you can redistribute it and/or
//              modify it under the same terms as Perl itself
/////////////////////////////////////////////////////////////////////////////

#define PERL_NO_GET_CONTEXT

#include "cpp/wxapi.h"

#undef THIS

#include <wx/control.h>
#include <wx/grid.h>
#include <wx/generic/gridctrl.h>

#define wxGridCellAttr__wxAttrKind wxGridCellAttr::wxAttrKind

inline wxGridCellAttr* convert_GridCellAttrOut(pTHX_ SV* value)
{
     wxGridCellAttr* attr = (wxGridCellAttr*)wxPli_sv_2_object( aTHX_ value, "Wx::GridCellAttr" );

     attr->IncRef();

     return attr;
}

typedef wxGrid::wxGridSelectionModes wxGridSelectionModes;
typedef wxGridCellAttr::wxAttrKind wxAttrKind;

// event macros
#define SEVT( NAME, ARGS )    wxPli_StdEvent( NAME, ARGS )
#define EVT( NAME, ARGS, ID ) wxPli_Event( NAME, ARGS, ID )

// !package: Wx::Event
// !tag:
// !parser: sub { $_[0] =~ m<^\s*S?EVT\(\s*(\w+)\s*\,> }

static wxPliEventDescription evts[] =
{
    EVT( EVT_GRID_CMD_CELL_LEFT_CLICK, 3, wxEVT_GRID_CELL_LEFT_CLICK )
    EVT( EVT_GRID_CMD_CELL_RIGHT_CLICK, 3, wxEVT_GRID_CELL_RIGHT_CLICK )
    EVT( EVT_GRID_CMD_CELL_LEFT_DCLICK, 3, wxEVT_GRID_CELL_LEFT_DCLICK )
    EVT( EVT_GRID_CMD_CELL_RIGHT_DCLICK, 3, wxEVT_GRID_CELL_RIGHT_DCLICK )
    EVT( EVT_GRID_CMD_LABEL_LEFT_CLICK, 3, wxEVT_GRID_LABEL_LEFT_CLICK )
    EVT( EVT_GRID_CMD_LABEL_RIGHT_CLICK, 3, wxEVT_GRID_LABEL_RIGHT_CLICK )
    EVT( EVT_GRID_CMD_LABEL_LEFT_DCLICK, 3, wxEVT_GRID_LABEL_LEFT_DCLICK )
    EVT( EVT_GRID_CMD_LABEL_RIGHT_DCLICK, 3, wxEVT_GRID_LABEL_RIGHT_DCLICK )
    EVT( EVT_GRID_CMD_ROW_SIZE, 3, wxEVT_GRID_ROW_SIZE )
    EVT( EVT_GRID_CMD_COL_SIZE, 3, wxEVT_GRID_COL_SIZE )
    EVT( EVT_GRID_CMD_RANGE_SELECT, 3, wxEVT_GRID_RANGE_SELECT )
#if WXPERL_W_VERSION_LT( 2, 9, 0 )
    EVT( EVT_GRID_CMD_CELL_CHANGE, 3, wxEVT_GRID_CELL_CHANGE )
#else
    EVT( EVT_GRID_CMD_CELL_CHANGED, 3, wxEVT_GRID_CELL_CHANGED )
    EVT( EVT_GRID_CMD_CELL_CHANGING, 3, wxEVT_GRID_CELL_CHANGING )
#endif
    EVT( EVT_GRID_CMD_SELECT_CELL, 3, wxEVT_GRID_SELECT_CELL )
    EVT( EVT_GRID_CMD_EDITOR_SHOWN, 3, wxEVT_GRID_EDITOR_SHOWN )
    EVT( EVT_GRID_CMD_EDITOR_HIDDEN, 3, wxEVT_GRID_EDITOR_HIDDEN )
    EVT( EVT_GRID_CMD_EDITOR_CREATED, 3, wxEVT_GRID_EDITOR_CREATED )
    EVT( EVT_GRID_CMD_CELL_BEGIN_DRAG, 3, wxEVT_GRID_CELL_BEGIN_DRAG )
    SEVT( EVT_GRID_CELL_LEFT_CLICK, 2 )
    SEVT( EVT_GRID_CELL_RIGHT_CLICK, 2 )
    SEVT( EVT_GRID_CELL_LEFT_DCLICK, 2 )
    SEVT( EVT_GRID_CELL_RIGHT_DCLICK, 2 )
    SEVT( EVT_GRID_LABEL_LEFT_CLICK, 2 )
    SEVT( EVT_GRID_LABEL_RIGHT_CLICK, 2 )
    SEVT( EVT_GRID_LABEL_LEFT_DCLICK, 2 )
    SEVT( EVT_GRID_LABEL_RIGHT_DCLICK, 2 )
    SEVT( EVT_GRID_ROW_SIZE, 2 )
    SEVT( EVT_GRID_COL_SIZE, 2 )
    SEVT( EVT_GRID_RANGE_SELECT, 2 )
#if WXPERL_W_VERSION_LT( 2, 9, 0 )
    SEVT( EVT_GRID_CELL_CHANGE, 2 )
#else
    SEVT( EVT_GRID_CELL_CHANGING, 2 )
    SEVT( EVT_GRID_CELL_CHANGED, 2 )
#endif
    SEVT( EVT_GRID_SELECT_CELL, 2 )
    SEVT( EVT_GRID_EDITOR_SHOWN, 2 )
    SEVT( EVT_GRID_EDITOR_HIDDEN, 2 )
    SEVT( EVT_GRID_EDITOR_CREATED, 2 )
    SEVT( EVT_GRID_CELL_BEGIN_DRAG, 2 )
    { 0, 0, 0 }
};

#ifndef PERL_UNUSED_VAR
#  define PERL_UNUSED_VAR(var) if (0) var = var
#endif

#ifndef dVAR
#  define dVAR		dNOOP
#endif


/* This stuff is not part of the API! You have been warned. */
#ifndef PERL_VERSION_DECIMAL
#  define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
#endif
#ifndef PERL_DECIMAL_VERSION
#  define PERL_DECIMAL_VERSION \
	  PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
#endif
#ifndef PERL_VERSION_GE
#  define PERL_VERSION_GE(r,v,s) \
	  (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
#endif
#ifndef PERL_VERSION_LE
#  define PERL_VERSION_LE(r,v,s) \
	  (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
#endif

/* XS_INTERNAL is the explicit static-linkage variant of the default
 * XS macro.
 *
 * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
 * "STATIC", ie. it exports XSUB symbols. You probably don't want that
 * for anything but the BOOT XSUB.
 *
 * See XSUB.h in core!
 */


/* TODO: This might be compatible further back than 5.10.0. */
#if PERL_VERSION_GE(5, 10, 0) && PERL_VERSION_LE(5, 15, 1)
#  undef XS_EXTERNAL
#  undef XS_INTERNAL
#  if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
#    define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
#    define XS_INTERNAL(name) STATIC XSPROTO(name)
#  endif
#  if defined(__SYMBIAN32__)
#    define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
#    define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
#  endif
#  ifndef XS_EXTERNAL
#    if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
#      define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
#      define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
#    else
#      ifdef __cplusplus
#        define XS_EXTERNAL(name) extern "C" XSPROTO(name)
#        define XS_INTERNAL(name) static XSPROTO(name)
#      else
#        define XS_EXTERNAL(name) XSPROTO(name)
#        define XS_INTERNAL(name) STATIC XSPROTO(name)
#      endif
#    endif
#  endif
#endif

/* perl >= 5.10.0 && perl <= 5.15.1 */


/* The XS_EXTERNAL macro is used for functions that must not be static
 * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
 * macro defined, the best we can do is assume XS is the same.
 * Dito for XS_INTERNAL.
 */
#ifndef XS_EXTERNAL
#  define XS_EXTERNAL(name) XS(name)
#endif
#ifndef XS_INTERNAL
#  define XS_INTERNAL(name) XS(name)
#endif

/* Now, finally, after all this mess, we want an ExtUtils::ParseXS
 * internal macro that we're free to redefine for varying linkage due
 * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
 * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
 */

#undef XS_EUPXS
#if defined(PERL_EUPXS_ALWAYS_EXPORT)
#  define XS_EUPXS(name) XS_EXTERNAL(name)
#else
   /* default to internal */
#  define XS_EUPXS(name) XS_INTERNAL(name)
#endif

#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)

/* prototype to pass -Wmissing-prototypes */
STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params);

STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params)
{
    const GV *const gv = CvGV(cv);

    PERL_ARGS_ASSERT_CROAK_XS_USAGE;

    if (gv) {
        const char *const gvname = GvNAME(gv);
        const HV *const stash = GvSTASH(gv);
        const char *const hvname = stash ? HvNAME(stash) : NULL;

        if (hvname)
	    Perl_croak_nocontext("Usage: %s::%s(%s)", hvname, gvname, params);
        else
	    Perl_croak_nocontext("Usage: %s(%s)", gvname, params);
    } else {
        /* Pants. I don't think that it should be possible to get here. */
	Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
    }
}
#undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE

#define croak_xs_usage        S_croak_xs_usage

#endif

/* NOTE: the prototype of newXSproto() is different in versions of perls,
 * so we define a portable version of newXSproto()
 */
#ifdef newXS_flags
#define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
#else
#define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
#endif /* !defined(newXS_flags) */

#if PERL_VERSION_LE(5, 21, 5)
#  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
#else
#  define newXS_deffile(a,b) Perl_newXS_deffile(aTHX_ a,b)
#endif


/* INCLUDE:  Including 'XS/Grid.xs' from 'Grid.xs' */


/* INCLUDE:  Including 'XS/GridCellAttr.xs' from 'XS/Grid.xs' */


/* INCLUDE:  Including 'XS/GridEvent.xs' from 'XS/GridCellAttr.xs' */


/* INCLUDE:  Including 'XS/GridCellRenderer.xs' from 'XS/GridEvent.xs' */


/* INCLUDE:  Including 'XS/GridCellEditor.xs' from 'XS/GridCellRenderer.xs' */


XS_EUPXS(XS_Wx__GridCellEditor_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellEditor_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;
    wxPli_thread_sv_unregister( aTHX_ wxPli_get_class( aTHX_ ST(0) ),
                                SvRV( ST(0) ), ST(0) );
    if( THIS )
        THIS->DecRef();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellEditor_IsCreated); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_IsCreated)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;
	bool	RETVAL;

	RETVAL = THIS->IsCreated();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellEditor_GetControl); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_GetControl)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;
	wxControl *	RETVAL;

	RETVAL = THIS->GetControl();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellEditor_SetControl); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_SetControl)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, control");
    {
	wxControl*    control = (wxControl *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Control" )
;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;

	THIS->SetControl(control);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellEditor_SetSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_SetSize)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, rect");
    {
	wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;
    THIS->SetSize( *rect );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellEditor_Show); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_Show)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, show, attr");
    {
	bool	show = (bool)SvTRUE(ST(1))
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::GridCellAttr" )
;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;

	THIS->Show(show, attr);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_LT( 2, 9, 5 )
#define XSubPPtmpAAAA 1


XS_EUPXS(XS_Wx__GridCellEditor_PaintBackground); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_PaintBackground)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, rectCell, attr");
    {
	wxRect*    rectCell = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::GridCellAttr" )
;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;
    THIS->PaintBackground( *rectCell, attr );
    }
    XSRETURN_EMPTY;
}

#else
#define XSubPPtmpAAAB 1


XS_EUPXS(XS_Wx__GridCellEditor_PaintBackground); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_PaintBackground)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, dc, rectCell, attr");
    {
	wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" )
;
	wxRect*    rectCell = (wxRect *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Rect" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::GridCellAttr" )
;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;
    THIS->PaintBackground( *dc, *rectCell, *attr );
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__GridCellEditor_BeginEdit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_BeginEdit)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, grid");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Grid" )
;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;

	THIS->BeginEdit(row, col, grid);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAAAC 1


XS_EUPXS(XS_Wx__GridCellEditor_EndEdit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_EndEdit)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "THIS, row, col, grid, oldval, newval");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Grid" )
;
	wxString	oldval;
	wxString	newval;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;
	bool	RETVAL;

    WXSTRING_INPUT( oldval, wxString, ST(4) )
;

    WXSTRING_INPUT( newval, wxString, ST(5) )
;

	RETVAL = THIS->EndEdit(row, col, grid, oldval, &newval);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellEditor_ApplyEdit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_ApplyEdit)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, grid");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Grid" )
;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;

	THIS->ApplyEdit(row, col, grid);
    }
    XSRETURN_EMPTY;
}

#else
#define XSubPPtmpAAAD 1


XS_EUPXS(XS_Wx__GridCellEditor_EndEdit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_EndEdit)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, grid");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Grid" )
;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;
	bool	RETVAL;

	RETVAL = THIS->EndEdit(row, col, grid);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__GridCellEditor_Reset); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_Reset)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;

	THIS->Reset();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellEditor_IsAcceptedKey); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_IsAcceptedKey)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, event");
    {
	wxKeyEvent*    event = (wxKeyEvent *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::KeyEvent" )
;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;
	bool	RETVAL;
    RETVAL = THIS->IsAcceptedKey( *event );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellEditor_StartingKey); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_StartingKey)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, event");
    {
	wxKeyEvent*    event = (wxKeyEvent *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::KeyEvent" )
;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;
    THIS->StartingKey( *event );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellEditor_StartingClick); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_StartingClick)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;

	THIS->StartingClick();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellEditor_HandleReturn); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_HandleReturn)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, event");
    {
	wxKeyEvent*    event = (wxKeyEvent *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::KeyEvent" )
;
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;
    THIS->HandleReturn( *event );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellEditor_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEditor_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellEditor *    THIS = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellEditor" )
;

	THIS->Destroy();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellTextEditor_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellTextEditor_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellTextEditor *	RETVAL;

	RETVAL = new wxGridCellTextEditor();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellTextEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellTextEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellTextEditor_SetParameters); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellTextEditor_SetParameters)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, params");
    {
	wxString	params;
	wxGridCellTextEditor *    THIS = (wxGridCellTextEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellTextEditor" )
;

    WXSTRING_INPUT( params, wxString, ST(1) )
;

	THIS->SetParameters(params);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAutoWrapStringEditor_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAutoWrapStringEditor_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellAutoWrapStringEditor *	RETVAL;

	RETVAL = new wxGridCellAutoWrapStringEditor();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellAutoWrapStringEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellAutoWrapStringEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellNumberEditor_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellNumberEditor_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "CLASS, min = -1, max = -1");
    {
	int	min;
	int	max;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellNumberEditor *	RETVAL;

	if (items < 2)
	    min = -1;
	else {
	    min = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    max = -1;
	else {
	    max = (int)SvIV(ST(2))
;
	}

	RETVAL = new wxGridCellNumberEditor(min, max);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellNumberEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellNumberEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellNumberEditor_SetParameters); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellNumberEditor_SetParameters)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, params");
    {
	wxString	params;
	wxGridCellNumberEditor *    THIS = (wxGridCellNumberEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellNumberEditor" )
;

    WXSTRING_INPUT( params, wxString, ST(1) )
;

	THIS->SetParameters(params);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellFloatEditor_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellFloatEditor_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "CLASS, width = -1, precision = -1");
    {
	int	width;
	int	precision;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellFloatEditor *	RETVAL;

	if (items < 2)
	    width = -1;
	else {
	    width = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    precision = -1;
	else {
	    precision = (int)SvIV(ST(2))
;
	}

	RETVAL = new wxGridCellFloatEditor(width, precision);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellFloatEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellFloatEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellFloatEditor_SetParameters); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellFloatEditor_SetParameters)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, params");
    {
	wxString	params;
	wxGridCellChoiceEditor *    THIS = (wxGridCellChoiceEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellChoiceEditor" )
;

    WXSTRING_INPUT( params, wxString, ST(1) )
;

	THIS->SetParameters(params);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellBoolEditor_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellBoolEditor_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellBoolEditor *	RETVAL;

	RETVAL = new wxGridCellBoolEditor();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellBoolEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellBoolEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAAAE 1


XS_EUPXS(XS_Wx__GridCellBoolEditor_IsTrueValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellBoolEditor_IsTrueValue)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "value");
    {
	wxString	value;
	bool	RETVAL;

    WXSTRING_INPUT( value, wxString, ST(0) )
;
    RETVAL = wxGridCellBoolEditor::IsTrueValue( value );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellBoolEditor_UseStringValues); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellBoolEditor_UseStringValues)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 2)
       croak_xs_usage(cv,  "trueValue = wxT(\"1\"), falseValue = wxT(\"\")");
    {
	wxString	trueValue;
	wxString	falseValue;

	if (items < 1)
	    trueValue = wxT("1");
	else {
    WXSTRING_INPUT( trueValue, wxString, ST(0) )
;
	}

	if (items < 2)
	    falseValue = wxT("");
	else {
    WXSTRING_INPUT( falseValue, wxString, ST(1) )
;
	}
    wxGridCellBoolEditor::UseStringValues( trueValue, falseValue );
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__GridCellChoiceEditor_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellChoiceEditor_new)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "CLASS, choices, allowOthers = false");
    {
	SV*	choices = ST(1)
;
	bool	allowOthers;
    wxString* chs;
    int n;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellChoiceEditor *	RETVAL;

	if (items < 3)
	    allowOthers = false;
	else {
	    allowOthers = (bool)SvTRUE(ST(2))
;
	}
    n = wxPli_av_2_stringarray( aTHX_ choices, &chs );
    RETVAL = new wxGridCellChoiceEditor( n, chs, allowOthers );
    delete[] chs;
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellChoiceEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellChoiceEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellChoiceEditor_SetParameters); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellChoiceEditor_SetParameters)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, params");
    {
	wxString	params;
	wxGridCellChoiceEditor *    THIS = (wxGridCellChoiceEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellChoiceEditor" )
;

    WXSTRING_INPUT( params, wxString, ST(1) )
;

	THIS->SetParameters(params);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellEnumEditor_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEnumEditor_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "CLASS, choices = wxEmptyString");
    {
	wxString	choices;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellEnumEditor *	RETVAL;

	if (items < 2)
	    choices = wxEmptyString;
	else {
    WXSTRING_INPUT( choices, wxString, ST(1) )
;
	}

	RETVAL = new wxGridCellEnumEditor(choices);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellEnumEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellEnumEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#include "cpp/editor.h"

XS_EUPXS(XS_Wx__PlGridCellEditor_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridCellEditor_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	SV *	RETVAL;
    wxPlGridCellEditor* r = new wxPlGridCellEditor( CLASS );
    r->SetClientObject( new wxPliUserDataCD( r->m_callback.GetSelf() ) );
    RETVAL = r->m_callback.GetSelf();
    SvREFCNT_inc( RETVAL );
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_LT( 2, 9, 5 )
#define XSubPPtmpAAAF 1


XS_EUPXS(XS_Wx__PlGridCellEditor_PaintBackground); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridCellEditor_PaintBackground)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, rectCell, attr");
    {
	wxRect*    rectCell = (wxRect *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Rect" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::GridCellAttr" )
;
	wxPlGridCellEditor *    THIS = (wxPlGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridCellEditor" )
;
    THIS->wxGridCellEditor::PaintBackground( *rectCell, attr );
    }
    XSRETURN_EMPTY;
}

#else
#define XSubPPtmpAAAG 1


XS_EUPXS(XS_Wx__PlGridCellEditor_PaintBackground); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridCellEditor_PaintBackground)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, dc, rectCell, attr");
    {
	wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DC" )
;
	wxRect*    rectCell = (wxRect *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Rect" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::GridCellAttr" )
;
	wxPlGridCellEditor *    THIS = (wxPlGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridCellEditor" )
;
    THIS->wxGridCellEditor::PaintBackground( *dc, *rectCell, *attr );
    }
    XSRETURN_EMPTY;
}

#endif

/* INCLUDE: Returning to 'XS/GridCellRenderer.xs' from 'XS/GridCellEditor.xs' */


XS_EUPXS(XS_Wx__GridCellRenderer_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellRenderer_Draw)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "THIS, grid, attr, dc, rect, row, col, isSelected");
    {
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Grid" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::GridCellAttr" )
;
	wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::DC" )
;
	wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(4), "Wx::Rect" )
;
	int	row = (int)SvIV(ST(5))
;
	int	col = (int)SvIV(ST(6))
;
	bool	isSelected = (bool)SvTRUE(ST(7))
;
	wxGridCellRenderer *    THIS = (wxGridCellRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellRenderer" )
;
    THIS->Draw( *grid, *attr, *dc, *rect, row, col, isSelected );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellRenderer_GetBestSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellRenderer_GetBestSize)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "THIS, grid, attr, dc, row, col");
    {
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Grid" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::GridCellAttr" )
;
	wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::DC" )
;
	int	row = (int)SvIV(ST(4))
;
	int	col = (int)SvIV(ST(5))
;
	wxGridCellRenderer *    THIS = (wxGridCellRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellRenderer" )
;
	wxSize *	RETVAL;
    RETVAL = new wxSize( THIS->GetBestSize( *grid, *attr, *dc, row, col ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Size" );
    wxPli_thread_sv_register( aTHX_ "Wx::Size", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellRenderer_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellRenderer_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellRenderer_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellRenderer_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellRenderer *    THIS = (wxGridCellRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellRenderer" )
;
    wxPli_thread_sv_unregister( aTHX_ wxPli_get_class( aTHX_ ST(0) ),
                                SvRV( ST(0) ), ST(0) );
    if( THIS )
        THIS->DecRef();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellRenderer_SetParameters); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellRenderer_SetParameters)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, parameters");
    {
	wxString	parameters;
	wxGridCellRenderer *    THIS = (wxGridCellRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellRenderer" )
;

    WXSTRING_INPUT( parameters, wxString, ST(1) )
;

	THIS->SetParameters(parameters);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellStringRenderer_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellStringRenderer_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellStringRenderer *	RETVAL;

	RETVAL = new wxGridCellStringRenderer();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellStringRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellStringRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellNumberRenderer_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellNumberRenderer_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellNumberRenderer *	RETVAL;

	RETVAL = new wxGridCellNumberRenderer();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellNumberRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellNumberRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellFloatRenderer_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellFloatRenderer_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "CLASS, width = -1, precision = -1");
    {
	int	width;
	int	precision;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellFloatRenderer *	RETVAL;

	if (items < 2)
	    width = -1;
	else {
	    width = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    precision = -1;
	else {
	    precision = (int)SvIV(ST(2))
;
	}

	RETVAL = new wxGridCellFloatRenderer(width, precision);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellFloatRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellFloatRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellFloatRenderer_GetWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellFloatRenderer_GetWidth)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellFloatRenderer *    THIS = (wxGridCellFloatRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellFloatRenderer" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetWidth();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellFloatRenderer_GetPrecision); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellFloatRenderer_GetPrecision)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellFloatRenderer *    THIS = (wxGridCellFloatRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellFloatRenderer" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetPrecision();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellFloatRenderer_SetWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellFloatRenderer_SetWidth)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, width");
    {
	int	width = (int)SvIV(ST(1))
;
	wxGridCellFloatRenderer *    THIS = (wxGridCellFloatRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellFloatRenderer" )
;

	THIS->SetWidth(width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellFloatRenderer_SetPrecision); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellFloatRenderer_SetPrecision)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, precision");
    {
	int	precision = (int)SvIV(ST(1))
;
	wxGridCellFloatRenderer *    THIS = (wxGridCellFloatRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellFloatRenderer" )
;

	THIS->SetPrecision(precision);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellBoolRenderer_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellBoolRenderer_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellBoolRenderer *	RETVAL;

	RETVAL = new wxGridCellBoolRenderer();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellBoolRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellBoolRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAutoWrapStringRenderer_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAutoWrapStringRenderer_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellAutoWrapStringRenderer *	RETVAL;

	RETVAL = new wxGridCellAutoWrapStringRenderer();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellAutoWrapStringRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellAutoWrapStringRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellEnumRenderer_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellEnumRenderer_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "CLASS, choices = wxEmptyString");
    {
	wxString	choices;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellEnumRenderer *	RETVAL;

	if (items < 2)
	    choices = wxEmptyString;
	else {
    WXSTRING_INPUT( choices, wxString, ST(1) )
;
	}

	RETVAL = new wxGridCellEnumRenderer(choices);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellEnumRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellEnumRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_LT( 2, 6, 0 )
#define wxDefaultDateTimeFormat wxT("%c")
#endif

XS_EUPXS(XS_Wx__GridCellDateTimeRenderer_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellDateTimeRenderer_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "CLASS, outformat = wxDefaultDateTimeFormat, informat = wxDefaultDateTimeFormat");
    {
	wxString	outformat;
	wxString	informat;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellDateTimeRenderer *	RETVAL;

	if (items < 2)
	    outformat = wxDefaultDateTimeFormat;
	else {
    WXSTRING_INPUT( outformat, wxString, ST(1) )
;
	}

	if (items < 3)
	    informat = wxDefaultDateTimeFormat;
	else {
    WXSTRING_INPUT( informat, wxString, ST(2) )
;
	}

	RETVAL = new wxGridCellDateTimeRenderer(outformat, informat);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellDateTimeRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellDateTimeRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#include "cpp/renderer.h"

XS_EUPXS(XS_Wx__PlGridCellRenderer_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridCellRenderer_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	SV *	RETVAL;
    wxPlGridCellRenderer* r = new wxPlGridCellRenderer( CLASS );
    r->SetClientObject( new wxPliUserDataCD( r->m_callback.GetSelf() ) );
    RETVAL = r->m_callback.GetSelf();
    SvREFCNT_inc( RETVAL );
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__PlGridCellRenderer_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridCellRenderer_Draw)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "THIS, grid, attr, dc, rect, row, col, isSelected");
    {
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Grid" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::GridCellAttr" )
;
	wxDC*    dc = (wxDC *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::DC" )
;
	wxRect*    rect = (wxRect *) wxPli_sv_2_object( aTHX_ ST(4), "Wx::Rect" )
;
	int	row = (int)SvIV(ST(5))
;
	int	col = (int)SvIV(ST(6))
;
	bool	isSelected = (bool)SvTRUE(ST(7))
;
	wxPlGridCellRenderer *    THIS = (wxPlGridCellRenderer *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridCellRenderer" )
;
    THIS->wxGridCellRenderer::Draw( *grid, *attr, *dc, *rect,
                                    row, col, isSelected );
    }
    XSRETURN_EMPTY;
}


/* INCLUDE: Returning to 'XS/GridEvent.xs' from 'XS/GridCellRenderer.xs' */

#if 0
#define XSubPPtmpAAAH 1


XS_EUPXS(XS_Wx__GridEvent_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEvent_new)
{
    dVAR; dXSARGS;
    if (items < 4 || items > 13)
       croak_xs_usage(cv,  "CLASS, id, type, obj, row = -1, col = -1, x = -1, y = -1, sel = true, control = true, shift = true, alt = true, meta = true");
    {
	int	id = (int)SvIV(ST(1))
;
	wxEventType	type = (wxEventType)SvIV(ST(2))
;
	wxObject*    obj = (wxObject *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Object" )
;
	int	row;
	int	col;
	int	x;
	int	y;
	bool	sel;
	bool	control;
	bool	shift;
	bool	alt;
	bool	meta;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridEvent *	RETVAL;

	if (items < 5)
	    row = -1;
	else {
	    row = (int)SvIV(ST(4))
;
	}

	if (items < 6)
	    col = -1;
	else {
	    col = (int)SvIV(ST(5))
;
	}

	if (items < 7)
	    x = -1;
	else {
	    x = (int)SvIV(ST(6))
;
	}

	if (items < 8)
	    y = -1;
	else {
	    y = (int)SvIV(ST(7))
;
	}

	if (items < 9)
	    sel = true;
	else {
	    sel = (bool)SvTRUE(ST(8))
;
	}

	if (items < 10)
	    control = true;
	else {
	    control = (bool)SvTRUE(ST(9))
;
	}

	if (items < 11)
	    shift = true;
	else {
	    shift = (bool)SvTRUE(ST(10))
;
	}

	if (items < 12)
	    alt = true;
	else {
	    alt = (bool)SvTRUE(ST(11))
;
	}

	if (items < 13)
	    meta = true;
	else {
	    meta = (bool)SvTRUE(ST(12))
;
	}

	RETVAL = new wxGridEvent(id, type, obj, row, col, x, y, sel, control, shift, alt, meta);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__GridEvent_GetRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEvent_GetRow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridEvent *    THIS = (wxGridEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetRow();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEvent_GetCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEvent_GetCol)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridEvent *    THIS = (wxGridEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetCol();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEvent_GetPosition); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEvent_GetPosition)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridEvent *    THIS = (wxGridEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEvent" )
;
	wxPoint *	RETVAL;
    RETVAL = new wxPoint( THIS->GetPosition() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Point" );
    wxPli_thread_sv_register( aTHX_ "Wx::Point", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEvent_Selecting); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEvent_Selecting)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridEvent *    THIS = (wxGridEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->Selecting();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEvent_ControlDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEvent_ControlDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridEvent *    THIS = (wxGridEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->ControlDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEvent_AltDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEvent_AltDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridEvent *    THIS = (wxGridEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->AltDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEvent_MetaDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEvent_MetaDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridEvent *    THIS = (wxGridEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->MetaDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEvent_ShiftDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEvent_ShiftDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridEvent *    THIS = (wxGridEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->ShiftDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if 0
#define XSubPPtmpAAAI 1


XS_EUPXS(XS_Wx__GridSizeEvent_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridSizeEvent_new)
{
    dVAR; dXSARGS;
    if (items < 4 || items > 11)
       croak_xs_usage(cv,  "CLASS, id, type, obj, rowOrCol = -1, x = -1, y = -1, control = true, shift = true, alt = true, meta = true");
    {
	int	id = (int)SvIV(ST(1))
;
	wxEventType	type = (wxEventType)SvIV(ST(2))
;
	wxObject*    obj = (wxObject *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Object" )
;
	int	rowOrCol;
	int	x;
	int	y;
	bool	control;
	bool	shift;
	bool	alt;
	bool	meta;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridSizeEvent *	RETVAL;

	if (items < 5)
	    rowOrCol = -1;
	else {
	    rowOrCol = (int)SvIV(ST(4))
;
	}

	if (items < 6)
	    x = -1;
	else {
	    x = (int)SvIV(ST(5))
;
	}

	if (items < 7)
	    y = -1;
	else {
	    y = (int)SvIV(ST(6))
;
	}

	if (items < 8)
	    control = true;
	else {
	    control = (bool)SvTRUE(ST(7))
;
	}

	if (items < 9)
	    shift = true;
	else {
	    shift = (bool)SvTRUE(ST(8))
;
	}

	if (items < 10)
	    alt = true;
	else {
	    alt = (bool)SvTRUE(ST(9))
;
	}

	if (items < 11)
	    meta = true;
	else {
	    meta = (bool)SvTRUE(ST(10))
;
	}

	RETVAL = new wxGridSizeEvent(id, type, obj, rowOrCol, x, y, control, shift, alt, meta);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__GridSizeEvent_GetRowOrCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridSizeEvent_GetRowOrCol)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridSizeEvent *    THIS = (wxGridSizeEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridSizeEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetRowOrCol();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridSizeEvent_GetPosition); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridSizeEvent_GetPosition)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridSizeEvent *    THIS = (wxGridSizeEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridSizeEvent" )
;
	wxPoint *	RETVAL;
    RETVAL = new wxPoint( THIS->GetPosition() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Point" );
    wxPli_thread_sv_register( aTHX_ "Wx::Point", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridSizeEvent_ControlDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridSizeEvent_ControlDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridSizeEvent *    THIS = (wxGridSizeEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridSizeEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->ControlDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridSizeEvent_AltDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridSizeEvent_AltDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridSizeEvent *    THIS = (wxGridSizeEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridSizeEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->AltDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridSizeEvent_MetaDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridSizeEvent_MetaDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridSizeEvent *    THIS = (wxGridSizeEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridSizeEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->MetaDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridSizeEvent_ShiftDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridSizeEvent_ShiftDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridSizeEvent *    THIS = (wxGridSizeEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridSizeEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->ShiftDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if 0
#define XSubPPtmpAAAJ 1


XS_EUPXS(XS_Wx__GridRangeSelectEvent_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_new)
{
    dVAR; dXSARGS;
    if (items < 6 || items > 11)
       croak_xs_usage(cv,  "CLASS, id, type, obj, topLeft, bottomRight, sel = true, control = false, shift = false, alt = false, meta = false");
    {
	int	id = (int)SvIV(ST(1))
;
	wxEventType	type = (wxEventType)SvIV(ST(2))
;
	wxObject*    obj = (wxObject *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Object" )
;
	wxGridCellCoords*    topLeft = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(4), "Wx::GridCellCoords" )
;
	wxGridCellCoords*    bottomRight = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(5), "Wx::GridCellCoords" )
;
	bool	sel;
	bool	control;
	bool	shift;
	bool	alt;
	bool	meta;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridRangeSelectEvent *	RETVAL;

	if (items < 7)
	    sel = true;
	else {
	    sel = (bool)SvTRUE(ST(6))
;
	}

	if (items < 8)
	    control = false;
	else {
	    control = (bool)SvTRUE(ST(7))
;
	}

	if (items < 9)
	    shift = false;
	else {
	    shift = (bool)SvTRUE(ST(8))
;
	}

	if (items < 10)
	    alt = false;
	else {
	    alt = (bool)SvTRUE(ST(9))
;
	}

	if (items < 11)
	    meta = false;
	else {
	    meta = (bool)SvTRUE(ST(10))
;
	}
    RETVAL = new wxGridRangeSelectEvent( id, type, obj, *topLeft,
        *bottomRight, sel, control, shift, alt, meta );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetTopLeftCoords); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetTopLeftCoords)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridRangeSelectEvent *    THIS = (wxGridRangeSelectEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridRangeSelectEvent" )
;
	wxGridCellCoords *	RETVAL;
    RETVAL = new wxGridCellCoords( THIS->GetTopLeftCoords() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellCoords" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellCoords", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetBottomRightCoords); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetBottomRightCoords)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridRangeSelectEvent *    THIS = (wxGridRangeSelectEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridRangeSelectEvent" )
;
	wxGridCellCoords *	RETVAL;
    RETVAL = new wxGridCellCoords( THIS->GetBottomRightCoords() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellCoords" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellCoords", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetTopRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetTopRow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridRangeSelectEvent *    THIS = (wxGridRangeSelectEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridRangeSelectEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetTopRow();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetBottomRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetBottomRow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridRangeSelectEvent *    THIS = (wxGridRangeSelectEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridRangeSelectEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetBottomRow();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetLeftCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetLeftCol)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridRangeSelectEvent *    THIS = (wxGridRangeSelectEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridRangeSelectEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetLeftCol();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetRightCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_GetRightCol)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridRangeSelectEvent *    THIS = (wxGridRangeSelectEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridRangeSelectEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetRightCol();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridRangeSelectEvent_Selecting); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_Selecting)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridRangeSelectEvent *    THIS = (wxGridRangeSelectEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridRangeSelectEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->Selecting();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridRangeSelectEvent_ControlDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_ControlDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridRangeSelectEvent *    THIS = (wxGridRangeSelectEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridRangeSelectEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->ControlDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridRangeSelectEvent_MetaDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_MetaDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridRangeSelectEvent *    THIS = (wxGridRangeSelectEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridRangeSelectEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->MetaDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridRangeSelectEvent_AltDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_AltDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridRangeSelectEvent *    THIS = (wxGridRangeSelectEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridRangeSelectEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->AltDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridRangeSelectEvent_ShiftDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridRangeSelectEvent_ShiftDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridRangeSelectEvent *    THIS = (wxGridRangeSelectEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridRangeSelectEvent" )
;
	bool	RETVAL;

	RETVAL = THIS->ShiftDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEditorCreatedEvent_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEditorCreatedEvent_new)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "CLASS, id, type, obj, row, col, ctrl");
    {
	int	id = (int)SvIV(ST(1))
;
	wxEventType	type = (wxEventType)SvIV(ST(2))
;
	wxObject*    obj = (wxObject *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Object" )
;
	int	row = (int)SvIV(ST(4))
;
	int	col = (int)SvIV(ST(5))
;
	wxControl*    ctrl = (wxControl *) wxPli_sv_2_object( aTHX_ ST(6), "Wx::Control" )
;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridEditorCreatedEvent *	RETVAL;

	RETVAL = new wxGridEditorCreatedEvent(id, type, obj, row, col, ctrl);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEditorCreatedEvent_GetRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEditorCreatedEvent_GetRow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridEditorCreatedEvent *    THIS = (wxGridEditorCreatedEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEditorCreatedEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetRow();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEditorCreatedEvent_GetCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEditorCreatedEvent_GetCol)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridEditorCreatedEvent *    THIS = (wxGridEditorCreatedEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEditorCreatedEvent" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetCol();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEditorCreatedEvent_GetControl); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEditorCreatedEvent_GetControl)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridEditorCreatedEvent *    THIS = (wxGridEditorCreatedEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEditorCreatedEvent" )
;
	wxControl *	RETVAL;

	RETVAL = THIS->GetControl();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridEditorCreatedEvent_SetRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEditorCreatedEvent_SetRow)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, row");
    {
	int	row = (int)SvIV(ST(1))
;
	wxGridEditorCreatedEvent *    THIS = (wxGridEditorCreatedEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEditorCreatedEvent" )
;

	THIS->SetRow(row);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridEditorCreatedEvent_SetCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEditorCreatedEvent_SetCol)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, col");
    {
	int	col = (int)SvIV(ST(1))
;
	wxGridEditorCreatedEvent *    THIS = (wxGridEditorCreatedEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEditorCreatedEvent" )
;

	THIS->SetCol(col);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridEditorCreatedEvent_SetControl); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridEditorCreatedEvent_SetControl)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, control");
    {
	wxControl*    control = (wxControl *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Control" )
;
	wxGridEditorCreatedEvent *    THIS = (wxGridEditorCreatedEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridEditorCreatedEvent" )
;

	THIS->SetControl(control);
    }
    XSRETURN_EMPTY;
}


/* INCLUDE: Returning to 'XS/GridCellAttr.xs' from 'XS/GridEvent.xs' */


XS_EUPXS(XS_Wx__GridCellAttr_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellAttr *	RETVAL;

	RETVAL = new wxGridCellAttr();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellAttr" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellAttr", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
    wxPli_thread_sv_unregister( aTHX_ wxPli_get_class( aTHX_ ST(0) ),
                                SvRV( ST(0) ), ST(0) );
    if( THIS )
        THIS->DecRef();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_IncRef); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_IncRef)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;

	THIS->IncRef();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_DecRef); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_DecRef)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;

	THIS->DecRef();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_SetTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_SetTextColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;

	THIS->SetTextColour(colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_SetBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_SetBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;

	THIS->SetBackgroundColour(colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_SetFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_SetFont)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, font");
    {
	wxFont*    font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Font" )
;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
    THIS->SetFont( *font );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_SetAlignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_SetAlignment)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, hAlign, vAlign");
    {
	int	hAlign = (int)SvIV(ST(1))
;
	int	vAlign = (int)SvIV(ST(2))
;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;

	THIS->SetAlignment(hAlign, vAlign);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_SetReadOnly); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_SetReadOnly)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, isReadOnly = true");
    {
	bool	isReadOnly;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;

	if (items < 2)
	    isReadOnly = true;
	else {
	    isReadOnly = (bool)SvTRUE(ST(1))
;
	}

	THIS->SetReadOnly(isReadOnly);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_HasTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_HasTextColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	bool	RETVAL;

	RETVAL = THIS->HasTextColour();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_HasBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_HasBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	bool	RETVAL;

	RETVAL = THIS->HasBackgroundColour();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_HasFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_HasFont)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	bool	RETVAL;

	RETVAL = THIS->HasFont();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_HasAlignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_HasAlignment)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	bool	RETVAL;

	RETVAL = THIS->HasAlignment();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_HasRenderer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_HasRenderer)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	bool	RETVAL;

	RETVAL = THIS->HasRenderer();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_HasEditor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_HasEditor)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	bool	RETVAL;

	RETVAL = THIS->HasEditor();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_GetTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_GetTextColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetTextColour() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_GetBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_GetBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetBackgroundColour() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_GetEditor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_GetEditor)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, grid, row, col");
    {
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Grid" )
;
	int	row = (int)SvIV(ST(2))
;
	int	col = (int)SvIV(ST(3))
;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	wxGridCellEditor *	RETVAL;
    RETVAL = THIS->GetEditor( grid, row, col );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_clientdatacontainer_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_GetRenderer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_GetRenderer)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, grid, row, col");
    {
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Grid" )
;
	int	row = (int)SvIV(ST(2))
;
	int	col = (int)SvIV(ST(3))
;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	wxGridCellRenderer *	RETVAL;
    RETVAL = THIS->GetRenderer( grid, row, col );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_clientdatacontainer_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_GetFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_GetFont)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	wxFont *	RETVAL;
    RETVAL = new wxFont( THIS->GetFont() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_GetAlignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_GetAlignment)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    int x, y;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
    THIS->GetAlignment( &x, &y );
    EXTEND( SP, 2 );
    PUSHs( sv_2mortal( newSViv( x ) ) );
    PUSHs( sv_2mortal( newSViv( y ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__GridCellAttr_IsReadOnly); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_IsReadOnly)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	bool	RETVAL;

	RETVAL = THIS->IsReadOnly();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_SetDefAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_SetDefAttr)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, defAttr");
    {
	wxGridCellAttr*    defAttr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellAttr" )
;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;

	THIS->SetDefAttr(defAttr);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_SetEditor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_SetEditor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, editor");
    {
	wxGridCellEditor*    editor = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellEditor" )
;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
    editor->IncRef();
    THIS->SetEditor( editor );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_SetRenderer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_SetRenderer)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, renderer");
    {
	wxGridCellRenderer*    renderer = (wxGridCellRenderer *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellRenderer" )
;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
    renderer->IncRef();
    THIS->SetRenderer( renderer );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellAttr_GetOverflow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_GetOverflow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;
	bool	RETVAL;

	RETVAL = THIS->GetOverflow();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellAttr_SetOverflow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellAttr_SetOverflow)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, allow = true");
    {
	bool	allow;
	wxGridCellAttr *    THIS = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellAttr" )
;

	if (items < 2)
	    allow = true;
	else {
	    allow = (bool)SvTRUE(ST(1))
;
	}

	THIS->SetOverflow(allow);
    }
    XSRETURN_EMPTY;
}


/* INCLUDE: Returning to 'XS/Grid.xs' from 'XS/GridCellAttr.xs' */

#include <wx/grid.h>
#include "cpp/overload.h"
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAAAK 1


XS_EUPXS(XS_Wx__GridUpdateLocker_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridUpdateLocker_new)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "CLASS, grid = NULL");
    {
	wxGrid*	grid;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridUpdateLocker *	RETVAL;

	if (items < 2)
	    grid = NULL;
	else {
    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Grid" )
;
	}

	RETVAL = new wxGridUpdateLocker(grid);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridUpdateLocker" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridUpdateLocker", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridUpdateLocker_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridUpdateLocker_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridUpdateLocker_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridUpdateLocker_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridUpdateLocker *    THIS = (wxGridUpdateLocker *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridUpdateLocker" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::GridUpdateLocker", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridUpdateLocker_Create); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridUpdateLocker_Create)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, grid");
    {
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Grid" )
;
	wxGridUpdateLocker *    THIS = (wxGridUpdateLocker *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridUpdateLocker" )
;

	THIS->Create(grid);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__GridCellCoords_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellCoords_new)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "CLASS, r, c");
    {
	int	r = (int)SvIV(ST(1))
;
	int	c = (int)SvIV(ST(2))
;
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridCellCoords *	RETVAL;

	RETVAL = new wxGridCellCoords(r, c);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellCoords" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellCoords", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellCoords_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellCoords_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellCoords_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellCoords_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellCoords *    THIS = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellCoords" )
;
    wxPli_thread_sv_unregister( aTHX_ "Wx::GridCellCoords", THIS, ST(0) );
    delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellCoords_GetRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellCoords_GetRow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellCoords *    THIS = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellCoords" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetRow();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellCoords_GetCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellCoords_GetCol)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridCellCoords *    THIS = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellCoords" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetCol();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridCellCoords_SetRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellCoords_SetRow)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, r");
    {
	int	r = (int)SvIV(ST(1))
;
	wxGridCellCoords *    THIS = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellCoords" )
;

	THIS->SetRow(r);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellCoords_SetCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellCoords_SetCol)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, c");
    {
	int	c = (int)SvIV(ST(1))
;
	wxGridCellCoords *    THIS = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellCoords" )
;

	THIS->SetCol(c);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridCellCoords_Set); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridCellCoords_Set)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, r, c");
    {
	int	r = (int)SvIV(ST(1))
;
	int	c = (int)SvIV(ST(2))
;
	wxGridCellCoords *    THIS = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridCellCoords" )
;

	THIS->Set(r, c);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_new)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    BEGIN_OVERLOAD()
        MATCH_VOIDM_REDISP( newDefault )
        MATCH_ANY_REDISP( newFull )
    END_OVERLOAD( "Wx::Grid::new" )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Grid_newDefault); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_newDefault)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	PlClassName    CLASS = wxPli_get_class( aTHX_ ST(0) )
;
	wxGrid *	RETVAL;
    RETVAL = new wxGrid();
    wxPli_create_evthandler( aTHX_ RETVAL, CLASS );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_newFull); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_newFull)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 7)
       croak_xs_usage(cv,  "CLASS, parent, id = wxID_ANY, pos = wxDefaultPosition, size = wxDefaultSize, style = wxWANTS_CHARS, name = wxPanelNameStr");
    {
	PlClassName    CLASS = wxPli_get_class( aTHX_ ST(0) )
;
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxWindowID	id;
	wxPoint	pos;
	wxSize	size;
	long	style;
	wxString	name;
	wxGrid *	RETVAL;

	if (items < 3)
	    id = wxID_ANY;
	else {
    id = wxPli_get_wxwindowid( aTHX_ ST(2) )
;
	}

	if (items < 4)
	    pos = wxDefaultPosition;
	else {
    pos = wxPli_sv_2_wxpoint( aTHX_ ST(3) )
;
	}

	if (items < 5)
	    size = wxDefaultSize;
	else {
    size = wxPli_sv_2_wxsize( aTHX_ ST(4) )
;
	}

	if (items < 6)
	    style = wxWANTS_CHARS;
	else {
	    style = (long)SvIV(ST(5))
;
	}

	if (items < 7)
	    name = wxPanelNameStr;
	else {
    WXSTRING_INPUT( name, wxString, ST(6) )
;
	}
    RETVAL = new wxGrid( parent, id, pos, size, style, name );
    wxPli_create_evthandler( aTHX_ RETVAL, CLASS );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_Create); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_Create)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 7)
       croak_xs_usage(cv,  "THIS, parent, id = wxID_ANY, pos = wxDefaultPosition, size = wxDefaultSize, style = wxWANTS_CHARS, name = wxPanelNameStr");
    {
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxWindowID	id;
	wxPoint	pos;
	wxSize	size;
	long	style;
	wxString	name;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	if (items < 3)
	    id = wxID_ANY;
	else {
    id = wxPli_get_wxwindowid( aTHX_ ST(2) )
;
	}

	if (items < 4)
	    pos = wxDefaultPosition;
	else {
    pos = wxPli_sv_2_wxpoint( aTHX_ ST(3) )
;
	}

	if (items < 5)
	    size = wxDefaultSize;
	else {
    size = wxPli_sv_2_wxsize( aTHX_ ST(4) )
;
	}

	if (items < 6)
	    style = wxWANTS_CHARS;
	else {
	    style = (long)SvIV(ST(5))
;
	}

	if (items < 7)
	    name = wxPanelNameStr;
	else {
    WXSTRING_INPUT( name, wxString, ST(6) )
;
	}

	RETVAL = THIS->Create(parent, id, pos, size, style, name);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_AppendCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_AppendCols)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, numCols = 1, updateLabels = true");
    {
	int	numCols;
	bool	updateLabels;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	if (items < 2)
	    numCols = 1;
	else {
	    numCols = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    updateLabels = true;
	else {
	    updateLabels = (bool)SvTRUE(ST(2))
;
	}

	RETVAL = THIS->AppendCols(numCols, updateLabels);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_AppendRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_AppendRows)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, numRows = 1, updateLabels = true");
    {
	int	numRows;
	bool	updateLabels;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	if (items < 2)
	    numRows = 1;
	else {
	    numRows = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    updateLabels = true;
	else {
	    updateLabels = (bool)SvTRUE(ST(2))
;
	}

	RETVAL = THIS->AppendRows(numRows, updateLabels);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_AutoSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_AutoSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->AutoSize();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_AutoSizeColLabelSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_AutoSizeColLabelSize)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, col");
    {
	int	col = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->AutoSizeColLabelSize(col);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_AutoSizeRowLabelSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_AutoSizeRowLabelSize)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, col");
    {
	int	col = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->AutoSizeRowLabelSize(col);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_AutoSizeColumn); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_AutoSizeColumn)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, col, setAsMin = true");
    {
	int	col = (int)SvIV(ST(1))
;
	bool	setAsMin;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 3)
	    setAsMin = true;
	else {
	    setAsMin = (bool)SvTRUE(ST(2))
;
	}

	THIS->AutoSizeColumn(col, setAsMin);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_AutoSizeColumns); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_AutoSizeColumns)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, setAsMin = true");
    {
	bool	setAsMin;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 2)
	    setAsMin = true;
	else {
	    setAsMin = (bool)SvTRUE(ST(1))
;
	}

	THIS->AutoSizeColumns(setAsMin);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_AutoSizeRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_AutoSizeRow)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, row, setAsMin = true");
    {
	int	row = (int)SvIV(ST(1))
;
	bool	setAsMin;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 3)
	    setAsMin = true;
	else {
	    setAsMin = (bool)SvTRUE(ST(2))
;
	}

	THIS->AutoSizeRow(row, setAsMin);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_AutoSizeRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_AutoSizeRows)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, setAsMin = true");
    {
	bool	setAsMin;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 2)
	    setAsMin = true;
	else {
	    setAsMin = (bool)SvTRUE(ST(1))
;
	}

	THIS->AutoSizeRows(setAsMin);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_BeginBatch); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_BeginBatch)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->BeginBatch();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_BlockToDeviceRect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_BlockToDeviceRect)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, topLeft, bottomRight");
    {
	wxGridCellCoords*    topLeft = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellCoords" )
;
	wxGridCellCoords*    bottomRight = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::GridCellCoords" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxRect *	RETVAL;
    RETVAL = new wxRect( THIS->BlockToDeviceRect( *topLeft, *bottomRight ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_CanDragColSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_CanDragColSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->CanDragColSize();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAAAL 1


XS_EUPXS(XS_Wx__Grid_CanDragColMove); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_CanDragColMove)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->CanDragColMove();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Grid_CanDragRowSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_CanDragRowSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->CanDragRowSize();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_CanDragGridSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_CanDragGridSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->CanDragGridSize();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_CanEnableCellControl); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_CanEnableCellControl)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->CanEnableCellControl();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_CellToRectXY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_CellToRectXY)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxRect *	RETVAL;
    RETVAL = new wxRect( THIS->CellToRect( row, col ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_CellToRectCo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_CellToRectCo)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, coords");
    {
	wxGridCellCoords*    coords = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellCoords" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxRect *	RETVAL;
    RETVAL = new wxRect( THIS->CellToRect( *coords ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Rect" );
    wxPli_thread_sv_register( aTHX_ "Wx::Rect", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_ClearGrid); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_ClearGrid)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->ClearGrid();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_ClearSelection); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_ClearSelection)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->ClearSelection();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_CreateGrid); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_CreateGrid)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "THIS, numRows, numCols, selMode = wxGrid::wxGridSelectCells");
    {
	int	numRows = (int)SvIV(ST(1))
;
	int	numCols = (int)SvIV(ST(2))
;
	wxGridSelectionModes	selMode;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	if (items < 4)
	    selMode = wxGrid::wxGridSelectCells;
	else {
	    selMode = (wxGridSelectionModes)SvIV(ST(3))
;
	}

	RETVAL = THIS->CreateGrid(numRows, numCols, selMode);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_DeleteCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_DeleteCols)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 4)
       croak_xs_usage(cv,  "THIS, pos = 0, numCols = 1, updateLabels = true");
    {
	int	pos;
	int	numCols;
	bool	updateLabels;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	if (items < 2)
	    pos = 0;
	else {
	    pos = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    numCols = 1;
	else {
	    numCols = (int)SvIV(ST(2))
;
	}

	if (items < 4)
	    updateLabels = true;
	else {
	    updateLabels = (bool)SvTRUE(ST(3))
;
	}

	RETVAL = THIS->DeleteCols(pos, numCols, updateLabels);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_DeleteRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_DeleteRows)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 4)
       croak_xs_usage(cv,  "THIS, pos = 0, numRows = 1, updateLabels = true");
    {
	int	pos;
	int	numRows;
	bool	updateLabels;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	if (items < 2)
	    pos = 0;
	else {
	    pos = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    numRows = 1;
	else {
	    numRows = (int)SvIV(ST(2))
;
	}

	if (items < 4)
	    updateLabels = true;
	else {
	    updateLabels = (bool)SvTRUE(ST(3))
;
	}

	RETVAL = THIS->DeleteRows(pos, numRows, updateLabels);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_DisableCellEditControl); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_DisableCellEditControl)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->DisableCellEditControl();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_DisableDragGridSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_DisableDragGridSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->DisableDragGridSize();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_DisableDragRowSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_DisableDragRowSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->DisableDragRowSize();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_DisableDragColSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_DisableDragColSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->DisableDragColSize();
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAAAM 1


XS_EUPXS(XS_Wx__Grid_DisableDragColMove); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_DisableDragColMove)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->DisableDragColMove();
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__Grid_EnableCellEditControl); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_EnableCellEditControl)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, enable = true");
    {
	bool	enable;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 2)
	    enable = true;
	else {
	    enable = (bool)SvTRUE(ST(1))
;
	}

	THIS->EnableCellEditControl(enable);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 7, 0 )
#define XSubPPtmpAAAN 1


XS_EUPXS(XS_Wx__Grid_EnableDragColMove); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_EnableDragColMove)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, enable = true");
    {
	bool	enable;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 2)
	    enable = true;
	else {
	    enable = (bool)SvTRUE(ST(1))
;
	}

	THIS->EnableDragColMove(enable);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__Grid_EnableDragColSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_EnableDragColSize)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, enable = true");
    {
	bool	enable;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 2)
	    enable = true;
	else {
	    enable = (bool)SvTRUE(ST(1))
;
	}

	THIS->EnableDragColSize(enable);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_EnableDragGridSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_EnableDragGridSize)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, enable = true");
    {
	bool	enable;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 2)
	    enable = true;
	else {
	    enable = (bool)SvTRUE(ST(1))
;
	}

	THIS->EnableDragGridSize(enable);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_EnableDragRowSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_EnableDragRowSize)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, enable = true");
    {
	bool	enable;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 2)
	    enable = true;
	else {
	    enable = (bool)SvTRUE(ST(1))
;
	}

	THIS->EnableDragRowSize(enable);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_EnableEditing); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_EnableEditing)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, enable = true");
    {
	bool	enable;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 2)
	    enable = true;
	else {
	    enable = (bool)SvTRUE(ST(1))
;
	}

	THIS->EnableEditing(enable);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_EnableGridLines); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_EnableGridLines)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, enable = true");
    {
	bool	enable;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 2)
	    enable = true;
	else {
	    enable = (bool)SvTRUE(ST(1))
;
	}

	THIS->EnableGridLines(enable);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_EndBatch); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_EndBatch)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->EndBatch();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_ForceRefresh); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_ForceRefresh)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->ForceRefresh();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_GetBatchCount); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetBatchCount)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetBatchCount();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetCellAlignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetCellAlignment)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    int x, y;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    THIS->GetCellAlignment( row, col, &x, &y );
    EXTEND( SP, 2 );
    PUSHs( sv_2mortal( newSViv( x ) ) );
    PUSHs( sv_2mortal( newSViv( y ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Grid_GetCellBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetCellBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetCellBackgroundColour( row, col ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetCellEditor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetCellEditor)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridCellEditor *	RETVAL;

	RETVAL = THIS->GetCellEditor(row, col);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_clientdatacontainer_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetCellOverflow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetCellOverflow)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->GetCellOverflow(row, col);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetCellRenderer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetCellRenderer)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridCellRenderer *	RETVAL;

	RETVAL = THIS->GetCellRenderer(row, col);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_clientdatacontainer_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetCellFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetCellFont)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxFont *	RETVAL;
    RETVAL = new wxFont( THIS->GetCellFont( row, col ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetCellTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetCellTextColour)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetCellTextColour( row, col ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetCellValueXY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetCellValueXY)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxString	RETVAL;
    RETVAL = THIS->GetCellValue( row, col );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetCellValueCo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetCellValueCo)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, coord");
    {
	wxGridCellCoords*    coord = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellCoords" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxString	RETVAL;
    RETVAL = THIS->GetCellValue( *coord );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetColLabelAlignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetColLabelAlignment)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    int x, y;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    THIS->GetColLabelAlignment( &x, &y );
    EXTEND( SP, 2 );
    PUSHs( sv_2mortal( newSViv( x ) ) );
    PUSHs( sv_2mortal( newSViv( y ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Grid_GetColLabelSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetColLabelSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetColLabelSize();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetColLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetColLabelValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, col");
    {
	int	col = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetColLabelValue(col);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAAAO 1


XS_EUPXS(XS_Wx__Grid_GetColPos); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetColPos)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colId");
    {
	int	colId = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetColPos(colId);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Grid_GetColSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetColSize)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, col");
    {
	int	col = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetColSize(col);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAAAP 1


XS_EUPXS(XS_Wx__Grid_GetColAt); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetColAt)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colPos");
    {
	int	colPos = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetColAt(colPos);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Grid_GetDefaultCellAlignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultCellAlignment)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    int x, y;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    THIS->GetDefaultCellAlignment( &x, &y );
    EXTEND( SP, 2 );
    PUSHs( sv_2mortal( newSViv( x ) ) );
    PUSHs( sv_2mortal( newSViv( y ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Grid_GetDefaultCellBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultCellBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetDefaultCellBackgroundColour() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultCellFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultCellFont)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxFont *	RETVAL;
    RETVAL = new wxFont( THIS->GetDefaultCellFont() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultCellOverflow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultCellOverflow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->GetDefaultCellOverflow();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultCellTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultCellTextColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetDefaultCellTextColour() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultColLabelSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultColLabelSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetDefaultColLabelSize();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultColSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultColSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetDefaultColSize();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetColMinimalAcceptableWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetColMinimalAcceptableWidth)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetColMinimalAcceptableWidth();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 5, 3 )
#define XSubPPtmpAAAQ 1


XS_EUPXS(XS_Wx__Grid_GetOrCreateCellAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetOrCreateCellAttr)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridCellAttr *	RETVAL;

	RETVAL = THIS->GetOrCreateCellAttr(row, col);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellAttr" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellAttr", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Grid_GetRowMinimalAcceptableHeight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetRowMinimalAcceptableHeight)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetRowMinimalAcceptableHeight();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultEditor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultEditor)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridCellEditor *	RETVAL;

	RETVAL = THIS->GetDefaultEditor();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_clientdatacontainer_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultEditorForType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultEditorForType)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, typeName");
    {
	wxString	typeName;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridCellEditor *	RETVAL;

    WXSTRING_INPUT( typeName, wxString, ST(1) )
;

	RETVAL = THIS->GetDefaultEditorForType(typeName);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_clientdatacontainer_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultEditorForCellCo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultEditorForCellCo)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, coords");
    {
	wxGridCellCoords*    coords = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellCoords" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridCellEditor *	RETVAL;
    RETVAL = THIS->GetDefaultEditorForCell( *coords );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_clientdatacontainer_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultEditorForCellXY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultEditorForCellXY)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, x, y");
    {
	int	x = (int)SvIV(ST(1))
;
	int	y = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridCellEditor *	RETVAL;
    RETVAL = THIS->GetDefaultEditorForCell( x, y );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_clientdatacontainer_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellEditor" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellEditor", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultRenderer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultRenderer)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridCellRenderer *	RETVAL;

	RETVAL = THIS->GetDefaultRenderer();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_clientdatacontainer_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultRendererForType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultRendererForType)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, typeName");
    {
	wxString	typeName;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridCellRenderer *	RETVAL;

    WXSTRING_INPUT( typeName, wxString, ST(1) )
;

	RETVAL = THIS->GetDefaultRendererForType(typeName);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_clientdatacontainer_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultRendererForCell); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultRendererForCell)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, x, y");
    {
	int	x = (int)SvIV(ST(1))
;
	int	y = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridCellRenderer *	RETVAL;
    RETVAL = THIS->GetDefaultRendererForCell( x, y );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_clientdatacontainer_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellRenderer" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellRenderer", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetRowLabelAlignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetRowLabelAlignment)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
    int x, y;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    THIS->GetRowLabelAlignment( &x, &y );
    EXTEND( SP, 2 );
    PUSHs( sv_2mortal( newSViv( x ) ) );
    PUSHs( sv_2mortal( newSViv( y ) ) );
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Grid_GetDefaultRowLabelSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultRowLabelSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetDefaultRowLabelSize();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetDefaultRowSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultRowSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetDefaultRowSize();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetGridCursorCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetGridCursorCol)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetGridCursorCol();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetGridCursorRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetGridCursorRow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetGridCursorRow();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetGridLineColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetGridLineColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetGridLineColour() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAAAR 1


XS_EUPXS(XS_Wx__Grid_GetDefaultGridLinePen); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetDefaultGridLinePen)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxPen *	RETVAL;
    RETVAL = new wxPen( THIS->GetDefaultGridLinePen() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Pen", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetColGridLinePen); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetColGridLinePen)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, col");
    {
	int	col = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxPen *	RETVAL;
    RETVAL = new wxPen( THIS->GetColGridLinePen( col ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Pen", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetRowGridLinePen); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetRowGridLinePen)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, row");
    {
	int	row = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxPen *	RETVAL;
    RETVAL = new wxPen( THIS->GetRowGridLinePen( row ) );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Pen", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__Grid_GetTable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetTable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridTableBase *	RETVAL;

	RETVAL = THIS->GetTable();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GridLinesEnabled); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GridLinesEnabled)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->GridLinesEnabled();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetLabelBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetLabelBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetLabelBackgroundColour() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetLabelFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetLabelFont)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxFont *	RETVAL;
    RETVAL = new wxFont( THIS->GetLabelFont() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
    wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetLabelTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetLabelTextColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetLabelTextColour() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetNumberCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetNumberCols)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetNumberCols();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetNumberRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetNumberRows)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetNumberRows();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetRowLabelSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetRowLabelSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetRowLabelSize();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetRowLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetRowLabelValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, row");
    {
	int	row = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxString	RETVAL;

	RETVAL = THIS->GetRowLabelValue(row);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetRowSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetRowSize)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, row");
    {
	int	row = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetRowSize(row);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 6, 0 )
#define XSubPPtmpAAAS 1


XS_EUPXS(XS_Wx__Grid_GetScrollLineX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetScrollLineX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetScrollLineX();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetScrollLineY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetScrollLineY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetScrollLineY();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_SetScrollLineX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetScrollLineX)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, x");
    {
	int	x = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetScrollLineX(x);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetScrollLineY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetScrollLineY)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, y");
    {
	int	y = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetScrollLineY(y);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__Grid_GetSelectedCells); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetSelectedCells)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    PUTBACK;
    wxPli_nonobjarray_push<wxGridCellCoordsArray, wxGridCellCoords>
        ( aTHX_ THIS->GetSelectedCells(), "Wx::GridCellCoords" );
    SPAGAIN;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Grid_GetSelectionBlockTopLeft); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetSelectionBlockTopLeft)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    PUTBACK;
    wxPli_nonobjarray_push<wxGridCellCoordsArray, wxGridCellCoords>
        ( aTHX_ THIS->GetSelectionBlockTopLeft(), "Wx::GridCellCoords" );
    SPAGAIN;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Grid_GetSelectionBlockBottomRight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetSelectionBlockBottomRight)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    PUTBACK;
    wxPli_nonobjarray_push<wxGridCellCoordsArray, wxGridCellCoords>
        ( aTHX_ THIS->GetSelectionBlockBottomRight(), "Wx::GridCellCoords" );
    SPAGAIN;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Grid_GetSelectedCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetSelectedCols)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    PUTBACK;
    wxPli_intarray_push( aTHX_ THIS->GetSelectedCols() );
    SPAGAIN;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Grid_GetSelectedRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetSelectedRows)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    PUTBACK;
    wxPli_intarray_push( aTHX_ THIS->GetSelectedRows() );
    SPAGAIN;
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__Grid_GetSelectionBackground); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetSelectionBackground)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetSelectionBackground() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetSelectionForeground); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetSelectionForeground)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxColour *	RETVAL;
    RETVAL = new wxColour( THIS->GetSelectionForeground() );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetSelectionMode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetSelectionMode)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxGridSelectionModes	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetSelectionMode();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetViewWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetViewWidth)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->GetViewWidth();
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_HideCellEditControl); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_HideCellEditControl)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->HideCellEditControl();
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAAAT 1


XS_EUPXS(XS_Wx__Grid_HideRowLabels); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_HideRowLabels)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->HideRowLabels();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_HideColLabels); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_HideColLabels)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->HideColLabels();
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__Grid_InsertCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_InsertCols)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 4)
       croak_xs_usage(cv,  "THIS, pos = 0, numCols = 1, updateLabels = true");
    {
	int	pos;
	int	numCols;
	bool	updateLabels;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	if (items < 2)
	    pos = 0;
	else {
	    pos = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    numCols = 1;
	else {
	    numCols = (int)SvIV(ST(2))
;
	}

	if (items < 4)
	    updateLabels = true;
	else {
	    updateLabels = (bool)SvTRUE(ST(3))
;
	}

	RETVAL = THIS->InsertCols(pos, numCols, updateLabels);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_InsertRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_InsertRows)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 4)
       croak_xs_usage(cv,  "THIS, pos = 0, numRows = 1, updateLabels = true");
    {
	int	pos;
	int	numRows;
	bool	updateLabels;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	if (items < 2)
	    pos = 0;
	else {
	    pos = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    numRows = 1;
	else {
	    numRows = (int)SvIV(ST(2))
;
	}

	if (items < 4)
	    updateLabels = true;
	else {
	    updateLabels = (bool)SvTRUE(ST(3))
;
	}

	RETVAL = THIS->InsertRows(pos, numRows, updateLabels);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_IsCellEditControlEnabled); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_IsCellEditControlEnabled)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->IsCellEditControlEnabled();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_IsCurrentCellReadOnly); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_IsCurrentCellReadOnly)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->IsCurrentCellReadOnly();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_IsEditable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_IsEditable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->IsEditable();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_IsInSelectionXY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_IsInSelectionXY)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;
    RETVAL = THIS->IsInSelection( row, col );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_IsInSelectionCo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_IsInSelectionCo)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, coords");
    {
	wxGridCellCoords*    coords = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellCoords" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;
    RETVAL = THIS->IsInSelection( *coords );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_IsReadOnly); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_IsReadOnly)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->IsReadOnly(row, col);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_IsSelection); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_IsSelection)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->IsSelection();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_IsVisibleXY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_IsVisibleXY)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "THIS, row, col, wholeCellVisible = true");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	bool	wholeCellVisible;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	if (items < 4)
	    wholeCellVisible = true;
	else {
	    wholeCellVisible = (bool)SvTRUE(ST(3))
;
	}
    RETVAL = THIS->IsVisible( row, col, wholeCellVisible );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_IsVisibleCo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_IsVisibleCo)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, coords, wholeCellVisible = true");
    {
	wxGridCellCoords*    coords = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellCoords" )
;
	bool	wholeCellVisible;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	if (items < 3)
	    wholeCellVisible = true;
	else {
	    wholeCellVisible = (bool)SvTRUE(ST(2))
;
	}
    RETVAL = THIS->IsVisible( *coords, wholeCellVisible );
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_MakeCellVisibleXY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MakeCellVisibleXY)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    THIS->MakeCellVisible( row, col );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_MakeCellVisibleCo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MakeCellVisibleCo)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, coords");
    {
	wxGridCellCoords*    coords = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellCoords" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    THIS->MakeCellVisible( *coords );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_MoveCursorDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MoveCursorDown)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, expandSelection");
    {
	bool	expandSelection = (bool)SvTRUE(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->MoveCursorDown(expandSelection);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_MoveCursorLeft); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MoveCursorLeft)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, expandSelection");
    {
	bool	expandSelection = (bool)SvTRUE(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->MoveCursorLeft(expandSelection);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_MoveCursorRight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MoveCursorRight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, expandSelection");
    {
	bool	expandSelection = (bool)SvTRUE(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->MoveCursorRight(expandSelection);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_MoveCursorUp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MoveCursorUp)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, expandSelection");
    {
	bool	expandSelection = (bool)SvTRUE(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->MoveCursorUp(expandSelection);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_MoveCursorDownBlock); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MoveCursorDownBlock)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, expandSelection");
    {
	bool	expandSelection = (bool)SvTRUE(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->MoveCursorDownBlock(expandSelection);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_MoveCursorLeftBlock); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MoveCursorLeftBlock)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, expandSelection");
    {
	bool	expandSelection = (bool)SvTRUE(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->MoveCursorLeftBlock(expandSelection);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_MoveCursorRightBlock); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MoveCursorRightBlock)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, expandSelection");
    {
	bool	expandSelection = (bool)SvTRUE(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->MoveCursorRightBlock(expandSelection);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_MoveCursorUpBlock); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MoveCursorUpBlock)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, expandSelection");
    {
	bool	expandSelection = (bool)SvTRUE(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->MoveCursorUpBlock(expandSelection);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_MovePageDown); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MovePageDown)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->MovePageDown();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_MovePageUp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_MovePageUp)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->MovePageUp();
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_ProcessTableMessage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_ProcessTableMessage)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, msg");
    {
	wxGridTableMessage*    msg = (wxGridTableMessage *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridTableMessage" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	bool	RETVAL;

	RETVAL = THIS->ProcessTableMessage(*msg);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_RegisterDataType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_RegisterDataType)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, typeName, renderer, editor");
    {
	wxString	typeName;
	wxGridCellRenderer*    renderer = (wxGridCellRenderer *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::GridCellRenderer" )
;
	wxGridCellEditor*    editor = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::GridCellEditor" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

    WXSTRING_INPUT( typeName, wxString, ST(1) )
;
    renderer->IncRef();
    editor->IncRef();
    THIS->RegisterDataType( typeName, renderer, editor );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SaveEditControlValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SaveEditControlValue)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SaveEditControlValue();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SelectAll); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SelectAll)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SelectAll();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SelectBlockXYWH); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SelectBlockXYWH)
{
    dVAR; dXSARGS;
    if (items < 5 || items > 6)
       croak_xs_usage(cv,  "THIS, topRow, leftCol, bottomRow, rightCol, addToSelected = false");
    {
	int	topRow = (int)SvIV(ST(1))
;
	int	leftCol = (int)SvIV(ST(2))
;
	int	bottomRow = (int)SvIV(ST(3))
;
	int	rightCol = (int)SvIV(ST(4))
;
	bool	addToSelected;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 6)
	    addToSelected = false;
	else {
	    addToSelected = (bool)SvTRUE(ST(5))
;
	}
    THIS->SelectBlock( topRow, leftCol, bottomRow, rightCol, addToSelected );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SelectBlockPP); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SelectBlockPP)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "THIS, topLeft, bottomRight, addToSelected = false");
    {
	wxGridCellCoords*    topLeft = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellCoords" )
;
	wxGridCellCoords*    bottomRight = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::GridCellCoords" )
;
	bool	addToSelected;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 4)
	    addToSelected = false;
	else {
	    addToSelected = (bool)SvTRUE(ST(3))
;
	}
    THIS->SelectBlock( *topLeft, *bottomRight, addToSelected );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SelectCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SelectCol)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, col, addToSelected = false");
    {
	int	col = (int)SvIV(ST(1))
;
	bool	addToSelected;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 3)
	    addToSelected = false;
	else {
	    addToSelected = (bool)SvTRUE(ST(2))
;
	}

	THIS->SelectCol(col, addToSelected);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SelectRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SelectRow)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, row, addToSelected = false");
    {
	int	row = (int)SvIV(ST(1))
;
	bool	addToSelected;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 3)
	    addToSelected = false;
	else {
	    addToSelected = (bool)SvTRUE(ST(2))
;
	}

	THIS->SelectRow(row, addToSelected);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSubPPtmpAAAU 1


XS_EUPXS(XS_Wx__Grid_SetUseNativeColLabels); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetUseNativeColLabels)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, native = true");
    {
	bool	native;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 2)
	    native = true;
	else {
	    native = (bool)SvTRUE(ST(1))
;
	}

	THIS->SetUseNativeColLabels(native);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__Grid_SetCellAlignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellAlignment)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "THIS, row, col, horiz, vert");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	int	horiz = (int)SvIV(ST(3))
;
	int	vert = (int)SvIV(ST(4))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetCellAlignment(row, col, horiz, vert);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, colour");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Colour" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetCellBackgroundColour(row, col, colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellHighlightColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellHighlightColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour*    colour = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetCellHighlightColour(*colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellHighlightPenWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellHighlightPenWidth)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, width");
    {
	int	width = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetCellHighlightPenWidth(width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellHighlightROPenWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellHighlightROPenWidth)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, width");
    {
	int	width = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetCellHighlightROPenWidth(width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellEditor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellEditor)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, editor");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGridCellEditor*    editor = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::GridCellEditor" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    editor->IncRef();
    THIS->SetCellEditor( row, col, editor );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellRenderer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellRenderer)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, renderer");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGridCellRenderer*    renderer = (wxGridCellRenderer *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::GridCellRenderer" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    renderer->IncRef();
    THIS->SetCellRenderer( row, col, renderer );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellFont)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, font");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxFont*    font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Font" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    THIS->SetCellFont( row, col, *font );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellTextColour)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, colour");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::Colour" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetCellTextColour(row, col, colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellSize)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "THIS, row, col, rows, cols");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	int	rows = (int)SvIV(ST(3))
;
	int	cols = (int)SvIV(ST(4))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetCellSize(row, col, rows, cols);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellOverflow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellOverflow)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, oflo");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	bool	oflo = (bool)SvTRUE(ST(3))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetCellOverflow(row, col, oflo);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellValueXY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellValueXY)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, s");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxString	s;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

    WXSTRING_INPUT( s, wxString, ST(3) )
;
    THIS->SetCellValue( row, col, s );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetCellValueCo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetCellValueCo)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, coords, s");
    {
	wxGridCellCoords*    coords = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellCoords" )
;
	wxString	s;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

    WXSTRING_INPUT( s, wxString, ST(2) )
;
    THIS->SetCellValue( *coords, s );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetDefaultCellAlignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetDefaultCellAlignment)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, horiz, vert");
    {
	int	horiz = (int)SvIV(ST(1))
;
	int	vert = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetDefaultCellAlignment(horiz, vert);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetDefaultCellBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetDefaultCellBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetDefaultCellBackgroundColour(colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetDefaultCellFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetDefaultCellFont)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, font");
    {
	wxFont*    font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Font" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    THIS->SetDefaultCellFont( *font );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetDefaultCellOverflow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetDefaultCellOverflow)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, oflo");
    {
	bool	oflo = (bool)SvTRUE(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetDefaultCellOverflow(oflo);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetDefaultCellTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetDefaultCellTextColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetDefaultCellTextColour(colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetDefaultColSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetDefaultColSize)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, width, resizeExistingCols = false");
    {
	int	width = (int)SvIV(ST(1))
;
	bool	resizeExistingCols;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 3)
	    resizeExistingCols = false;
	else {
	    resizeExistingCols = (bool)SvTRUE(ST(2))
;
	}

	THIS->SetDefaultColSize(width, resizeExistingCols);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetDefaultEditor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetDefaultEditor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, editor");
    {
	wxGridCellEditor*    editor = (wxGridCellEditor *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellEditor" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    editor->IncRef();
    THIS->SetDefaultEditor( editor );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetDefaultRenderer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetDefaultRenderer)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, renderer");
    {
	wxGridCellRenderer*    renderer = (wxGridCellRenderer *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellRenderer" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    renderer->IncRef();
    THIS->SetDefaultRenderer( renderer );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetDefaultRowSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetDefaultRowSize)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, height, resizeExistingCols = false");
    {
	int	height = (int)SvIV(ST(1))
;
	bool	resizeExistingCols;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 3)
	    resizeExistingCols = false;
	else {
	    resizeExistingCols = (bool)SvTRUE(ST(2))
;
	}

	THIS->SetDefaultRowSize(height, resizeExistingCols);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetColAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColAttr)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, col, attr");
    {
	int	col = (int)SvIV(ST(1))
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::GridCellAttr" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    attr->IncRef();
    THIS->SetColAttr( col, attr );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetColFormatBool); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColFormatBool)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, col");
    {
	int	col = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetColFormatBool(col);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetColFormatNumber); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColFormatNumber)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, col");
    {
	int	col = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetColFormatNumber(col);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetColFormatFloat); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColFormatFloat)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 4)
       croak_xs_usage(cv,  "THIS, col, width = -1, precision = -1");
    {
	int	col = (int)SvIV(ST(1))
;
	int	width;
	int	precision;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 3)
	    width = -1;
	else {
	    width = (int)SvIV(ST(2))
;
	}

	if (items < 4)
	    precision = -1;
	else {
	    precision = (int)SvIV(ST(3))
;
	}

	THIS->SetColFormatFloat(col, width, precision);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetColFormatCustom); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColFormatCustom)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, col, typeName");
    {
	int	col = (int)SvIV(ST(1))
;
	wxString	typeName;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

    WXSTRING_INPUT( typeName, wxString, ST(2) )
;

	THIS->SetColFormatCustom(col, typeName);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetColLabelAlignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColLabelAlignment)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, horiz, vert");
    {
	int	horiz = (int)SvIV(ST(1))
;
	int	vert = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetColLabelAlignment(horiz, vert);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetColLabelSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColLabelSize)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, height");
    {
	int	height = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetColLabelSize(height);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetColLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColLabelValue)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, col, value");
    {
	int	col = (int)SvIV(ST(1))
;
	wxString	value;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

    WXSTRING_INPUT( value, wxString, ST(2) )
;

	THIS->SetColLabelValue(col, value);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetColMinimalAcceptableWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColMinimalAcceptableWidth)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, width");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	width = (int)SvIV(ST(1))
;

	THIS->SetColMinimalAcceptableWidth(width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetRowMinimalAcceptableHeight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetRowMinimalAcceptableHeight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, width");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	width = (int)SvIV(ST(1))
;

	THIS->SetRowMinimalAcceptableHeight(width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetColMinimalWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColMinimalWidth)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, col, width");
    {
	int	col = (int)SvIV(ST(1))
;
	int	width = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetColMinimalWidth(col, width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetColSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColSize)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, col, height");
    {
	int	col = (int)SvIV(ST(1))
;
	int	height = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetColSize(col, height);
    }
    XSRETURN_EMPTY;
}

#if WXPERL_W_VERSION_GE( 2, 7, 2 )
#define XSubPPtmpAAAV 1


XS_EUPXS(XS_Wx__Grid_SetColPos); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetColPos)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, col, pos");
    {
	int	col = (int)SvIV(ST(1))
;
	int	pos = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetColPos(col, pos);
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_Wx__Grid_SetGridCursor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetGridCursor)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetGridCursor(row, col);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetGridLineColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetGridLineColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetGridLineColour(colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetLabelBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetLabelBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetLabelBackgroundColour(colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetLabelFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetLabelFont)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, font");
    {
	wxFont*    font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Font" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    THIS->SetLabelFont( *font );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetLabelTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetLabelTextColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetLabelTextColour(colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetMargins); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetMargins)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, extraWidth, extraHeight");
    {
	int	extraWidth = (int)SvIV(ST(1))
;
	int	extraHeight = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetMargins(extraWidth, extraHeight);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetReadOnly); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetReadOnly)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "THIS, row, col, isReadOnly = true");
    {
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	bool	isReadOnly;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 4)
	    isReadOnly = true;
	else {
	    isReadOnly = (bool)SvTRUE(ST(3))
;
	}

	THIS->SetReadOnly(row, col, isReadOnly);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetRowAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetRowAttr)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, attr");
    {
	int	row = (int)SvIV(ST(1))
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::GridCellAttr" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
    attr->IncRef();
    THIS->SetRowAttr( row, attr );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetRowLabelAlignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetRowLabelAlignment)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, horiz, vert");
    {
	int	horiz = (int)SvIV(ST(1))
;
	int	vert = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetRowLabelAlignment(horiz, vert);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetRowLabelSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetRowLabelSize)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, width");
    {
	int	width = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetRowLabelSize(width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetRowLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetRowLabelValue)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, value");
    {
	int	row = (int)SvIV(ST(1))
;
	wxString	value;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

    WXSTRING_INPUT( value, wxString, ST(2) )
;

	THIS->SetRowLabelValue(row, value);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetRowMinimalHeight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetRowMinimalHeight)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, height");
    {
	int	row = (int)SvIV(ST(1))
;
	int	height = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetRowMinimalHeight(row, height);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetRowSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetRowSize)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, height");
    {
	int	row = (int)SvIV(ST(1))
;
	int	height = (int)SvIV(ST(2))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetRowSize(row, height);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetSelectionBackground); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetSelectionBackground)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetSelectionBackground(colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetSelectionForeground); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetSelectionForeground)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colour");
    {
	wxColour    colour = *(wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetSelectionForeground(colour);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetSelectionMode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetSelectionMode)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, selmode");
    {
	wxGridSelectionModes	selmode = (wxGridSelectionModes)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->SetSelectionMode(selmode);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_SetTable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetTable)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "THIS, table, selMode = wxGrid::wxGridSelectCells");
    {
	wxGridTableBase*    table = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridTableBase" )
;
	wxGridSelectionModes	selMode;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	if (items < 3)
	    selMode = wxGrid::wxGridSelectCells;
	else {
	    selMode = (wxGridSelectionModes)SvIV(ST(2))
;
	}

	THIS->SetTable(table, selMode);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_ShowCellEditControl); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_ShowCellEditControl)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;

	THIS->ShowCellEditControl();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__Grid_XToCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_XToCol)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, x");
    {
	int	x = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->XToCol(x);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_XToEdgeOfCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_XToEdgeOfCol)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, x");
    {
	int	x = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->XToEdgeOfCol(x);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_YToRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_YToRow)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, y");
    {
	int	y = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->YToRow(y);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_YToEdgeOfRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_YToEdgeOfRow)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, y");
    {
	int	y = (int)SvIV(ST(1))
;
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	int	RETVAL;
	dXSTARG;

	RETVAL = THIS->YToEdgeOfRow(y);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetGridWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetGridWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxWindow *	RETVAL;

	RETVAL = THIS->GetGridWindow();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetGridRowLabelWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetGridRowLabelWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxWindow *	RETVAL;

	RETVAL = THIS->GetGridRowLabelWindow();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__Grid_GetGridColLabelWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_GetGridColLabelWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGrid *    THIS = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::Grid" )
;
	wxWindow *	RETVAL;

	RETVAL = THIS->GetGridColLabelWindow();
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


/* INCLUDE: Returning to 'Grid.xs' from 'XS/Grid.xs' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -I../.. -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp ../../interface/wx/grid/gridtablebase.h' from 'Grid.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#include <wx/grid.h>
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSpp_c7ffe73c_039799
#endif
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSpp_c7ffe73c_077695
#else
#define XSpp_c7ffe73c_053800
#endif
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSpp_c7ffe73c_082175
#endif
#include "xspp/wxplgridtable.h"

XS_EUPXS(XS_Wx__GridTableBase_Destroy); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_Destroy)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
    try {
      delete THIS;
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_GetNumberRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetNumberRows)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetNumberRows();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_GetNumberCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetNumberCols)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetNumberCols();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSpp_c7ffe73c_039799
#define XSubPPtmpAAAW 1


XS_EUPXS(XS_Wx__GridTableBase_GetRowsCount); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetRowsCount)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetRowsCount();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_GetColsCount); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetColsCount)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetColsCount();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSpp_c7ffe73c_077695
#define XSubPPtmpAAAX 1


XS_EUPXS(XS_Wx__GridTableBase_IsEmptyCell); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_IsEmptyCell)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      RETVAL = THIS->IsEmptyCell( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#else
#define XSpp_c7ffe73c_053800
#define XSubPPtmpAAAY 1


XS_EUPXS(XS_Wx__GridTableBase_IsEmptyCell); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_IsEmptyCell)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      RETVAL = THIS->IsEmptyCell( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#define XSpp_c7ffe73c_082175
#define XSubPPtmpAAAZ 1


XS_EUPXS(XS_Wx__GridTableBase_IsEmpty); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_IsEmpty)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, coords");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	wxGridCellCoords*    coords = (wxGridCellCoords *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellCoords" )
;
    try {
      RETVAL = THIS->IsEmpty( *( coords ) );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__GridTableBase_GetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetValue)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxString	RETVAL;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      RETVAL = THIS->GetValue( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_SetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_SetValue)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, value");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxString	value;

    WXSTRING_INPUT( value, wxString, ST(3) )
;
    try {
      THIS->SetValue( row, col, value );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_GetTypeName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetTypeName)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxString	RETVAL;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      RETVAL = THIS->GetTypeName( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_CanGetValueAs); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_CanGetValueAs)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, typeName");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxString	typeName;

    WXSTRING_INPUT( typeName, wxString, ST(3) )
;
    try {
      RETVAL = THIS->CanGetValueAs( row, col, typeName );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_CanSetValueAs); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_CanSetValueAs)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, typeName");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxString	typeName;

    WXSTRING_INPUT( typeName, wxString, ST(3) )
;
    try {
      RETVAL = THIS->CanSetValueAs( row, col, typeName );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_GetValueAsLong); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetValueAsLong)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	long	RETVAL;
	dXSTARG;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      RETVAL = THIS->GetValueAsLong( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_GetValueAsDouble); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetValueAsDouble)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	double	RETVAL;
	dXSTARG;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      RETVAL = THIS->GetValueAsDouble( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH; PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_GetValueAsBool); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetValueAsBool)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      RETVAL = THIS->GetValueAsBool( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_SetValueAsLong); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_SetValueAsLong)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, value");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	long	value = (long)SvIV(ST(3))
;
    try {
      THIS->SetValueAsLong( row, col, value );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_SetValueAsDouble); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_SetValueAsDouble)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, value");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	double	value = (double)SvNV(ST(3))
;
    try {
      THIS->SetValueAsDouble( row, col, value );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_SetValueAsBool); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_SetValueAsBool)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, value");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	bool	value = (bool)SvTRUE(ST(3))
;
    try {
      THIS->SetValueAsBool( row, col, value );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_SetView); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_SetView)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, grid");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Grid" )
;
    try {
      THIS->SetView( grid );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_GetView); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetView)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxGrid *	RETVAL;
    try {
      RETVAL = THIS->GetView();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_Clear); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_Clear)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
    try {
      THIS->Clear();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_InsertRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_InsertRows)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, pos= 0, numRows= 1");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	size_t	pos;
	size_t	numRows;

	if (items < 2)
	    pos = 0;
	else {
    pos = (size_t)SvUV( ST(1) )
;
	}

	if (items < 3)
	    numRows = 1;
	else {
    numRows = (size_t)SvUV( ST(2) )
;
	}
    try {
      RETVAL = THIS->InsertRows( pos, numRows );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_AppendRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_AppendRows)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, numRows= 1");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	size_t	numRows;

	if (items < 2)
	    numRows = 1;
	else {
    numRows = (size_t)SvUV( ST(1) )
;
	}
    try {
      RETVAL = THIS->AppendRows( numRows );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_DeleteRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_DeleteRows)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, pos= 0, numRows= 1");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	size_t	pos;
	size_t	numRows;

	if (items < 2)
	    pos = 0;
	else {
    pos = (size_t)SvUV( ST(1) )
;
	}

	if (items < 3)
	    numRows = 1;
	else {
    numRows = (size_t)SvUV( ST(2) )
;
	}
    try {
      RETVAL = THIS->DeleteRows( pos, numRows );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_InsertCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_InsertCols)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, pos= 0, numCols= 1");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	size_t	pos;
	size_t	numCols;

	if (items < 2)
	    pos = 0;
	else {
    pos = (size_t)SvUV( ST(1) )
;
	}

	if (items < 3)
	    numCols = 1;
	else {
    numCols = (size_t)SvUV( ST(2) )
;
	}
    try {
      RETVAL = THIS->InsertCols( pos, numCols );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_AppendCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_AppendCols)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, numCols= 1");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	size_t	numCols;

	if (items < 2)
	    numCols = 1;
	else {
    numCols = (size_t)SvUV( ST(1) )
;
	}
    try {
      RETVAL = THIS->AppendCols( numCols );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_DeleteCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_DeleteCols)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, pos= 0, numCols= 1");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
	size_t	pos;
	size_t	numCols;

	if (items < 2)
	    pos = 0;
	else {
    pos = (size_t)SvUV( ST(1) )
;
	}

	if (items < 3)
	    numCols = 1;
	else {
    numCols = (size_t)SvUV( ST(2) )
;
	}
    try {
      RETVAL = THIS->DeleteCols( pos, numCols );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_GetRowLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetRowLabelValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, row");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxString	RETVAL;
	int	row = (int)SvIV(ST(1))
;
    try {
      RETVAL = THIS->GetRowLabelValue( row );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_GetColLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetColLabelValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, col");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxString	RETVAL;
	int	col = (int)SvIV(ST(1))
;
    try {
      RETVAL = THIS->GetColLabelValue( col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    WXSTRING_OUTPUT( RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_SetRowLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_SetRowLabelValue)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, label");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	int	row = (int)SvIV(ST(1))
;
	wxString	label;

    WXSTRING_INPUT( label, wxString, ST(2) )
;
    try {
      THIS->SetRowLabelValue( row, label );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_SetColLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_SetColLabelValue)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, col, label");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	int	col = (int)SvIV(ST(1))
;
	wxString	label;

    WXSTRING_INPUT( label, wxString, ST(2) )
;
    try {
      THIS->SetColLabelValue( col, label );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_SetAttrProvider); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_SetAttrProvider)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, attrProvider");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxGridCellAttrProvider*    attrProvider = (wxGridCellAttrProvider *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellAttrProvider" )
;
    try {
      THIS->SetAttrProvider( attrProvider );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_GetAttrProvider); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetAttrProvider)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxGridCellAttrProvider *	RETVAL;
    try {
      RETVAL = THIS->GetAttrProvider();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellAttrProvider" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellAttrProvider", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_GetAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_GetAttr)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, kind");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxGridCellAttr *	RETVAL;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGridCellAttr__wxAttrKind	kind = (wxGridCellAttr__wxAttrKind)SvIV(ST(3))
;
    try {
      RETVAL = THIS->GetAttr( row, col, kind );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridCellAttr" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridCellAttr", SvRV( RETVALSV ), RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableBase_SetAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_SetAttr)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, attr, row, col");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellAttr" )
;
	int	row = (int)SvIV(ST(2))
;
	int	col = (int)SvIV(ST(3))
;
    try {
      THIS->SetAttr( attr, row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_SetRowAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_SetRowAttr)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, attr, row");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellAttr" )
;
	int	row = (int)SvIV(ST(2))
;
    try {
      THIS->SetRowAttr( attr, row );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_SetColAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_SetColAttr)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, attr, col");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellAttr" )
;
	int	col = (int)SvIV(ST(2))
;
    try {
      THIS->SetColAttr( attr, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableBase_CanHaveAttributes); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableBase_CanHaveAttributes)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableBase *    THIS = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableBase" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->CanHaveAttributes();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if 1
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)
#define XSubPPtmpAABA 1


XS_EUPXS(XS_Wx__PlGridTable_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxPlGridTable *	RETVAL;
    RETVAL = new wxPlGridTable( CLASS   );
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if defined( XSpp_c7ffe73c_077695 )
#define XSubPPtmpAABB 1


XS_EUPXS(XS_Wx__PlGridTable_IsEmptyCell); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_IsEmptyCell)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      THIS->base_IsEmptyCell( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // defined( XSpp_c7ffe73c_077695 )
#if 1
#define XSubPPtmpAABC 1


XS_EUPXS(XS_Wx__PlGridTable_GetTypeName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_GetTypeName)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      THIS->base_GetTypeName( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABD 1


XS_EUPXS(XS_Wx__PlGridTable_CanGetValueAs); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_CanGetValueAs)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, typeName");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxString	typeName;

    WXSTRING_INPUT( typeName, wxString, ST(3) )
;
    try {
      THIS->base_CanGetValueAs( row, col, typeName );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABE 1


XS_EUPXS(XS_Wx__PlGridTable_CanSetValueAs); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_CanSetValueAs)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, typeName");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxString	typeName;

    WXSTRING_INPUT( typeName, wxString, ST(3) )
;
    try {
      THIS->base_CanSetValueAs( row, col, typeName );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABF 1


XS_EUPXS(XS_Wx__PlGridTable_GetValueAsLong); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_GetValueAsLong)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      THIS->base_GetValueAsLong( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABG 1


XS_EUPXS(XS_Wx__PlGridTable_GetValueAsDouble); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_GetValueAsDouble)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      THIS->base_GetValueAsDouble( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABH 1


XS_EUPXS(XS_Wx__PlGridTable_GetValueAsBool); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_GetValueAsBool)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, col");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
    try {
      THIS->base_GetValueAsBool( row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABI 1


XS_EUPXS(XS_Wx__PlGridTable_SetValueAsLong); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_SetValueAsLong)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, value");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	long	value = (long)SvIV(ST(3))
;
    try {
      THIS->base_SetValueAsLong( row, col, value );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABJ 1


XS_EUPXS(XS_Wx__PlGridTable_SetValueAsDouble); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_SetValueAsDouble)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, value");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	double	value = (double)SvNV(ST(3))
;
    try {
      THIS->base_SetValueAsDouble( row, col, value );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABK 1


XS_EUPXS(XS_Wx__PlGridTable_SetValueAsBool); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_SetValueAsBool)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, value");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	bool	value = (bool)SvTRUE(ST(3))
;
    try {
      THIS->base_SetValueAsBool( row, col, value );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABL 1


XS_EUPXS(XS_Wx__PlGridTable_SetView); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_SetView)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, grid");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	wxGrid*    grid = (wxGrid *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Grid" )
;
    try {
      THIS->base_SetView( grid );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABM 1


XS_EUPXS(XS_Wx__PlGridTable_GetView); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_GetView)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
    try {
      THIS->base_GetView();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABN 1


XS_EUPXS(XS_Wx__PlGridTable_Clear); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_Clear)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
    try {
      THIS->base_Clear();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABO 1


XS_EUPXS(XS_Wx__PlGridTable_InsertRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_InsertRows)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, pos= 0, numRows= 1");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	size_t	pos;
	size_t	numRows;

	if (items < 2)
	    pos = 0;
	else {
    pos = (size_t)SvUV( ST(1) )
;
	}

	if (items < 3)
	    numRows = 1;
	else {
    numRows = (size_t)SvUV( ST(2) )
;
	}
    try {
      THIS->base_InsertRows( pos, numRows );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABP 1


XS_EUPXS(XS_Wx__PlGridTable_AppendRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_AppendRows)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, numRows= 1");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	size_t	numRows;

	if (items < 2)
	    numRows = 1;
	else {
    numRows = (size_t)SvUV( ST(1) )
;
	}
    try {
      THIS->base_AppendRows( numRows );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABQ 1


XS_EUPXS(XS_Wx__PlGridTable_DeleteRows); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_DeleteRows)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, pos= 0, numRows= 1");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	size_t	pos;
	size_t	numRows;

	if (items < 2)
	    pos = 0;
	else {
    pos = (size_t)SvUV( ST(1) )
;
	}

	if (items < 3)
	    numRows = 1;
	else {
    numRows = (size_t)SvUV( ST(2) )
;
	}
    try {
      THIS->base_DeleteRows( pos, numRows );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABR 1


XS_EUPXS(XS_Wx__PlGridTable_InsertCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_InsertCols)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, pos= 0, numCols= 1");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	size_t	pos;
	size_t	numCols;

	if (items < 2)
	    pos = 0;
	else {
    pos = (size_t)SvUV( ST(1) )
;
	}

	if (items < 3)
	    numCols = 1;
	else {
    numCols = (size_t)SvUV( ST(2) )
;
	}
    try {
      THIS->base_InsertCols( pos, numCols );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABS 1


XS_EUPXS(XS_Wx__PlGridTable_AppendCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_AppendCols)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, numCols= 1");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	size_t	numCols;

	if (items < 2)
	    numCols = 1;
	else {
    numCols = (size_t)SvUV( ST(1) )
;
	}
    try {
      THIS->base_AppendCols( numCols );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABT 1


XS_EUPXS(XS_Wx__PlGridTable_DeleteCols); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_DeleteCols)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, pos= 0, numCols= 1");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	size_t	pos;
	size_t	numCols;

	if (items < 2)
	    pos = 0;
	else {
    pos = (size_t)SvUV( ST(1) )
;
	}

	if (items < 3)
	    numCols = 1;
	else {
    numCols = (size_t)SvUV( ST(2) )
;
	}
    try {
      THIS->base_DeleteCols( pos, numCols );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABU 1


XS_EUPXS(XS_Wx__PlGridTable_GetRowLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_GetRowLabelValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, row");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
    try {
      THIS->base_GetRowLabelValue( row );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABV 1


XS_EUPXS(XS_Wx__PlGridTable_GetColLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_GetColLabelValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, col");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	col = (int)SvIV(ST(1))
;
    try {
      THIS->base_GetColLabelValue( col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABW 1


XS_EUPXS(XS_Wx__PlGridTable_SetRowLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_SetRowLabelValue)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, row, label");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	wxString	label;

    WXSTRING_INPUT( label, wxString, ST(2) )
;
    try {
      THIS->base_SetRowLabelValue( row, label );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABX 1


XS_EUPXS(XS_Wx__PlGridTable_SetColLabelValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_SetColLabelValue)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, col, label");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	col = (int)SvIV(ST(1))
;
	wxString	label;

    WXSTRING_INPUT( label, wxString, ST(2) )
;
    try {
      THIS->base_SetColLabelValue( col, label );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABY 1


XS_EUPXS(XS_Wx__PlGridTable_GetAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_GetAttr)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, row, col, kind");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	wxGridCellAttr__wxAttrKind	kind = (wxGridCellAttr__wxAttrKind)SvIV(ST(3))
;
    try {
      THIS->base_GetAttr( row, col, kind );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAABZ 1


XS_EUPXS(XS_Wx__PlGridTable_SetAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_SetAttr)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "THIS, attr, row, col");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellAttr" )
;
	int	row = (int)SvIV(ST(2))
;
	int	col = (int)SvIV(ST(3))
;
    try {
      THIS->base_SetAttr( attr, row, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAACA 1


XS_EUPXS(XS_Wx__PlGridTable_SetRowAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_SetRowAttr)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, attr, row");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellAttr" )
;
	int	row = (int)SvIV(ST(2))
;
    try {
      THIS->base_SetRowAttr( attr, row );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAACB 1


XS_EUPXS(XS_Wx__PlGridTable_SetColAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_SetColAttr)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, attr, col");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
	wxGridCellAttr*    attr = (wxGridCellAttr *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridCellAttr" )
;
	int	col = (int)SvIV(ST(2))
;
    try {
      THIS->base_SetColAttr( attr, col );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#if 1
#define XSubPPtmpAACC 1


XS_EUPXS(XS_Wx__PlGridTable_CanHaveAttributes); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__PlGridTable_CanHaveAttributes)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxPlGridTable *    THIS = (wxPlGridTable *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::PlGridTable" )
;
    try {
      THIS->base_CanHaveAttributes();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}

#endif // 1
#endif // 1

/* INCLUDE: Returning to 'Grid.xs' from '/usr/bin/perl -I../.. -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp ../../interface/wx/grid/gridtablebase.h' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp XS/GridTableMessage.xsp' from 'Grid.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#include "wx/grid.h"
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__GridTableMessage_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableMessage_new)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 5)
       croak_xs_usage(cv,  "CLASS, table, id, int1= 0, int2= 0");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxGridTableMessage *	RETVAL;
	wxGridTableBase*    table = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridTableBase" )
;
	int	id = (int)SvIV(ST(2))
;
	int	int1;
	int	int2;

	if (items < 4)
	    int1 = 0;
	else {
	    int1 = (int)SvIV(ST(3))
;
	}

	if (items < 5)
	    int2 = 0;
	else {
	    int2 = (int)SvIV(ST(4))
;
	}
    try {
      RETVAL = new wxGridTableMessage( table, id, int1, int2 );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::GridTableMessage" );
    wxPli_thread_sv_register( aTHX_ "Wx::GridTableMessage", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)

XS_EUPXS(XS_Wx__GridTableMessage_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableMessage_CLONE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
    wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableMessage_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableMessage_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableMessage *    THIS = (wxGridTableMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableMessage" )
;
     wxPli_thread_sv_unregister( aTHX_ "Wx::GridTableMessage", THIS, ST(0) );
                delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableMessage_SetTableObject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableMessage_SetTableObject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, table");
    {
	wxGridTableMessage *    THIS = (wxGridTableMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableMessage" )
;
	wxGridTableBase*    table = (wxGridTableBase *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::GridTableBase" )
;
    try {
      THIS->SetTableObject( table );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableMessage_GetTableObject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableMessage_GetTableObject)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableMessage *    THIS = (wxGridTableMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableMessage" )
;
	wxGridTableBase *	RETVAL;
    try {
      RETVAL = THIS->GetTableObject();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_object_2_sv( aTHX_ RETVALSV, RETVAL );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableMessage_SetId); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableMessage_SetId)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, id");
    {
	wxGridTableMessage *    THIS = (wxGridTableMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableMessage" )
;
	int	id = (int)SvIV(ST(1))
;
    try {
      THIS->SetId( id );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableMessage_GetId); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableMessage_GetId)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableMessage *    THIS = (wxGridTableMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableMessage" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetId();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableMessage_SetCommandInt); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableMessage_SetCommandInt)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, comInt1");
    {
	wxGridTableMessage *    THIS = (wxGridTableMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableMessage" )
;
	int	comInt1 = (int)SvIV(ST(1))
;
    try {
      THIS->SetCommandInt( comInt1 );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableMessage_GetCommandInt); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableMessage_GetCommandInt)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableMessage *    THIS = (wxGridTableMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableMessage" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetCommandInt();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__GridTableMessage_SetCommandInt2); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableMessage_SetCommandInt2)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, comInt2");
    {
	wxGridTableMessage *    THIS = (wxGridTableMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableMessage" )
;
	int	comInt2 = (int)SvIV(ST(1))
;
    try {
      THIS->SetCommandInt2( comInt2 );
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__GridTableMessage_GetCommandInt2); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__GridTableMessage_GetCommandInt2)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxGridTableMessage *    THIS = (wxGridTableMessage *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::GridTableMessage" )
;
	int	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetCommandInt2();
    }
    catch (std::exception& e) {
      croak("Caught C++ exception of type or derived from 'std::exception': %s", e.what());
    }
    catch (...) {
      croak("Caught C++ exception of unknown type");
    }
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


/* INCLUDE: Returning to 'Grid.xs' from '/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp XS/GridTableMessage.xsp' */


XS_EUPXS(XS_Wx__Grid_SetEvents); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__Grid_SetEvents)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
    wxPli_set_events( evts );
    }
    XSRETURN_EMPTY;
}

#include "cpp/gr_constants.cpp"
#if defined(__WXMSW__)
#undef XS
#define XS( name ) WXXS( name )
#endif
#ifdef __cplusplus
extern "C"
#endif
XS_EXTERNAL(boot_Wx__Grid); /* prototype to pass -Wmissing-prototypes */
XS_EXTERNAL(boot_Wx__Grid)
{
#if PERL_VERSION_LE(5, 21, 5)
    dVAR; dXSARGS;
#else
    dVAR; dXSBOOTARGSXSAPIVERCHK;
#endif
#if (PERL_REVISION == 5 && PERL_VERSION < 9)
    char* file = __FILE__;
#else
    const char* file = __FILE__;
#endif

    PERL_UNUSED_VAR(file);

    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
#if PERL_VERSION_LE(5, 21, 5)
    XS_VERSION_BOOTCHECK;
#  ifdef XS_APIVERSION_BOOTCHECK
    XS_APIVERSION_BOOTCHECK;
#  endif
#endif

        newXS_deffile("Wx::GridCellEditor::CLONE", XS_Wx__GridCellEditor_CLONE);
        newXS_deffile("Wx::GridCellEditor::DESTROY", XS_Wx__GridCellEditor_DESTROY);
        newXS_deffile("Wx::GridCellEditor::IsCreated", XS_Wx__GridCellEditor_IsCreated);
        newXS_deffile("Wx::GridCellEditor::GetControl", XS_Wx__GridCellEditor_GetControl);
        newXS_deffile("Wx::GridCellEditor::SetControl", XS_Wx__GridCellEditor_SetControl);
        newXS_deffile("Wx::GridCellEditor::SetSize", XS_Wx__GridCellEditor_SetSize);
        newXS_deffile("Wx::GridCellEditor::Show", XS_Wx__GridCellEditor_Show);
#if XSubPPtmpAAAA
        newXS_deffile("Wx::GridCellEditor::PaintBackground", XS_Wx__GridCellEditor_PaintBackground);
#endif
#if XSubPPtmpAAAB
        newXS_deffile("Wx::GridCellEditor::PaintBackground", XS_Wx__GridCellEditor_PaintBackground);
#endif
        newXS_deffile("Wx::GridCellEditor::BeginEdit", XS_Wx__GridCellEditor_BeginEdit);
#if XSubPPtmpAAAC
        newXS_deffile("Wx::GridCellEditor::EndEdit", XS_Wx__GridCellEditor_EndEdit);
        newXS_deffile("Wx::GridCellEditor::ApplyEdit", XS_Wx__GridCellEditor_ApplyEdit);
#endif
#if XSubPPtmpAAAD
        newXS_deffile("Wx::GridCellEditor::EndEdit", XS_Wx__GridCellEditor_EndEdit);
#endif
        newXS_deffile("Wx::GridCellEditor::Reset", XS_Wx__GridCellEditor_Reset);
        newXS_deffile("Wx::GridCellEditor::IsAcceptedKey", XS_Wx__GridCellEditor_IsAcceptedKey);
        newXS_deffile("Wx::GridCellEditor::StartingKey", XS_Wx__GridCellEditor_StartingKey);
        newXS_deffile("Wx::GridCellEditor::StartingClick", XS_Wx__GridCellEditor_StartingClick);
        newXS_deffile("Wx::GridCellEditor::HandleReturn", XS_Wx__GridCellEditor_HandleReturn);
        newXS_deffile("Wx::GridCellEditor::Destroy", XS_Wx__GridCellEditor_Destroy);
        newXS_deffile("Wx::GridCellTextEditor::new", XS_Wx__GridCellTextEditor_new);
        newXS_deffile("Wx::GridCellTextEditor::SetParameters", XS_Wx__GridCellTextEditor_SetParameters);
        newXS_deffile("Wx::GridCellAutoWrapStringEditor::new", XS_Wx__GridCellAutoWrapStringEditor_new);
        newXS_deffile("Wx::GridCellNumberEditor::new", XS_Wx__GridCellNumberEditor_new);
        newXS_deffile("Wx::GridCellNumberEditor::SetParameters", XS_Wx__GridCellNumberEditor_SetParameters);
        newXS_deffile("Wx::GridCellFloatEditor::new", XS_Wx__GridCellFloatEditor_new);
        newXS_deffile("Wx::GridCellFloatEditor::SetParameters", XS_Wx__GridCellFloatEditor_SetParameters);
        newXS_deffile("Wx::GridCellBoolEditor::new", XS_Wx__GridCellBoolEditor_new);
#if XSubPPtmpAAAE
        newXS_deffile("Wx::GridCellBoolEditor::IsTrueValue", XS_Wx__GridCellBoolEditor_IsTrueValue);
        newXS_deffile("Wx::GridCellBoolEditor::UseStringValues", XS_Wx__GridCellBoolEditor_UseStringValues);
#endif
        newXS_deffile("Wx::GridCellChoiceEditor::new", XS_Wx__GridCellChoiceEditor_new);
        newXS_deffile("Wx::GridCellChoiceEditor::SetParameters", XS_Wx__GridCellChoiceEditor_SetParameters);
        newXS_deffile("Wx::GridCellEnumEditor::new", XS_Wx__GridCellEnumEditor_new);
        newXS_deffile("Wx::PlGridCellEditor::new", XS_Wx__PlGridCellEditor_new);
#if XSubPPtmpAAAF
        newXS_deffile("Wx::PlGridCellEditor::PaintBackground", XS_Wx__PlGridCellEditor_PaintBackground);
#endif
#if XSubPPtmpAAAG
        newXS_deffile("Wx::PlGridCellEditor::PaintBackground", XS_Wx__PlGridCellEditor_PaintBackground);
#endif
        newXS_deffile("Wx::GridCellRenderer::Draw", XS_Wx__GridCellRenderer_Draw);
        newXS_deffile("Wx::GridCellRenderer::GetBestSize", XS_Wx__GridCellRenderer_GetBestSize);
        newXS_deffile("Wx::GridCellRenderer::CLONE", XS_Wx__GridCellRenderer_CLONE);
        newXS_deffile("Wx::GridCellRenderer::DESTROY", XS_Wx__GridCellRenderer_DESTROY);
        newXS_deffile("Wx::GridCellRenderer::SetParameters", XS_Wx__GridCellRenderer_SetParameters);
        newXS_deffile("Wx::GridCellStringRenderer::new", XS_Wx__GridCellStringRenderer_new);
        newXS_deffile("Wx::GridCellNumberRenderer::new", XS_Wx__GridCellNumberRenderer_new);
        newXS_deffile("Wx::GridCellFloatRenderer::new", XS_Wx__GridCellFloatRenderer_new);
        newXS_deffile("Wx::GridCellFloatRenderer::GetWidth", XS_Wx__GridCellFloatRenderer_GetWidth);
        newXS_deffile("Wx::GridCellFloatRenderer::GetPrecision", XS_Wx__GridCellFloatRenderer_GetPrecision);
        newXS_deffile("Wx::GridCellFloatRenderer::SetWidth", XS_Wx__GridCellFloatRenderer_SetWidth);
        newXS_deffile("Wx::GridCellFloatRenderer::SetPrecision", XS_Wx__GridCellFloatRenderer_SetPrecision);
        newXS_deffile("Wx::GridCellBoolRenderer::new", XS_Wx__GridCellBoolRenderer_new);
        newXS_deffile("Wx::GridCellAutoWrapStringRenderer::new", XS_Wx__GridCellAutoWrapStringRenderer_new);
        newXS_deffile("Wx::GridCellEnumRenderer::new", XS_Wx__GridCellEnumRenderer_new);
        newXS_deffile("Wx::GridCellDateTimeRenderer::new", XS_Wx__GridCellDateTimeRenderer_new);
        newXS_deffile("Wx::PlGridCellRenderer::new", XS_Wx__PlGridCellRenderer_new);
        newXS_deffile("Wx::PlGridCellRenderer::Draw", XS_Wx__PlGridCellRenderer_Draw);
#if XSubPPtmpAAAH
        newXS_deffile("Wx::GridEvent::new", XS_Wx__GridEvent_new);
#endif
        newXS_deffile("Wx::GridEvent::GetRow", XS_Wx__GridEvent_GetRow);
        newXS_deffile("Wx::GridEvent::GetCol", XS_Wx__GridEvent_GetCol);
        newXS_deffile("Wx::GridEvent::GetPosition", XS_Wx__GridEvent_GetPosition);
        newXS_deffile("Wx::GridEvent::Selecting", XS_Wx__GridEvent_Selecting);
        newXS_deffile("Wx::GridEvent::ControlDown", XS_Wx__GridEvent_ControlDown);
        newXS_deffile("Wx::GridEvent::AltDown", XS_Wx__GridEvent_AltDown);
        newXS_deffile("Wx::GridEvent::MetaDown", XS_Wx__GridEvent_MetaDown);
        newXS_deffile("Wx::GridEvent::ShiftDown", XS_Wx__GridEvent_ShiftDown);
#if XSubPPtmpAAAI
        newXS_deffile("Wx::GridSizeEvent::new", XS_Wx__GridSizeEvent_new);
#endif
        newXS_deffile("Wx::GridSizeEvent::GetRowOrCol", XS_Wx__GridSizeEvent_GetRowOrCol);
        newXS_deffile("Wx::GridSizeEvent::GetPosition", XS_Wx__GridSizeEvent_GetPosition);
        newXS_deffile("Wx::GridSizeEvent::ControlDown", XS_Wx__GridSizeEvent_ControlDown);
        newXS_deffile("Wx::GridSizeEvent::AltDown", XS_Wx__GridSizeEvent_AltDown);
        newXS_deffile("Wx::GridSizeEvent::MetaDown", XS_Wx__GridSizeEvent_MetaDown);
        newXS_deffile("Wx::GridSizeEvent::ShiftDown", XS_Wx__GridSizeEvent_ShiftDown);
#if XSubPPtmpAAAJ
        newXS_deffile("Wx::GridRangeSelectEvent::new", XS_Wx__GridRangeSelectEvent_new);
#endif
        newXS_deffile("Wx::GridRangeSelectEvent::GetTopLeftCoords", XS_Wx__GridRangeSelectEvent_GetTopLeftCoords);
        newXS_deffile("Wx::GridRangeSelectEvent::GetBottomRightCoords", XS_Wx__GridRangeSelectEvent_GetBottomRightCoords);
        newXS_deffile("Wx::GridRangeSelectEvent::GetTopRow", XS_Wx__GridRangeSelectEvent_GetTopRow);
        newXS_deffile("Wx::GridRangeSelectEvent::GetBottomRow", XS_Wx__GridRangeSelectEvent_GetBottomRow);
        newXS_deffile("Wx::GridRangeSelectEvent::GetLeftCol", XS_Wx__GridRangeSelectEvent_GetLeftCol);
        newXS_deffile("Wx::GridRangeSelectEvent::GetRightCol", XS_Wx__GridRangeSelectEvent_GetRightCol);
        newXS_deffile("Wx::GridRangeSelectEvent::Selecting", XS_Wx__GridRangeSelectEvent_Selecting);
        newXS_deffile("Wx::GridRangeSelectEvent::ControlDown", XS_Wx__GridRangeSelectEvent_ControlDown);
        newXS_deffile("Wx::GridRangeSelectEvent::MetaDown", XS_Wx__GridRangeSelectEvent_MetaDown);
        newXS_deffile("Wx::GridRangeSelectEvent::AltDown", XS_Wx__GridRangeSelectEvent_AltDown);
        newXS_deffile("Wx::GridRangeSelectEvent::ShiftDown", XS_Wx__GridRangeSelectEvent_ShiftDown);
        newXS_deffile("Wx::GridEditorCreatedEvent::new", XS_Wx__GridEditorCreatedEvent_new);
        newXS_deffile("Wx::GridEditorCreatedEvent::GetRow", XS_Wx__GridEditorCreatedEvent_GetRow);
        newXS_deffile("Wx::GridEditorCreatedEvent::GetCol", XS_Wx__GridEditorCreatedEvent_GetCol);
        newXS_deffile("Wx::GridEditorCreatedEvent::GetControl", XS_Wx__GridEditorCreatedEvent_GetControl);
        newXS_deffile("Wx::GridEditorCreatedEvent::SetRow", XS_Wx__GridEditorCreatedEvent_SetRow);
        newXS_deffile("Wx::GridEditorCreatedEvent::SetCol", XS_Wx__GridEditorCreatedEvent_SetCol);
        newXS_deffile("Wx::GridEditorCreatedEvent::SetControl", XS_Wx__GridEditorCreatedEvent_SetControl);
        newXS_deffile("Wx::GridCellAttr::new", XS_Wx__GridCellAttr_new);
        newXS_deffile("Wx::GridCellAttr::CLONE", XS_Wx__GridCellAttr_CLONE);
        newXS_deffile("Wx::GridCellAttr::DESTROY", XS_Wx__GridCellAttr_DESTROY);
        newXS_deffile("Wx::GridCellAttr::IncRef", XS_Wx__GridCellAttr_IncRef);
        newXS_deffile("Wx::GridCellAttr::DecRef", XS_Wx__GridCellAttr_DecRef);
        newXS_deffile("Wx::GridCellAttr::SetTextColour", XS_Wx__GridCellAttr_SetTextColour);
        newXS_deffile("Wx::GridCellAttr::SetBackgroundColour", XS_Wx__GridCellAttr_SetBackgroundColour);
        newXS_deffile("Wx::GridCellAttr::SetFont", XS_Wx__GridCellAttr_SetFont);
        newXS_deffile("Wx::GridCellAttr::SetAlignment", XS_Wx__GridCellAttr_SetAlignment);
        newXS_deffile("Wx::GridCellAttr::SetReadOnly", XS_Wx__GridCellAttr_SetReadOnly);
        newXS_deffile("Wx::GridCellAttr::HasTextColour", XS_Wx__GridCellAttr_HasTextColour);
        newXS_deffile("Wx::GridCellAttr::HasBackgroundColour", XS_Wx__GridCellAttr_HasBackgroundColour);
        newXS_deffile("Wx::GridCellAttr::HasFont", XS_Wx__GridCellAttr_HasFont);
        newXS_deffile("Wx::GridCellAttr::HasAlignment", XS_Wx__GridCellAttr_HasAlignment);
        newXS_deffile("Wx::GridCellAttr::HasRenderer", XS_Wx__GridCellAttr_HasRenderer);
        newXS_deffile("Wx::GridCellAttr::HasEditor", XS_Wx__GridCellAttr_HasEditor);
        newXS_deffile("Wx::GridCellAttr::GetTextColour", XS_Wx__GridCellAttr_GetTextColour);
        newXS_deffile("Wx::GridCellAttr::GetBackgroundColour", XS_Wx__GridCellAttr_GetBackgroundColour);
        newXS_deffile("Wx::GridCellAttr::GetEditor", XS_Wx__GridCellAttr_GetEditor);
        newXS_deffile("Wx::GridCellAttr::GetRenderer", XS_Wx__GridCellAttr_GetRenderer);
        newXS_deffile("Wx::GridCellAttr::GetFont", XS_Wx__GridCellAttr_GetFont);
        newXS_deffile("Wx::GridCellAttr::GetAlignment", XS_Wx__GridCellAttr_GetAlignment);
        newXS_deffile("Wx::GridCellAttr::IsReadOnly", XS_Wx__GridCellAttr_IsReadOnly);
        newXS_deffile("Wx::GridCellAttr::SetDefAttr", XS_Wx__GridCellAttr_SetDefAttr);
        newXS_deffile("Wx::GridCellAttr::SetEditor", XS_Wx__GridCellAttr_SetEditor);
        newXS_deffile("Wx::GridCellAttr::SetRenderer", XS_Wx__GridCellAttr_SetRenderer);
        newXS_deffile("Wx::GridCellAttr::GetOverflow", XS_Wx__GridCellAttr_GetOverflow);
        newXS_deffile("Wx::GridCellAttr::SetOverflow", XS_Wx__GridCellAttr_SetOverflow);
#if XSubPPtmpAAAK
        newXS_deffile("Wx::GridUpdateLocker::new", XS_Wx__GridUpdateLocker_new);
        newXS_deffile("Wx::GridUpdateLocker::CLONE", XS_Wx__GridUpdateLocker_CLONE);
        newXS_deffile("Wx::GridUpdateLocker::DESTROY", XS_Wx__GridUpdateLocker_DESTROY);
        newXS_deffile("Wx::GridUpdateLocker::Create", XS_Wx__GridUpdateLocker_Create);
#endif
        newXS_deffile("Wx::GridCellCoords::new", XS_Wx__GridCellCoords_new);
        newXS_deffile("Wx::GridCellCoords::CLONE", XS_Wx__GridCellCoords_CLONE);
        newXS_deffile("Wx::GridCellCoords::DESTROY", XS_Wx__GridCellCoords_DESTROY);
        newXS_deffile("Wx::GridCellCoords::GetRow", XS_Wx__GridCellCoords_GetRow);
        newXS_deffile("Wx::GridCellCoords::GetCol", XS_Wx__GridCellCoords_GetCol);
        newXS_deffile("Wx::GridCellCoords::SetRow", XS_Wx__GridCellCoords_SetRow);
        newXS_deffile("Wx::GridCellCoords::SetCol", XS_Wx__GridCellCoords_SetCol);
        newXS_deffile("Wx::GridCellCoords::Set", XS_Wx__GridCellCoords_Set);
        newXS_deffile("Wx::Grid::new", XS_Wx__Grid_new);
        newXS_deffile("Wx::Grid::newDefault", XS_Wx__Grid_newDefault);
        newXS_deffile("Wx::Grid::newFull", XS_Wx__Grid_newFull);
        newXS_deffile("Wx::Grid::Create", XS_Wx__Grid_Create);
        newXS_deffile("Wx::Grid::AppendCols", XS_Wx__Grid_AppendCols);
        newXS_deffile("Wx::Grid::AppendRows", XS_Wx__Grid_AppendRows);
        newXS_deffile("Wx::Grid::AutoSize", XS_Wx__Grid_AutoSize);
        newXS_deffile("Wx::Grid::AutoSizeColLabelSize", XS_Wx__Grid_AutoSizeColLabelSize);
        newXS_deffile("Wx::Grid::AutoSizeRowLabelSize", XS_Wx__Grid_AutoSizeRowLabelSize);
        newXS_deffile("Wx::Grid::AutoSizeColumn", XS_Wx__Grid_AutoSizeColumn);
        newXS_deffile("Wx::Grid::AutoSizeColumns", XS_Wx__Grid_AutoSizeColumns);
        newXS_deffile("Wx::Grid::AutoSizeRow", XS_Wx__Grid_AutoSizeRow);
        newXS_deffile("Wx::Grid::AutoSizeRows", XS_Wx__Grid_AutoSizeRows);
        newXS_deffile("Wx::Grid::BeginBatch", XS_Wx__Grid_BeginBatch);
        newXS_deffile("Wx::Grid::BlockToDeviceRect", XS_Wx__Grid_BlockToDeviceRect);
        newXS_deffile("Wx::Grid::CanDragColSize", XS_Wx__Grid_CanDragColSize);
#if XSubPPtmpAAAL
        newXS_deffile("Wx::Grid::CanDragColMove", XS_Wx__Grid_CanDragColMove);
#endif
        newXS_deffile("Wx::Grid::CanDragRowSize", XS_Wx__Grid_CanDragRowSize);
        newXS_deffile("Wx::Grid::CanDragGridSize", XS_Wx__Grid_CanDragGridSize);
        newXS_deffile("Wx::Grid::CanEnableCellControl", XS_Wx__Grid_CanEnableCellControl);
        newXS_deffile("Wx::Grid::CellToRectXY", XS_Wx__Grid_CellToRectXY);
        newXS_deffile("Wx::Grid::CellToRectCo", XS_Wx__Grid_CellToRectCo);
        newXS_deffile("Wx::Grid::ClearGrid", XS_Wx__Grid_ClearGrid);
        newXS_deffile("Wx::Grid::ClearSelection", XS_Wx__Grid_ClearSelection);
        newXS_deffile("Wx::Grid::CreateGrid", XS_Wx__Grid_CreateGrid);
        newXS_deffile("Wx::Grid::DeleteCols", XS_Wx__Grid_DeleteCols);
        newXS_deffile("Wx::Grid::DeleteRows", XS_Wx__Grid_DeleteRows);
        newXS_deffile("Wx::Grid::DisableCellEditControl", XS_Wx__Grid_DisableCellEditControl);
        newXS_deffile("Wx::Grid::DisableDragGridSize", XS_Wx__Grid_DisableDragGridSize);
        newXS_deffile("Wx::Grid::DisableDragRowSize", XS_Wx__Grid_DisableDragRowSize);
        newXS_deffile("Wx::Grid::DisableDragColSize", XS_Wx__Grid_DisableDragColSize);
#if XSubPPtmpAAAM
        newXS_deffile("Wx::Grid::DisableDragColMove", XS_Wx__Grid_DisableDragColMove);
#endif
        newXS_deffile("Wx::Grid::EnableCellEditControl", XS_Wx__Grid_EnableCellEditControl);
#if XSubPPtmpAAAN
        newXS_deffile("Wx::Grid::EnableDragColMove", XS_Wx__Grid_EnableDragColMove);
#endif
        newXS_deffile("Wx::Grid::EnableDragColSize", XS_Wx__Grid_EnableDragColSize);
        newXS_deffile("Wx::Grid::EnableDragGridSize", XS_Wx__Grid_EnableDragGridSize);
        newXS_deffile("Wx::Grid::EnableDragRowSize", XS_Wx__Grid_EnableDragRowSize);
        newXS_deffile("Wx::Grid::EnableEditing", XS_Wx__Grid_EnableEditing);
        newXS_deffile("Wx::Grid::EnableGridLines", XS_Wx__Grid_EnableGridLines);
        newXS_deffile("Wx::Grid::EndBatch", XS_Wx__Grid_EndBatch);
        newXS_deffile("Wx::Grid::ForceRefresh", XS_Wx__Grid_ForceRefresh);
        newXS_deffile("Wx::Grid::GetBatchCount", XS_Wx__Grid_GetBatchCount);
        newXS_deffile("Wx::Grid::GetCellAlignment", XS_Wx__Grid_GetCellAlignment);
        newXS_deffile("Wx::Grid::GetCellBackgroundColour", XS_Wx__Grid_GetCellBackgroundColour);
        newXS_deffile("Wx::Grid::GetCellEditor", XS_Wx__Grid_GetCellEditor);
        newXS_deffile("Wx::Grid::GetCellOverflow", XS_Wx__Grid_GetCellOverflow);
        newXS_deffile("Wx::Grid::GetCellRenderer", XS_Wx__Grid_GetCellRenderer);
        newXS_deffile("Wx::Grid::GetCellFont", XS_Wx__Grid_GetCellFont);
        newXS_deffile("Wx::Grid::GetCellTextColour", XS_Wx__Grid_GetCellTextColour);
        newXS_deffile("Wx::Grid::GetCellValueXY", XS_Wx__Grid_GetCellValueXY);
        newXS_deffile("Wx::Grid::GetCellValueCo", XS_Wx__Grid_GetCellValueCo);
        newXS_deffile("Wx::Grid::GetColLabelAlignment", XS_Wx__Grid_GetColLabelAlignment);
        newXS_deffile("Wx::Grid::GetColLabelSize", XS_Wx__Grid_GetColLabelSize);
        newXS_deffile("Wx::Grid::GetColLabelValue", XS_Wx__Grid_GetColLabelValue);
#if XSubPPtmpAAAO
        newXS_deffile("Wx::Grid::GetColPos", XS_Wx__Grid_GetColPos);
#endif
        newXS_deffile("Wx::Grid::GetColSize", XS_Wx__Grid_GetColSize);
#if XSubPPtmpAAAP
        newXS_deffile("Wx::Grid::GetColAt", XS_Wx__Grid_GetColAt);
#endif
        newXS_deffile("Wx::Grid::GetDefaultCellAlignment", XS_Wx__Grid_GetDefaultCellAlignment);
        newXS_deffile("Wx::Grid::GetDefaultCellBackgroundColour", XS_Wx__Grid_GetDefaultCellBackgroundColour);
        newXS_deffile("Wx::Grid::GetDefaultCellFont", XS_Wx__Grid_GetDefaultCellFont);
        newXS_deffile("Wx::Grid::GetDefaultCellOverflow", XS_Wx__Grid_GetDefaultCellOverflow);
        newXS_deffile("Wx::Grid::GetDefaultCellTextColour", XS_Wx__Grid_GetDefaultCellTextColour);
        newXS_deffile("Wx::Grid::GetDefaultColLabelSize", XS_Wx__Grid_GetDefaultColLabelSize);
        newXS_deffile("Wx::Grid::GetDefaultColSize", XS_Wx__Grid_GetDefaultColSize);
        newXS_deffile("Wx::Grid::GetColMinimalAcceptableWidth", XS_Wx__Grid_GetColMinimalAcceptableWidth);
#if XSubPPtmpAAAQ
        newXS_deffile("Wx::Grid::GetOrCreateCellAttr", XS_Wx__Grid_GetOrCreateCellAttr);
#endif
        newXS_deffile("Wx::Grid::GetRowMinimalAcceptableHeight", XS_Wx__Grid_GetRowMinimalAcceptableHeight);
        newXS_deffile("Wx::Grid::GetDefaultEditor", XS_Wx__Grid_GetDefaultEditor);
        newXS_deffile("Wx::Grid::GetDefaultEditorForType", XS_Wx__Grid_GetDefaultEditorForType);
        newXS_deffile("Wx::Grid::GetDefaultEditorForCellCo", XS_Wx__Grid_GetDefaultEditorForCellCo);
        newXS_deffile("Wx::Grid::GetDefaultEditorForCellXY", XS_Wx__Grid_GetDefaultEditorForCellXY);
        newXS_deffile("Wx::Grid::GetDefaultRenderer", XS_Wx__Grid_GetDefaultRenderer);
        newXS_deffile("Wx::Grid::GetDefaultRendererForType", XS_Wx__Grid_GetDefaultRendererForType);
        newXS_deffile("Wx::Grid::GetDefaultRendererForCell", XS_Wx__Grid_GetDefaultRendererForCell);
        newXS_deffile("Wx::Grid::GetRowLabelAlignment", XS_Wx__Grid_GetRowLabelAlignment);
        newXS_deffile("Wx::Grid::GetDefaultRowLabelSize", XS_Wx__Grid_GetDefaultRowLabelSize);
        newXS_deffile("Wx::Grid::GetDefaultRowSize", XS_Wx__Grid_GetDefaultRowSize);
        newXS_deffile("Wx::Grid::GetGridCursorCol", XS_Wx__Grid_GetGridCursorCol);
        newXS_deffile("Wx::Grid::GetGridCursorRow", XS_Wx__Grid_GetGridCursorRow);
        newXS_deffile("Wx::Grid::GetGridLineColour", XS_Wx__Grid_GetGridLineColour);
#if XSubPPtmpAAAR
        newXS_deffile("Wx::Grid::GetDefaultGridLinePen", XS_Wx__Grid_GetDefaultGridLinePen);
        newXS_deffile("Wx::Grid::GetColGridLinePen", XS_Wx__Grid_GetColGridLinePen);
        newXS_deffile("Wx::Grid::GetRowGridLinePen", XS_Wx__Grid_GetRowGridLinePen);
#endif
        newXS_deffile("Wx::Grid::GetTable", XS_Wx__Grid_GetTable);
        newXS_deffile("Wx::Grid::GridLinesEnabled", XS_Wx__Grid_GridLinesEnabled);
        newXS_deffile("Wx::Grid::GetLabelBackgroundColour", XS_Wx__Grid_GetLabelBackgroundColour);
        newXS_deffile("Wx::Grid::GetLabelFont", XS_Wx__Grid_GetLabelFont);
        newXS_deffile("Wx::Grid::GetLabelTextColour", XS_Wx__Grid_GetLabelTextColour);
        newXS_deffile("Wx::Grid::GetNumberCols", XS_Wx__Grid_GetNumberCols);
        newXS_deffile("Wx::Grid::GetNumberRows", XS_Wx__Grid_GetNumberRows);
        newXS_deffile("Wx::Grid::GetRowLabelSize", XS_Wx__Grid_GetRowLabelSize);
        newXS_deffile("Wx::Grid::GetRowLabelValue", XS_Wx__Grid_GetRowLabelValue);
        newXS_deffile("Wx::Grid::GetRowSize", XS_Wx__Grid_GetRowSize);
#if XSubPPtmpAAAS
        newXS_deffile("Wx::Grid::GetScrollLineX", XS_Wx__Grid_GetScrollLineX);
        newXS_deffile("Wx::Grid::GetScrollLineY", XS_Wx__Grid_GetScrollLineY);
        newXS_deffile("Wx::Grid::SetScrollLineX", XS_Wx__Grid_SetScrollLineX);
        newXS_deffile("Wx::Grid::SetScrollLineY", XS_Wx__Grid_SetScrollLineY);
#endif
        newXS_deffile("Wx::Grid::GetSelectedCells", XS_Wx__Grid_GetSelectedCells);
        newXS_deffile("Wx::Grid::GetSelectionBlockTopLeft", XS_Wx__Grid_GetSelectionBlockTopLeft);
        newXS_deffile("Wx::Grid::GetSelectionBlockBottomRight", XS_Wx__Grid_GetSelectionBlockBottomRight);
        newXS_deffile("Wx::Grid::GetSelectedCols", XS_Wx__Grid_GetSelectedCols);
        newXS_deffile("Wx::Grid::GetSelectedRows", XS_Wx__Grid_GetSelectedRows);
        newXS_deffile("Wx::Grid::GetSelectionBackground", XS_Wx__Grid_GetSelectionBackground);
        newXS_deffile("Wx::Grid::GetSelectionForeground", XS_Wx__Grid_GetSelectionForeground);
        newXS_deffile("Wx::Grid::GetSelectionMode", XS_Wx__Grid_GetSelectionMode);
        newXS_deffile("Wx::Grid::GetViewWidth", XS_Wx__Grid_GetViewWidth);
        newXS_deffile("Wx::Grid::HideCellEditControl", XS_Wx__Grid_HideCellEditControl);
#if XSubPPtmpAAAT
        newXS_deffile("Wx::Grid::HideRowLabels", XS_Wx__Grid_HideRowLabels);
        newXS_deffile("Wx::Grid::HideColLabels", XS_Wx__Grid_HideColLabels);
#endif
        newXS_deffile("Wx::Grid::InsertCols", XS_Wx__Grid_InsertCols);
        newXS_deffile("Wx::Grid::InsertRows", XS_Wx__Grid_InsertRows);
        newXS_deffile("Wx::Grid::IsCellEditControlEnabled", XS_Wx__Grid_IsCellEditControlEnabled);
        newXS_deffile("Wx::Grid::IsCurrentCellReadOnly", XS_Wx__Grid_IsCurrentCellReadOnly);
        newXS_deffile("Wx::Grid::IsEditable", XS_Wx__Grid_IsEditable);
        newXS_deffile("Wx::Grid::IsInSelectionXY", XS_Wx__Grid_IsInSelectionXY);
        newXS_deffile("Wx::Grid::IsInSelectionCo", XS_Wx__Grid_IsInSelectionCo);
        newXS_deffile("Wx::Grid::IsReadOnly", XS_Wx__Grid_IsReadOnly);
        newXS_deffile("Wx::Grid::IsSelection", XS_Wx__Grid_IsSelection);
        newXS_deffile("Wx::Grid::IsVisibleXY", XS_Wx__Grid_IsVisibleXY);
        newXS_deffile("Wx::Grid::IsVisibleCo", XS_Wx__Grid_IsVisibleCo);
        newXS_deffile("Wx::Grid::MakeCellVisibleXY", XS_Wx__Grid_MakeCellVisibleXY);
        newXS_deffile("Wx::Grid::MakeCellVisibleCo", XS_Wx__Grid_MakeCellVisibleCo);
        newXS_deffile("Wx::Grid::MoveCursorDown", XS_Wx__Grid_MoveCursorDown);
        newXS_deffile("Wx::Grid::MoveCursorLeft", XS_Wx__Grid_MoveCursorLeft);
        newXS_deffile("Wx::Grid::MoveCursorRight", XS_Wx__Grid_MoveCursorRight);
        newXS_deffile("Wx::Grid::MoveCursorUp", XS_Wx__Grid_MoveCursorUp);
        newXS_deffile("Wx::Grid::MoveCursorDownBlock", XS_Wx__Grid_MoveCursorDownBlock);
        newXS_deffile("Wx::Grid::MoveCursorLeftBlock", XS_Wx__Grid_MoveCursorLeftBlock);
        newXS_deffile("Wx::Grid::MoveCursorRightBlock", XS_Wx__Grid_MoveCursorRightBlock);
        newXS_deffile("Wx::Grid::MoveCursorUpBlock", XS_Wx__Grid_MoveCursorUpBlock);
        newXS_deffile("Wx::Grid::MovePageDown", XS_Wx__Grid_MovePageDown);
        newXS_deffile("Wx::Grid::MovePageUp", XS_Wx__Grid_MovePageUp);
        newXS_deffile("Wx::Grid::ProcessTableMessage", XS_Wx__Grid_ProcessTableMessage);
        newXS_deffile("Wx::Grid::RegisterDataType", XS_Wx__Grid_RegisterDataType);
        newXS_deffile("Wx::Grid::SaveEditControlValue", XS_Wx__Grid_SaveEditControlValue);
        newXS_deffile("Wx::Grid::SelectAll", XS_Wx__Grid_SelectAll);
        newXS_deffile("Wx::Grid::SelectBlockXYWH", XS_Wx__Grid_SelectBlockXYWH);
        newXS_deffile("Wx::Grid::SelectBlockPP", XS_Wx__Grid_SelectBlockPP);
        newXS_deffile("Wx::Grid::SelectCol", XS_Wx__Grid_SelectCol);
        newXS_deffile("Wx::Grid::SelectRow", XS_Wx__Grid_SelectRow);
#if XSubPPtmpAAAU
        newXS_deffile("Wx::Grid::SetUseNativeColLabels", XS_Wx__Grid_SetUseNativeColLabels);
#endif
        newXS_deffile("Wx::Grid::SetCellAlignment", XS_Wx__Grid_SetCellAlignment);
        newXS_deffile("Wx::Grid::SetCellBackgroundColour", XS_Wx__Grid_SetCellBackgroundColour);
        newXS_deffile("Wx::Grid::SetCellHighlightColour", XS_Wx__Grid_SetCellHighlightColour);
        newXS_deffile("Wx::Grid::SetCellHighlightPenWidth", XS_Wx__Grid_SetCellHighlightPenWidth);
        newXS_deffile("Wx::Grid::SetCellHighlightROPenWidth", XS_Wx__Grid_SetCellHighlightROPenWidth);
        newXS_deffile("Wx::Grid::SetCellEditor", XS_Wx__Grid_SetCellEditor);
        newXS_deffile("Wx::Grid::SetCellRenderer", XS_Wx__Grid_SetCellRenderer);
        newXS_deffile("Wx::Grid::SetCellFont", XS_Wx__Grid_SetCellFont);
        newXS_deffile("Wx::Grid::SetCellTextColour", XS_Wx__Grid_SetCellTextColour);
        newXS_deffile("Wx::Grid::SetCellSize", XS_Wx__Grid_SetCellSize);
        newXS_deffile("Wx::Grid::SetCellOverflow", XS_Wx__Grid_SetCellOverflow);
        newXS_deffile("Wx::Grid::SetCellValueXY", XS_Wx__Grid_SetCellValueXY);
        newXS_deffile("Wx::Grid::SetCellValueCo", XS_Wx__Grid_SetCellValueCo);
        newXS_deffile("Wx::Grid::SetDefaultCellAlignment", XS_Wx__Grid_SetDefaultCellAlignment);
        newXS_deffile("Wx::Grid::SetDefaultCellBackgroundColour", XS_Wx__Grid_SetDefaultCellBackgroundColour);
        newXS_deffile("Wx::Grid::SetDefaultCellFont", XS_Wx__Grid_SetDefaultCellFont);
        newXS_deffile("Wx::Grid::SetDefaultCellOverflow", XS_Wx__Grid_SetDefaultCellOverflow);
        newXS_deffile("Wx::Grid::SetDefaultCellTextColour", XS_Wx__Grid_SetDefaultCellTextColour);
        newXS_deffile("Wx::Grid::SetDefaultColSize", XS_Wx__Grid_SetDefaultColSize);
        newXS_deffile("Wx::Grid::SetDefaultEditor", XS_Wx__Grid_SetDefaultEditor);
        newXS_deffile("Wx::Grid::SetDefaultRenderer", XS_Wx__Grid_SetDefaultRenderer);
        newXS_deffile("Wx::Grid::SetDefaultRowSize", XS_Wx__Grid_SetDefaultRowSize);
        newXS_deffile("Wx::Grid::SetColAttr", XS_Wx__Grid_SetColAttr);
        newXS_deffile("Wx::Grid::SetColFormatBool", XS_Wx__Grid_SetColFormatBool);
        newXS_deffile("Wx::Grid::SetColFormatNumber", XS_Wx__Grid_SetColFormatNumber);
        newXS_deffile("Wx::Grid::SetColFormatFloat", XS_Wx__Grid_SetColFormatFloat);
        newXS_deffile("Wx::Grid::SetColFormatCustom", XS_Wx__Grid_SetColFormatCustom);
        newXS_deffile("Wx::Grid::SetColLabelAlignment", XS_Wx__Grid_SetColLabelAlignment);
        newXS_deffile("Wx::Grid::SetColLabelSize", XS_Wx__Grid_SetColLabelSize);
        newXS_deffile("Wx::Grid::SetColLabelValue", XS_Wx__Grid_SetColLabelValue);
        newXS_deffile("Wx::Grid::SetColMinimalAcceptableWidth", XS_Wx__Grid_SetColMinimalAcceptableWidth);
        newXS_deffile("Wx::Grid::SetRowMinimalAcceptableHeight", XS_Wx__Grid_SetRowMinimalAcceptableHeight);
        newXS_deffile("Wx::Grid::SetColMinimalWidth", XS_Wx__Grid_SetColMinimalWidth);
        newXS_deffile("Wx::Grid::SetColSize", XS_Wx__Grid_SetColSize);
#if XSubPPtmpAAAV
        newXS_deffile("Wx::Grid::SetColPos", XS_Wx__Grid_SetColPos);
#endif
        newXS_deffile("Wx::Grid::SetGridCursor", XS_Wx__Grid_SetGridCursor);
        newXS_deffile("Wx::Grid::SetGridLineColour", XS_Wx__Grid_SetGridLineColour);
        newXS_deffile("Wx::Grid::SetLabelBackgroundColour", XS_Wx__Grid_SetLabelBackgroundColour);
        newXS_deffile("Wx::Grid::SetLabelFont", XS_Wx__Grid_SetLabelFont);
        newXS_deffile("Wx::Grid::SetLabelTextColour", XS_Wx__Grid_SetLabelTextColour);
        newXS_deffile("Wx::Grid::SetMargins", XS_Wx__Grid_SetMargins);
        newXS_deffile("Wx::Grid::SetReadOnly", XS_Wx__Grid_SetReadOnly);
        newXS_deffile("Wx::Grid::SetRowAttr", XS_Wx__Grid_SetRowAttr);
        newXS_deffile("Wx::Grid::SetRowLabelAlignment", XS_Wx__Grid_SetRowLabelAlignment);
        newXS_deffile("Wx::Grid::SetRowLabelSize", XS_Wx__Grid_SetRowLabelSize);
        newXS_deffile("Wx::Grid::SetRowLabelValue", XS_Wx__Grid_SetRowLabelValue);
        newXS_deffile("Wx::Grid::SetRowMinimalHeight", XS_Wx__Grid_SetRowMinimalHeight);
        newXS_deffile("Wx::Grid::SetRowSize", XS_Wx__Grid_SetRowSize);
        newXS_deffile("Wx::Grid::SetSelectionBackground", XS_Wx__Grid_SetSelectionBackground);
        newXS_deffile("Wx::Grid::SetSelectionForeground", XS_Wx__Grid_SetSelectionForeground);
        newXS_deffile("Wx::Grid::SetSelectionMode", XS_Wx__Grid_SetSelectionMode);
        newXS_deffile("Wx::Grid::SetTable", XS_Wx__Grid_SetTable);
        newXS_deffile("Wx::Grid::ShowCellEditControl", XS_Wx__Grid_ShowCellEditControl);
        newXS_deffile("Wx::Grid::XToCol", XS_Wx__Grid_XToCol);
        newXS_deffile("Wx::Grid::XToEdgeOfCol", XS_Wx__Grid_XToEdgeOfCol);
        newXS_deffile("Wx::Grid::YToRow", XS_Wx__Grid_YToRow);
        newXS_deffile("Wx::Grid::YToEdgeOfRow", XS_Wx__Grid_YToEdgeOfRow);
        newXS_deffile("Wx::Grid::GetGridWindow", XS_Wx__Grid_GetGridWindow);
        newXS_deffile("Wx::Grid::GetGridRowLabelWindow", XS_Wx__Grid_GetGridRowLabelWindow);
        newXS_deffile("Wx::Grid::GetGridColLabelWindow", XS_Wx__Grid_GetGridColLabelWindow);
        newXS_deffile("Wx::GridTableBase::Destroy", XS_Wx__GridTableBase_Destroy);
        newXS_deffile("Wx::GridTableBase::GetNumberRows", XS_Wx__GridTableBase_GetNumberRows);
        newXS_deffile("Wx::GridTableBase::GetNumberCols", XS_Wx__GridTableBase_GetNumberCols);
#if XSubPPtmpAAAW
        newXS_deffile("Wx::GridTableBase::GetRowsCount", XS_Wx__GridTableBase_GetRowsCount);
        newXS_deffile("Wx::GridTableBase::GetColsCount", XS_Wx__GridTableBase_GetColsCount);
#endif
#if XSubPPtmpAAAX
        newXS_deffile("Wx::GridTableBase::IsEmptyCell", XS_Wx__GridTableBase_IsEmptyCell);
#endif
#if XSubPPtmpAAAY
        newXS_deffile("Wx::GridTableBase::IsEmptyCell", XS_Wx__GridTableBase_IsEmptyCell);
#endif
#if XSubPPtmpAAAZ
        newXS_deffile("Wx::GridTableBase::IsEmpty", XS_Wx__GridTableBase_IsEmpty);
#endif
        newXS_deffile("Wx::GridTableBase::GetValue", XS_Wx__GridTableBase_GetValue);
        newXS_deffile("Wx::GridTableBase::SetValue", XS_Wx__GridTableBase_SetValue);
        newXS_deffile("Wx::GridTableBase::GetTypeName", XS_Wx__GridTableBase_GetTypeName);
        newXS_deffile("Wx::GridTableBase::CanGetValueAs", XS_Wx__GridTableBase_CanGetValueAs);
        newXS_deffile("Wx::GridTableBase::CanSetValueAs", XS_Wx__GridTableBase_CanSetValueAs);
        newXS_deffile("Wx::GridTableBase::GetValueAsLong", XS_Wx__GridTableBase_GetValueAsLong);
        newXS_deffile("Wx::GridTableBase::GetValueAsDouble", XS_Wx__GridTableBase_GetValueAsDouble);
        newXS_deffile("Wx::GridTableBase::GetValueAsBool", XS_Wx__GridTableBase_GetValueAsBool);
        newXS_deffile("Wx::GridTableBase::SetValueAsLong", XS_Wx__GridTableBase_SetValueAsLong);
        newXS_deffile("Wx::GridTableBase::SetValueAsDouble", XS_Wx__GridTableBase_SetValueAsDouble);
        newXS_deffile("Wx::GridTableBase::SetValueAsBool", XS_Wx__GridTableBase_SetValueAsBool);
        newXS_deffile("Wx::GridTableBase::SetView", XS_Wx__GridTableBase_SetView);
        newXS_deffile("Wx::GridTableBase::GetView", XS_Wx__GridTableBase_GetView);
        newXS_deffile("Wx::GridTableBase::Clear", XS_Wx__GridTableBase_Clear);
        newXS_deffile("Wx::GridTableBase::InsertRows", XS_Wx__GridTableBase_InsertRows);
        newXS_deffile("Wx::GridTableBase::AppendRows", XS_Wx__GridTableBase_AppendRows);
        newXS_deffile("Wx::GridTableBase::DeleteRows", XS_Wx__GridTableBase_DeleteRows);
        newXS_deffile("Wx::GridTableBase::InsertCols", XS_Wx__GridTableBase_InsertCols);
        newXS_deffile("Wx::GridTableBase::AppendCols", XS_Wx__GridTableBase_AppendCols);
        newXS_deffile("Wx::GridTableBase::DeleteCols", XS_Wx__GridTableBase_DeleteCols);
        newXS_deffile("Wx::GridTableBase::GetRowLabelValue", XS_Wx__GridTableBase_GetRowLabelValue);
        newXS_deffile("Wx::GridTableBase::GetColLabelValue", XS_Wx__GridTableBase_GetColLabelValue);
        newXS_deffile("Wx::GridTableBase::SetRowLabelValue", XS_Wx__GridTableBase_SetRowLabelValue);
        newXS_deffile("Wx::GridTableBase::SetColLabelValue", XS_Wx__GridTableBase_SetColLabelValue);
        newXS_deffile("Wx::GridTableBase::SetAttrProvider", XS_Wx__GridTableBase_SetAttrProvider);
        newXS_deffile("Wx::GridTableBase::GetAttrProvider", XS_Wx__GridTableBase_GetAttrProvider);
        newXS_deffile("Wx::GridTableBase::GetAttr", XS_Wx__GridTableBase_GetAttr);
        newXS_deffile("Wx::GridTableBase::SetAttr", XS_Wx__GridTableBase_SetAttr);
        newXS_deffile("Wx::GridTableBase::SetRowAttr", XS_Wx__GridTableBase_SetRowAttr);
        newXS_deffile("Wx::GridTableBase::SetColAttr", XS_Wx__GridTableBase_SetColAttr);
        newXS_deffile("Wx::GridTableBase::CanHaveAttributes", XS_Wx__GridTableBase_CanHaveAttributes);
#if XSubPPtmpAABA
        newXS_deffile("Wx::PlGridTable::new", XS_Wx__PlGridTable_new);
#if XSubPPtmpAABB
        newXS_deffile("Wx::PlGridTable::IsEmptyCell", XS_Wx__PlGridTable_IsEmptyCell);
#endif
#if XSubPPtmpAABC
        newXS_deffile("Wx::PlGridTable::GetTypeName", XS_Wx__PlGridTable_GetTypeName);
#endif
#if XSubPPtmpAABD
        newXS_deffile("Wx::PlGridTable::CanGetValueAs", XS_Wx__PlGridTable_CanGetValueAs);
#endif
#if XSubPPtmpAABE
        newXS_deffile("Wx::PlGridTable::CanSetValueAs", XS_Wx__PlGridTable_CanSetValueAs);
#endif
#if XSubPPtmpAABF
        newXS_deffile("Wx::PlGridTable::GetValueAsLong", XS_Wx__PlGridTable_GetValueAsLong);
#endif
#if XSubPPtmpAABG
        newXS_deffile("Wx::PlGridTable::GetValueAsDouble", XS_Wx__PlGridTable_GetValueAsDouble);
#endif
#if XSubPPtmpAABH
        newXS_deffile("Wx::PlGridTable::GetValueAsBool", XS_Wx__PlGridTable_GetValueAsBool);
#endif
#if XSubPPtmpAABI
        newXS_deffile("Wx::PlGridTable::SetValueAsLong", XS_Wx__PlGridTable_SetValueAsLong);
#endif
#if XSubPPtmpAABJ
        newXS_deffile("Wx::PlGridTable::SetValueAsDouble", XS_Wx__PlGridTable_SetValueAsDouble);
#endif
#if XSubPPtmpAABK
        newXS_deffile("Wx::PlGridTable::SetValueAsBool", XS_Wx__PlGridTable_SetValueAsBool);
#endif
#if XSubPPtmpAABL
        newXS_deffile("Wx::PlGridTable::SetView", XS_Wx__PlGridTable_SetView);
#endif
#if XSubPPtmpAABM
        newXS_deffile("Wx::PlGridTable::GetView", XS_Wx__PlGridTable_GetView);
#endif
#if XSubPPtmpAABN
        newXS_deffile("Wx::PlGridTable::Clear", XS_Wx__PlGridTable_Clear);
#endif
#if XSubPPtmpAABO
        newXS_deffile("Wx::PlGridTable::InsertRows", XS_Wx__PlGridTable_InsertRows);
#endif
#if XSubPPtmpAABP
        newXS_deffile("Wx::PlGridTable::AppendRows", XS_Wx__PlGridTable_AppendRows);
#endif
#if XSubPPtmpAABQ
        newXS_deffile("Wx::PlGridTable::DeleteRows", XS_Wx__PlGridTable_DeleteRows);
#endif
#if XSubPPtmpAABR
        newXS_deffile("Wx::PlGridTable::InsertCols", XS_Wx__PlGridTable_InsertCols);
#endif
#if XSubPPtmpAABS
        newXS_deffile("Wx::PlGridTable::AppendCols", XS_Wx__PlGridTable_AppendCols);
#endif
#if XSubPPtmpAABT
        newXS_deffile("Wx::PlGridTable::DeleteCols", XS_Wx__PlGridTable_DeleteCols);
#endif
#if XSubPPtmpAABU
        newXS_deffile("Wx::PlGridTable::GetRowLabelValue", XS_Wx__PlGridTable_GetRowLabelValue);
#endif
#if XSubPPtmpAABV
        newXS_deffile("Wx::PlGridTable::GetColLabelValue", XS_Wx__PlGridTable_GetColLabelValue);
#endif
#if XSubPPtmpAABW
        newXS_deffile("Wx::PlGridTable::SetRowLabelValue", XS_Wx__PlGridTable_SetRowLabelValue);
#endif
#if XSubPPtmpAABX
        newXS_deffile("Wx::PlGridTable::SetColLabelValue", XS_Wx__PlGridTable_SetColLabelValue);
#endif
#if XSubPPtmpAABY
        newXS_deffile("Wx::PlGridTable::GetAttr", XS_Wx__PlGridTable_GetAttr);
#endif
#if XSubPPtmpAABZ
        newXS_deffile("Wx::PlGridTable::SetAttr", XS_Wx__PlGridTable_SetAttr);
#endif
#if XSubPPtmpAACA
        newXS_deffile("Wx::PlGridTable::SetRowAttr", XS_Wx__PlGridTable_SetRowAttr);
#endif
#if XSubPPtmpAACB
        newXS_deffile("Wx::PlGridTable::SetColAttr", XS_Wx__PlGridTable_SetColAttr);
#endif
#if XSubPPtmpAACC
        newXS_deffile("Wx::PlGridTable::CanHaveAttributes", XS_Wx__PlGridTable_CanHaveAttributes);
#endif
#endif
        newXS_deffile("Wx::GridTableMessage::new", XS_Wx__GridTableMessage_new);
        newXS_deffile("Wx::GridTableMessage::CLONE", XS_Wx__GridTableMessage_CLONE);
        newXS_deffile("Wx::GridTableMessage::DESTROY", XS_Wx__GridTableMessage_DESTROY);
        newXS_deffile("Wx::GridTableMessage::SetTableObject", XS_Wx__GridTableMessage_SetTableObject);
        newXS_deffile("Wx::GridTableMessage::GetTableObject", XS_Wx__GridTableMessage_GetTableObject);
        newXS_deffile("Wx::GridTableMessage::SetId", XS_Wx__GridTableMessage_SetId);
        newXS_deffile("Wx::GridTableMessage::GetId", XS_Wx__GridTableMessage_GetId);
        newXS_deffile("Wx::GridTableMessage::SetCommandInt", XS_Wx__GridTableMessage_SetCommandInt);
        newXS_deffile("Wx::GridTableMessage::GetCommandInt", XS_Wx__GridTableMessage_GetCommandInt);
        newXS_deffile("Wx::GridTableMessage::SetCommandInt2", XS_Wx__GridTableMessage_SetCommandInt2);
        newXS_deffile("Wx::GridTableMessage::GetCommandInt2", XS_Wx__GridTableMessage_GetCommandInt2);
        newXS_deffile("Wx::Grid::SetEvents", XS_Wx__Grid_SetEvents);

    /* Initialisation Section */

  INIT_PLI_HELPERS( wx_pli_helpers );

#if XSubPPtmpAAAA
#endif
#if XSubPPtmpAAAB
#endif
#if XSubPPtmpAAAC
#endif
#if XSubPPtmpAAAD
#endif
#if XSubPPtmpAAAE
#endif
#if XSubPPtmpAAAF
#endif
#if XSubPPtmpAAAG
#endif
#if XSubPPtmpAAAH
#endif
#if XSubPPtmpAAAI
#endif
#if XSubPPtmpAAAJ
#endif
#if XSubPPtmpAAAK
#endif
#if XSubPPtmpAAAL
#endif
#if XSubPPtmpAAAM
#endif
#if XSubPPtmpAAAN
#endif
#if XSubPPtmpAAAO
#endif
#if XSubPPtmpAAAP
#endif
#if XSubPPtmpAAAQ
#endif
#if XSubPPtmpAAAR
#endif
#if XSubPPtmpAAAS
#endif
#if XSubPPtmpAAAT
#endif
#if XSubPPtmpAAAU
#endif
#if XSubPPtmpAAAV
#endif
#if XSubPPtmpAAAW
#endif
#if XSubPPtmpAAAX
#endif
#if XSubPPtmpAAAY
#endif
#if XSubPPtmpAAAZ
#endif
    {
        AV* isa = get_av( "Wx::GridTableBase::ISA", 1 );
        av_store( isa, 0, newSVpv( "Wx::Object", 0 ) );
    } // blank line here is important

#if XSubPPtmpAABA
#if XSubPPtmpAABB
#endif
#if XSubPPtmpAABC
#endif
#if XSubPPtmpAABD
#endif
#if XSubPPtmpAABE
#endif
#if XSubPPtmpAABF
#endif
#if XSubPPtmpAABG
#endif
#if XSubPPtmpAABH
#endif
#if XSubPPtmpAABI
#endif
#if XSubPPtmpAABJ
#endif
#if XSubPPtmpAABK
#endif
#if XSubPPtmpAABL
#endif
#if XSubPPtmpAABM
#endif
#if XSubPPtmpAABN
#endif
#if XSubPPtmpAABO
#endif
#if XSubPPtmpAABP
#endif
#if XSubPPtmpAABQ
#endif
#if XSubPPtmpAABR
#endif
#if XSubPPtmpAABS
#endif
#if XSubPPtmpAABT
#endif
#if XSubPPtmpAABU
#endif
#if XSubPPtmpAABV
#endif
#if XSubPPtmpAABW
#endif
#if XSubPPtmpAABX
#endif
#if XSubPPtmpAABY
#endif
#if XSubPPtmpAABZ
#endif
#if XSubPPtmpAACA
#endif
#if XSubPPtmpAACB
#endif
#if XSubPPtmpAACC
#endif
    {
        AV* isa = get_av( "Wx::PlGridTable::ISA", 1 );
        av_store( isa, 0, newSVpv( "Wx::GridTableBase", 0 ) );
    } // blank line here is important

#endif

    /* End of Initialisation Section */

#if PERL_VERSION_LE(5, 21, 5)
#  if PERL_VERSION_GE(5, 9, 0)
    if (PL_unitcheckav)
        call_list(PL_scopestack_ix, PL_unitcheckav);
#  endif
    XSRETURN_YES;
#else
    Perl_xs_boot_epilog(aTHX_ ax);
#endif
}

