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

/////////////////////////////////////////////////////////////////////////////
// Name:        ext/calendar/Calendar.xs
// Purpose:     XS for Wx::DateTime
// Author:      Mattia Barbon
// Modified by:
// Created:     22/09/2002
// RCS-ID:      $Id: Calendar.xs 3224 2012-03-18 05:19:08Z mdootson $
// Copyright:   (c) 2002, 2005-2006, 2008-2010 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"
#include "cpp/constants.h"
#include "cpp/overload.h"

#define wxDefaultDateTimePtr (wxDateTime*)&wxDefaultDateTime
#define wxDefaultValidatorPtr (wxValidator*)&wxDefaultValidator
#define wxDateTime__WeekDay wxDateTime::WeekDay

#undef THIS

#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_COMMAND:  Including output of '/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp XS/DatePickerCtrl.xsp' from 'Calendar.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if WXPERL_W_VERSION_GE( 2, 5, 4 )
#define XSpp_7911bda7_013353
#include <wx/event.h>
#include <wx/datectrl.h>
#include <wx/calctrl.h>
#include "xspp/datectrl.h"
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)
#define XSubPPtmpAAAA 1


XS_EUPXS(XS_Wx__DatePickerCtrl_newDefault); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__DatePickerCtrl_newDefault)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxDatePickerCtrl *	RETVAL;
     RETVAL = new wxDatePickerCtrl();
                wxPli_create_evthandler( aTHX_ RETVAL, 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)
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__DatePickerCtrl_newFull); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__DatePickerCtrl_newFull)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 9)
       croak_xs_usage(cv,  "CLASS, parent, id= wxID_ANY, date= wxDefaultDateTimePtr, pos= wxDefaultPosition, size= wxDefaultSize, style= wxDP_STYLE, validator= wxDefaultValidatorPtr, name= wxDatePickerCtrlNameStr");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxDatePickerCtrl *	RETVAL;
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxWindowID	id;
	wxDateTime*	date;
	wxPoint	pos;
	wxSize	size;
	long	style;
	wxValidator*	validator;
	wxString	name;

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

	if (items < 4)
	    date = wxDefaultDateTimePtr;
	else {
    date = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::DateTime" )
;
	}

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

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

	if (items < 7)
	    style = wxDP_STYLE;
	else {
	    style = (long)SvIV(ST(6))
;
	}

	if (items < 8)
	    validator = wxDefaultValidatorPtr;
	else {
    validator = (wxValidator *) wxPli_sv_2_object( aTHX_ ST(7), "Wx::Validator" )
;
	}

	if (items < 9)
	    name = wxDatePickerCtrlNameStr;
	else {
    WXSTRING_INPUT( name, wxString, ST(8) )
;
	}
     RETVAL = new wxDatePickerCtrl( parent, id, *date, pos, size,
                                               style, *validator, name );
                wxPli_create_evthandler( aTHX_ RETVAL, 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)

XS_EUPXS(XS_Wx__DatePickerCtrl_Create); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__DatePickerCtrl_Create)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 9)
       croak_xs_usage(cv,  "THIS, parent, id= wxID_ANY, dt= wxDefaultDateTimePtr, pos= wxDefaultPosition, size= wxDefaultSize, style= wxDP_STYLE, validator= wxDefaultValidatorPtr, name= wxDatePickerCtrlNameStr");
    {
	wxDatePickerCtrl *    THIS = (wxDatePickerCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DatePickerCtrl" )
;
	bool	RETVAL;
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxWindowID	id;
	wxDateTime*	dt;
	wxPoint	pos;
	wxSize	size;
	long	style;
	wxValidator*	validator;
	wxString	name;

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

	if (items < 4)
	    dt = wxDefaultDateTimePtr;
	else {
    dt = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::DateTime" )
;
	}

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

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

	if (items < 7)
	    style = wxDP_STYLE;
	else {
	    style = (long)SvIV(ST(6))
;
	}

	if (items < 8)
	    validator = wxDefaultValidatorPtr;
	else {
    validator = (wxValidator *) wxPli_sv_2_object( aTHX_ ST(7), "Wx::Validator" )
;
	}

	if (items < 9)
	    name = wxDatePickerCtrlNameStr;
	else {
    WXSTRING_INPUT( name, wxString, ST(8) )
;
	}
    try {
      RETVAL = THIS->Create( parent, id, *( dt ), pos, size, style, *( validator ), name );
    }
    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__DatePickerCtrl_SetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__DatePickerCtrl_SetValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, dt");
    {
	wxDatePickerCtrl *    THIS = (wxDatePickerCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DatePickerCtrl" )
;
	wxDateTime*    dt = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DateTime" )
;
    try {
      THIS->SetValue( *( dt ) );
    }
    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__DatePickerCtrl_GetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__DatePickerCtrl_GetValue)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxDatePickerCtrl *    THIS = (wxDatePickerCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DatePickerCtrl" )
;
	wxDateTime *	RETVAL;
    try {
      RETVAL = new wxDateTime( THIS->GetValue() );
    }
    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::DateTime" );
    wxPli_thread_sv_register( aTHX_ "Wx::DateTime", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__DatePickerCtrl_SetRange); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__DatePickerCtrl_SetRange)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, dt1, dt2");
    {
	wxDatePickerCtrl *    THIS = (wxDatePickerCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DatePickerCtrl" )
;
	wxDateTime*    dt1 = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DateTime" )
;
	wxDateTime*    dt2 = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::DateTime" )
;
    try {
      THIS->SetRange( *( dt1 ), *( dt2 ) );
    }
    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__DatePickerCtrl_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__DatePickerCtrl_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::DatePickerCtrl::new" )
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Wx__DatePickerCtrl_GetRange); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__DatePickerCtrl_GetRange)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	wxDatePickerCtrl *    THIS = (wxDatePickerCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DatePickerCtrl" )
;
    wxDateTime dt1, dt2;
    bool ok = THIS->GetRange( &dt1, &dt2 );

    if( !ok )
        return;

    EXTEND( SP, 2 );
    PUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(), new wxDateTime( dt1 ),
                                  "Wx::DateTime" ) );
    PUSHs( wxPli_non_object_2_sv( aTHX_ sv_newmortal(), new wxDateTime( dt2 ),
                                  "Wx::DateTime" ) );
	PUTBACK;
	return;
    }
}

#endif

/* INCLUDE: Returning to 'Calendar.xs' from '/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp XS/DatePickerCtrl.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp XS/CalendarCtrl.xsp' from 'Calendar.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#include <wx/event.h>
#include <wx/calctrl.h>
#include "xspp/calendar.h"
#if WXPERL_W_VERSION_GE( 2, 5, 4 )
#define XSpp_9ab157d4_095552
#define XSubPPtmpAAAB 1


XS_EUPXS(XS_Wx__DateEvent_GetDate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__DateEvent_GetDate)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxDateEvent *    THIS = (wxDateEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DateEvent" )
;
	wxDateTime *	RETVAL;
    try {
      RETVAL = new wxDateTime( THIS->GetDate() );
    }
    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::DateTime" );
    wxPli_thread_sv_register( aTHX_ "Wx::DateTime", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__DateEvent_SetDate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__DateEvent_SetDate)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, date");
    {
	wxDateEvent *    THIS = (wxDateEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::DateEvent" )
;
	wxDateTime*    date = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DateTime" )
;
    try {
      THIS->SetDate( *( date ) );
    }
    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
#if WXPERL_W_VERSION_LE( 2, 5, 3 ) && WXPERL_W_VERSION_GE( 2, 5, 2 )
#define XSpp_9ab157d4_096588
#define XSubPPtmpAAAC 1


XS_EUPXS(XS_Wx__CalendarEvent_SetDate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarEvent_SetDate)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, date");
    {
	wxCalendarEvent *    THIS = (wxCalendarEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarEvent" )
;
	wxDateTime*    date = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DateTime" )
;
    try {
      THIS->SetDate( *( date ) );
    }
    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__CalendarEvent_SetWeekDay); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarEvent_SetWeekDay)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, weekDay");
    {
	wxCalendarEvent *    THIS = (wxCalendarEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarEvent" )
;
	wxDateTime__WeekDay	weekDay = (wxDateTime__WeekDay)SvIV(ST(1))
;
    try {
      THIS->SetWeekDay( weekDay );
    }
    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
#if WXPERL_W_VERSION_LE( 2, 5, 3 )
#define XSpp_9ab157d4_036578
#define XSubPPtmpAAAD 1


XS_EUPXS(XS_Wx__CalendarEvent_GetDate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarEvent_GetDate)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarEvent *    THIS = (wxCalendarEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarEvent" )
;
	wxDateTime *	RETVAL;
    try {
      RETVAL = new wxDateTime( THIS->GetDate() );
    }
    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::DateTime" );
    wxPli_thread_sv_register( aTHX_ "Wx::DateTime", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__CalendarEvent_GetWeekDay); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarEvent_GetWeekDay)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarEvent *    THIS = (wxCalendarEvent *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarEvent" )
;
	wxDateTime__WeekDay	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetWeekDay();
    }
    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);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__CalendarCtrl_newDefault); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_newDefault)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxCalendarCtrl *	RETVAL;
     RETVAL = new wxCalendarCtrl();
                wxPli_create_evthandler( aTHX_ RETVAL, 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)
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__CalendarCtrl_newFull); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_newFull)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 8)
       croak_xs_usage(cv,  "CLASS, parent, id= wxID_ANY, date= wxDefaultDateTimePtr, pos= wxDefaultPosition, size= wxDefaultSize, style= wxCAL_SHOW_HOLIDAYS, name= wxCalendarNameStr");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxCalendarCtrl *	RETVAL;
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxWindowID	id;
	wxDateTime*	date;
	wxPoint	pos;
	wxSize	size;
	long	style;
	wxString	name;

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

	if (items < 4)
	    date = wxDefaultDateTimePtr;
	else {
    date = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::DateTime" )
;
	}

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

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

	if (items < 7)
	    style = wxCAL_SHOW_HOLIDAYS;
	else {
	    style = (long)SvIV(ST(6))
;
	}

	if (items < 8)
	    name = wxCalendarNameStr;
	else {
    WXSTRING_INPUT( name, wxString, ST(7) )
;
	}
     RETVAL = new wxCalendarCtrl( parent, id, *date,
                                             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);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)

XS_EUPXS(XS_Wx__CalendarCtrl_Create); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_Create)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 8)
       croak_xs_usage(cv,  "THIS, parent, id= wxID_ANY, date= wxDefaultDateTimePtr, pos= wxDefaultPosition, size= wxDefaultSize, style= wxCAL_SHOW_HOLIDAYS, name= wxCalendarNameStr");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	bool	RETVAL;
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxWindowID	id;
	wxDateTime*	date;
	wxPoint	pos;
	wxSize	size;
	long	style;
	wxString	name;

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

	if (items < 4)
	    date = wxDefaultDateTimePtr;
	else {
    date = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::DateTime" )
;
	}

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

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

	if (items < 7)
	    style = wxCAL_SHOW_HOLIDAYS;
	else {
	    style = (long)SvIV(ST(6))
;
	}

	if (items < 8)
	    name = wxCalendarNameStr;
	else {
    WXSTRING_INPUT( name, wxString, ST(7) )
;
	}
    try {
      RETVAL = THIS->Create( parent, id, *( date ), pos, size, style, name );
    }
    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__CalendarCtrl_SetDate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_SetDate)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, date");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxDateTime*    date = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DateTime" )
;
    try {
      THIS->SetDate( *( date ) );
    }
    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__CalendarCtrl_GetDate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_GetDate)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxDateTime *	RETVAL;
    try {
      RETVAL = new wxDateTime( THIS->GetDate() );
    }
    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::DateTime" );
    wxPli_thread_sv_register( aTHX_ "Wx::DateTime", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if !defined(wxHAS_NATIVE_CALENDARCTRL)
#define XSpp_9ab157d4_093840
#define XSubPPtmpAAAE 1


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

	if (items < 2)
	    enable = true;
	else {
	    enable = (bool)SvTRUE(ST(1))
;
	}
    try {
      THIS->EnableYearChange( enable );
    }
    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

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

	if (items < 2)
	    enable = true;
	else {
	    enable = (bool)SvTRUE(ST(1))
;
	}
    try {
      THIS->EnableMonthChange( enable );
    }
    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__CalendarCtrl_EnableHolidayDisplay); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_EnableHolidayDisplay)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, display= true");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	bool	display;

	if (items < 2)
	    display = true;
	else {
	    display = (bool)SvTRUE(ST(1))
;
	}
    try {
      THIS->EnableHolidayDisplay( display );
    }
    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__CalendarCtrl_SetHoliday); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_SetHoliday)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, day");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	size_t    day = (size_t)SvUV( ST(1) )
;
    try {
      THIS->SetHoliday( day );
    }
    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;
}

#if !defined(wxHAS_NATIVE_CALENDARCTRL)
#define XSpp_9ab157d4_085861
#define XSubPPtmpAAAF 1


XS_EUPXS(XS_Wx__CalendarCtrl_SetLowerDateLimit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_SetLowerDateLimit)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, date= wxDefaultDateTimePtr");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	bool	RETVAL;
	wxDateTime*	date;

	if (items < 2)
	    date = wxDefaultDateTimePtr;
	else {
    date = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DateTime" )
;
	}
    try {
      RETVAL = THIS->SetLowerDateLimit( *( date ) );
    }
    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__CalendarCtrl_GetLowerDateLimit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_GetLowerDateLimit)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxDateTime *	RETVAL;
    try {
      RETVAL = new wxDateTime( THIS->GetLowerDateLimit() );
    }
    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::DateTime" );
    wxPli_thread_sv_register( aTHX_ "Wx::DateTime", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarCtrl_SetUpperDateLimit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_SetUpperDateLimit)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "THIS, date= wxDefaultDateTimePtr");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	bool	RETVAL;
	wxDateTime*	date;

	if (items < 2)
	    date = wxDefaultDateTimePtr;
	else {
    date = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DateTime" )
;
	}
    try {
      RETVAL = THIS->SetUpperDateLimit( *( date ) );
    }
    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__CalendarCtrl_GetUpperDateLimit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_GetUpperDateLimit)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxDateTime *	RETVAL;
    try {
      RETVAL = new wxDateTime( THIS->GetUpperDateLimit() );
    }
    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::DateTime" );
    wxPli_thread_sv_register( aTHX_ "Wx::DateTime", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Wx__CalendarCtrl_SetDateRange); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_SetDateRange)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 3)
       croak_xs_usage(cv,  "THIS, lowerdate= wxDefaultDateTimePtr, upperdate= wxDefaultDateTimePtr");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	bool	RETVAL;
	wxDateTime*	lowerdate;
	wxDateTime*	upperdate;

	if (items < 2)
	    lowerdate = wxDefaultDateTimePtr;
	else {
    lowerdate = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DateTime" )
;
	}

	if (items < 3)
	    upperdate = wxDefaultDateTimePtr;
	else {
    upperdate = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::DateTime" )
;
	}
    try {
      RETVAL = THIS->SetDateRange( *( lowerdate ), *( upperdate ) );
    }
    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__CalendarCtrl_SetHeaderColours); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_SetHeaderColours)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, colFg, colBg");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxColour*    colFg = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxColour*    colBg = (wxColour *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Colour" )
;
    try {
      THIS->SetHeaderColours( *( colFg ), *( colBg ) );
    }
    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__CalendarCtrl_SetHighlightColours); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_SetHighlightColours)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, colFg, colBg");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxColour*    colFg = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxColour*    colBg = (wxColour *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Colour" )
;
    try {
      THIS->SetHighlightColours( *( colFg ), *( colBg ) );
    }
    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__CalendarCtrl_SetHolidayColours); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_SetHolidayColours)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, colFg, colBg");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxColour*    colFg = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
	wxColour*    colBg = (wxColour *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::Colour" )
;
    try {
      THIS->SetHolidayColours( *( colFg ), *( colBg ) );
    }
    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__CalendarCtrl_GetHeaderColourFg); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_GetHeaderColourFg)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxColour *	RETVAL;
    try {
      RETVAL = new wxColour( THIS->GetHeaderColourFg() );
    }
    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::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarCtrl_GetHeaderColourBg); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_GetHeaderColourBg)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxColour *	RETVAL;
    try {
      RETVAL = new wxColour( THIS->GetHeaderColourBg() );
    }
    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::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarCtrl_GetHighlightColourFg); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_GetHighlightColourFg)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxColour *	RETVAL;
    try {
      RETVAL = new wxColour( THIS->GetHighlightColourFg() );
    }
    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::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarCtrl_GetHighlightColourBg); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_GetHighlightColourBg)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxColour *	RETVAL;
    try {
      RETVAL = new wxColour( THIS->GetHighlightColourBg() );
    }
    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::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarCtrl_GetHolidayColourFg); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_GetHolidayColourFg)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxColour *	RETVAL;
    try {
      RETVAL = new wxColour( THIS->GetHolidayColourFg() );
    }
    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::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarCtrl_GetHolidayColourBg); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_GetHolidayColourBg)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxColour *	RETVAL;
    try {
      RETVAL = new wxColour( THIS->GetHolidayColourBg() );
    }
    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::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarCtrl_GetAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_GetAttr)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, day");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	wxCalendarDateAttr *	RETVAL;
	size_t    day = (size_t)SvUV( ST(1) )
;
            RETVAL = THIS->GetAttr(day);
            RETVAL = RETVAL ? new wxCalendarDateAttr( *RETVAL ) : NULL;
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
    wxPli_non_object_2_sv( aTHX_ RETVALSV, RETVAL, "Wx::CalendarDateAttr" );
    wxPli_thread_sv_register( aTHX_ "Wx::CalendarDateAttr", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarCtrl_SetAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_SetAttr)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "THIS, day, attr");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	size_t    day = (size_t)SvUV( ST(1) )
;
	wxCalendarDateAttr*    attr = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(2), "Wx::CalendarDateAttr" )
;
            THIS->SetAttr( day,
                           attr ? new wxCalendarDateAttr( *attr ) : NULL );
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__CalendarCtrl_ResetAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_ResetAttr)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, day");
    {
	wxCalendarCtrl *    THIS = (wxCalendarCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarCtrl" )
;
	size_t    day = (size_t)SvUV( ST(1) )
;
    try {
      THIS->ResetAttr( day );
    }
    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__CalendarCtrl_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarCtrl_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::CalendarCtrl::new" )
	PUTBACK;
	return;
    }
}


/* INCLUDE: Returning to 'Calendar.xs' from '/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp XS/CalendarCtrl.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp XS/CalendarDateAttr.xsp' from 'Calendar.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#include <wx/event.h>
#include <wx/calctrl.h>
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)

XS_EUPXS(XS_Wx__CalendarDateAttr_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "CLASS");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxCalendarDateAttr *	RETVAL;
    try {
      RETVAL = new wxCalendarDateAttr();
    }
    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::CalendarDateAttr" );
    wxPli_thread_sv_register( aTHX_ "Wx::CalendarDateAttr", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)

XS_EUPXS(XS_Wx__CalendarDateAttr_CLONE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_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__CalendarDateAttr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
     wxPli_thread_sv_unregister( aTHX_ "Wx::CalendarDateAttr", THIS, ST(0) );
                delete THIS;
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Wx__CalendarDateAttr_SetTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_SetTextColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colText");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	wxColour*    colText = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
    try {
      THIS->SetTextColour( *( colText ) );
    }
    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__CalendarDateAttr_SetBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_SetBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, colBack");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	wxColour*    colBack = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
    try {
      THIS->SetBackgroundColour( *( colBack ) );
    }
    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__CalendarDateAttr_SetBorderColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_SetBorderColour)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, col");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	wxColour*    col = (wxColour *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Colour" )
;
    try {
      THIS->SetBorderColour( *( 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__CalendarDateAttr_SetFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_SetFont)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, font");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	wxFont*    font = (wxFont *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Font" )
;
    try {
      THIS->SetFont( *( font ) );
    }
    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__CalendarDateAttr_SetBorder); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_SetBorder)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, border");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	wxCalendarDateBorder	border = (wxCalendarDateBorder)SvIV(ST(1))
;
    try {
      THIS->SetBorder( border );
    }
    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__CalendarDateAttr_SetHoliday); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_SetHoliday)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, holiday");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	bool	holiday = (bool)SvTRUE(ST(1))
;
    try {
      THIS->SetHoliday( holiday );
    }
    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__CalendarDateAttr_HasTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_HasTextColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->HasTextColour();
    }
    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__CalendarDateAttr_HasBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_HasBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->HasBackgroundColour();
    }
    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__CalendarDateAttr_HasBorderColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_HasBorderColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->HasBorderColour();
    }
    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__CalendarDateAttr_HasFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_HasFont)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->HasFont();
    }
    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__CalendarDateAttr_HasBorder); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_HasBorder)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->HasBorder();
    }
    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__CalendarDateAttr_IsHoliday); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_IsHoliday)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	bool	RETVAL;
    try {
      RETVAL = THIS->IsHoliday();
    }
    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__CalendarDateAttr_GetTextColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_GetTextColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	wxColour *	RETVAL;
    try {
      RETVAL = new wxColour( THIS->GetTextColour() );
    }
    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::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarDateAttr_GetBackgroundColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_GetBackgroundColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	wxColour *	RETVAL;
    try {
      RETVAL = new wxColour( THIS->GetBackgroundColour() );
    }
    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::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarDateAttr_GetBorderColour); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_GetBorderColour)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	wxColour *	RETVAL;
    try {
      RETVAL = new wxColour( THIS->GetBorderColour() );
    }
    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::Colour" );
    wxPli_thread_sv_register( aTHX_ "Wx::Colour", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarDateAttr_GetFont); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_GetFont)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	wxFont *	RETVAL;
    try {
      RETVAL = new wxFont( THIS->GetFont() );
    }
    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 );
    wxPli_thread_sv_register( aTHX_ "Wx::Font", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__CalendarDateAttr_GetBorder); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__CalendarDateAttr_GetBorder)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxCalendarDateAttr *    THIS = (wxCalendarDateAttr *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::CalendarDateAttr" )
;
	wxCalendarDateBorder	RETVAL;
	dXSTARG;
    try {
      RETVAL = THIS->GetBorder();
    }
    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 'Calendar.xs' from '/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp XS/CalendarDateAttr.xsp' */


/* INCLUDE_COMMAND:  Including output of '/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp XS/TimePickerCtrl.xsp' from 'Calendar.xs' */

#include <exception>

#undef  xsp_constructor_class
#define xsp_constructor_class(c) (c)
#if WXPERL_W_VERSION_GE( 2, 9, 3 ) && wxUSE_TIMEPICKCTRL
#define XSpp_dbf28be2_023495
#include <wx/timectrl.h>
#include "xspp/timectrl.h"
#undef  xsp_constructor_class
#define xsp_constructor_class(c) (CLASS)
#define XSubPPtmpAAAG 1


XS_EUPXS(XS_Wx__TimePickerCtrl_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TimePickerCtrl_new)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 9)
       croak_xs_usage(cv,  "CLASS, parent, id, dt= wxDefaultDateTimePtr, pos= wxDefaultPosition, size= wxDefaultSize, style= wxTP_DEFAULT, validator= wxDefaultValidatorPtr, name= \"timectrl\"");
    {
	char *	CLASS = (char *)SvPV_nolen(ST(0))
;
	wxTimePickerCtrl *	RETVAL;
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxWindowID    id = wxPli_get_wxwindowid( aTHX_ ST(2) )
;
	wxDateTime*	dt;
	wxPoint	pos;
	wxSize	size;
	long	style;
	wxValidator*	validator;
	wxString	name;

	if (items < 4)
	    dt = wxDefaultDateTimePtr;
	else {
    dt = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::DateTime" )
;
	}

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

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

	if (items < 7)
	    style = wxTP_DEFAULT;
	else {
	    style = (long)SvIV(ST(6))
;
	}

	if (items < 8)
	    validator = wxDefaultValidatorPtr;
	else {
    validator = (wxValidator *) wxPli_sv_2_object( aTHX_ ST(7), "Wx::Validator" )
;
	}

	if (items < 9)
	    name = "timectrl";
	else {
    WXSTRING_INPUT( name, wxString, ST(8) )
;
	}
    try {
      RETVAL = new wxTimePickerCtrl( parent, id, *( dt ), pos, size, style, *( validator ), name );
    }
    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");
    }
     wxPli_create_evthandler( aTHX_ RETVAL, 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)

XS_EUPXS(XS_Wx__TimePickerCtrl_Create); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TimePickerCtrl_Create)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 9)
       croak_xs_usage(cv,  "THIS, parent, id, dt= wxDefaultDateTimePtr, pos= wxDefaultPosition, size= wxDefaultSize, style= wxTP_DEFAULT, validator= wxDefaultValidatorPtr, name= \"timectrl\"");
    {
	wxTimePickerCtrl *    THIS = (wxTimePickerCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TimePickerCtrl" )
;
	bool	RETVAL;
	wxWindow*    parent = (wxWindow *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::Window" )
;
	wxWindowID    id = wxPli_get_wxwindowid( aTHX_ ST(2) )
;
	wxDateTime*	dt;
	wxPoint	pos;
	wxSize	size;
	long	style;
	wxValidator*	validator;
	wxString	name;

	if (items < 4)
	    dt = wxDefaultDateTimePtr;
	else {
    dt = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(3), "Wx::DateTime" )
;
	}

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

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

	if (items < 7)
	    style = wxTP_DEFAULT;
	else {
	    style = (long)SvIV(ST(6))
;
	}

	if (items < 8)
	    validator = wxDefaultValidatorPtr;
	else {
    validator = (wxValidator *) wxPli_sv_2_object( aTHX_ ST(7), "Wx::Validator" )
;
	}

	if (items < 9)
	    name = "timectrl";
	else {
    WXSTRING_INPUT( name, wxString, ST(8) )
;
	}
    try {
      RETVAL = THIS->Create( parent, id, *( dt ), pos, size, style, *( validator ), name );
    }
    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__TimePickerCtrl_GetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TimePickerCtrl_GetValue)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "THIS");
    {
	wxTimePickerCtrl *    THIS = (wxTimePickerCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TimePickerCtrl" )
;
	wxDateTime *	RETVAL;
    try {
      RETVAL = new wxDateTime( THIS->GetValue() );
    }
    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::DateTime" );
    wxPli_thread_sv_register( aTHX_ "Wx::DateTime", RETVAL, RETVALSV );
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Wx__TimePickerCtrl_SetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Wx__TimePickerCtrl_SetValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "THIS, dt");
    {
	wxTimePickerCtrl *    THIS = (wxTimePickerCtrl *) wxPli_sv_2_object( aTHX_ ST(0), "Wx::TimePickerCtrl" )
;
	wxDateTime*    dt = (wxDateTime *) wxPli_sv_2_object( aTHX_ ST(1), "Wx::DateTime" )
;
    try {
      THIS->SetValue( *( dt ) );
    }
    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

/* INCLUDE: Returning to 'Calendar.xs' from '/usr/bin/perl -MExtUtils::XSpp::Cmd -e xspp -- -t ../../typemap.xsp XS/TimePickerCtrl.xsp' */

#if defined(__WXMSW__)
#undef XS
#define XS( name ) WXXS( name )
#endif
#ifdef __cplusplus
extern "C"
#endif
XS_EXTERNAL(boot_Wx__Calendar); /* prototype to pass -Wmissing-prototypes */
XS_EXTERNAL(boot_Wx__Calendar)
{
#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

#if XSubPPtmpAAAA
        newXS_deffile("Wx::DatePickerCtrl::newDefault", XS_Wx__DatePickerCtrl_newDefault);
        newXS_deffile("Wx::DatePickerCtrl::newFull", XS_Wx__DatePickerCtrl_newFull);
        newXS_deffile("Wx::DatePickerCtrl::Create", XS_Wx__DatePickerCtrl_Create);
        newXS_deffile("Wx::DatePickerCtrl::SetValue", XS_Wx__DatePickerCtrl_SetValue);
        newXS_deffile("Wx::DatePickerCtrl::GetValue", XS_Wx__DatePickerCtrl_GetValue);
        newXS_deffile("Wx::DatePickerCtrl::SetRange", XS_Wx__DatePickerCtrl_SetRange);
        newXS_deffile("Wx::DatePickerCtrl::new", XS_Wx__DatePickerCtrl_new);
        newXS_deffile("Wx::DatePickerCtrl::GetRange", XS_Wx__DatePickerCtrl_GetRange);
#endif
#if XSubPPtmpAAAB
        newXS_deffile("Wx::DateEvent::GetDate", XS_Wx__DateEvent_GetDate);
        newXS_deffile("Wx::DateEvent::SetDate", XS_Wx__DateEvent_SetDate);
#endif
#if XSubPPtmpAAAC
        newXS_deffile("Wx::CalendarEvent::SetDate", XS_Wx__CalendarEvent_SetDate);
        newXS_deffile("Wx::CalendarEvent::SetWeekDay", XS_Wx__CalendarEvent_SetWeekDay);
#endif
#if XSubPPtmpAAAD
        newXS_deffile("Wx::CalendarEvent::GetDate", XS_Wx__CalendarEvent_GetDate);
#endif
        newXS_deffile("Wx::CalendarEvent::GetWeekDay", XS_Wx__CalendarEvent_GetWeekDay);
        newXS_deffile("Wx::CalendarCtrl::newDefault", XS_Wx__CalendarCtrl_newDefault);
        newXS_deffile("Wx::CalendarCtrl::newFull", XS_Wx__CalendarCtrl_newFull);
        newXS_deffile("Wx::CalendarCtrl::Create", XS_Wx__CalendarCtrl_Create);
        newXS_deffile("Wx::CalendarCtrl::SetDate", XS_Wx__CalendarCtrl_SetDate);
        newXS_deffile("Wx::CalendarCtrl::GetDate", XS_Wx__CalendarCtrl_GetDate);
#if XSubPPtmpAAAE
        newXS_deffile("Wx::CalendarCtrl::EnableYearChange", XS_Wx__CalendarCtrl_EnableYearChange);
#endif
        newXS_deffile("Wx::CalendarCtrl::EnableMonthChange", XS_Wx__CalendarCtrl_EnableMonthChange);
        newXS_deffile("Wx::CalendarCtrl::EnableHolidayDisplay", XS_Wx__CalendarCtrl_EnableHolidayDisplay);
        newXS_deffile("Wx::CalendarCtrl::SetHoliday", XS_Wx__CalendarCtrl_SetHoliday);
#if XSubPPtmpAAAF
        newXS_deffile("Wx::CalendarCtrl::SetLowerDateLimit", XS_Wx__CalendarCtrl_SetLowerDateLimit);
        newXS_deffile("Wx::CalendarCtrl::GetLowerDateLimit", XS_Wx__CalendarCtrl_GetLowerDateLimit);
        newXS_deffile("Wx::CalendarCtrl::SetUpperDateLimit", XS_Wx__CalendarCtrl_SetUpperDateLimit);
        newXS_deffile("Wx::CalendarCtrl::GetUpperDateLimit", XS_Wx__CalendarCtrl_GetUpperDateLimit);
#endif
        newXS_deffile("Wx::CalendarCtrl::SetDateRange", XS_Wx__CalendarCtrl_SetDateRange);
        newXS_deffile("Wx::CalendarCtrl::SetHeaderColours", XS_Wx__CalendarCtrl_SetHeaderColours);
        newXS_deffile("Wx::CalendarCtrl::SetHighlightColours", XS_Wx__CalendarCtrl_SetHighlightColours);
        newXS_deffile("Wx::CalendarCtrl::SetHolidayColours", XS_Wx__CalendarCtrl_SetHolidayColours);
        newXS_deffile("Wx::CalendarCtrl::GetHeaderColourFg", XS_Wx__CalendarCtrl_GetHeaderColourFg);
        newXS_deffile("Wx::CalendarCtrl::GetHeaderColourBg", XS_Wx__CalendarCtrl_GetHeaderColourBg);
        newXS_deffile("Wx::CalendarCtrl::GetHighlightColourFg", XS_Wx__CalendarCtrl_GetHighlightColourFg);
        newXS_deffile("Wx::CalendarCtrl::GetHighlightColourBg", XS_Wx__CalendarCtrl_GetHighlightColourBg);
        newXS_deffile("Wx::CalendarCtrl::GetHolidayColourFg", XS_Wx__CalendarCtrl_GetHolidayColourFg);
        newXS_deffile("Wx::CalendarCtrl::GetHolidayColourBg", XS_Wx__CalendarCtrl_GetHolidayColourBg);
        newXS_deffile("Wx::CalendarCtrl::GetAttr", XS_Wx__CalendarCtrl_GetAttr);
        newXS_deffile("Wx::CalendarCtrl::SetAttr", XS_Wx__CalendarCtrl_SetAttr);
        newXS_deffile("Wx::CalendarCtrl::ResetAttr", XS_Wx__CalendarCtrl_ResetAttr);
        newXS_deffile("Wx::CalendarCtrl::new", XS_Wx__CalendarCtrl_new);
        newXS_deffile("Wx::CalendarDateAttr::new", XS_Wx__CalendarDateAttr_new);
        newXS_deffile("Wx::CalendarDateAttr::CLONE", XS_Wx__CalendarDateAttr_CLONE);
        newXS_deffile("Wx::CalendarDateAttr::DESTROY", XS_Wx__CalendarDateAttr_DESTROY);
        newXS_deffile("Wx::CalendarDateAttr::SetTextColour", XS_Wx__CalendarDateAttr_SetTextColour);
        newXS_deffile("Wx::CalendarDateAttr::SetBackgroundColour", XS_Wx__CalendarDateAttr_SetBackgroundColour);
        newXS_deffile("Wx::CalendarDateAttr::SetBorderColour", XS_Wx__CalendarDateAttr_SetBorderColour);
        newXS_deffile("Wx::CalendarDateAttr::SetFont", XS_Wx__CalendarDateAttr_SetFont);
        newXS_deffile("Wx::CalendarDateAttr::SetBorder", XS_Wx__CalendarDateAttr_SetBorder);
        newXS_deffile("Wx::CalendarDateAttr::SetHoliday", XS_Wx__CalendarDateAttr_SetHoliday);
        newXS_deffile("Wx::CalendarDateAttr::HasTextColour", XS_Wx__CalendarDateAttr_HasTextColour);
        newXS_deffile("Wx::CalendarDateAttr::HasBackgroundColour", XS_Wx__CalendarDateAttr_HasBackgroundColour);
        newXS_deffile("Wx::CalendarDateAttr::HasBorderColour", XS_Wx__CalendarDateAttr_HasBorderColour);
        newXS_deffile("Wx::CalendarDateAttr::HasFont", XS_Wx__CalendarDateAttr_HasFont);
        newXS_deffile("Wx::CalendarDateAttr::HasBorder", XS_Wx__CalendarDateAttr_HasBorder);
        newXS_deffile("Wx::CalendarDateAttr::IsHoliday", XS_Wx__CalendarDateAttr_IsHoliday);
        newXS_deffile("Wx::CalendarDateAttr::GetTextColour", XS_Wx__CalendarDateAttr_GetTextColour);
        newXS_deffile("Wx::CalendarDateAttr::GetBackgroundColour", XS_Wx__CalendarDateAttr_GetBackgroundColour);
        newXS_deffile("Wx::CalendarDateAttr::GetBorderColour", XS_Wx__CalendarDateAttr_GetBorderColour);
        newXS_deffile("Wx::CalendarDateAttr::GetFont", XS_Wx__CalendarDateAttr_GetFont);
        newXS_deffile("Wx::CalendarDateAttr::GetBorder", XS_Wx__CalendarDateAttr_GetBorder);
#if XSubPPtmpAAAG
        newXS_deffile("Wx::TimePickerCtrl::new", XS_Wx__TimePickerCtrl_new);
        newXS_deffile("Wx::TimePickerCtrl::Create", XS_Wx__TimePickerCtrl_Create);
        newXS_deffile("Wx::TimePickerCtrl::GetValue", XS_Wx__TimePickerCtrl_GetValue);
        newXS_deffile("Wx::TimePickerCtrl::SetValue", XS_Wx__TimePickerCtrl_SetValue);
#endif

    /* 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
    {
#ifdef XSpp_dbf28be2_023495
        AV* isa = get_av( "Wx::TimePickerCtrl::ISA", 1 );
        av_store( isa, 0, newSVpv( "wxControl", 0 ) );
#endif // XSpp_dbf28be2_023495
    } // 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
}

