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

#include "sipAPI_core.h"
        #include <wx/sizer.h>
        #include <wx/window.h>
        #include <wx/sizer.h>
        #include <wx/sizer.h>
        #include <wx/gdicmn.h>
        #include <wx/gdicmn.h>
        #include <wx/gdicmn.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>
    wxPyUserData* _wxSizerItem_GetUserData(const wxSizerItem* self)
    {
        return dynamic_cast<wxPyUserData*>(self->GetUserData());
    }


PyDoc_STRVAR(doc_wxSizerItem_AssignSpacer, "AssignSpacer(size) -> None\n"
"AssignSpacer(w, h) -> None\n"
"\n"
"Set the size of the spacer tracked by this item.\n"
"");

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

    {
        const ::wxSize* size;
        int sizeState = 0;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxSizerItem, &sipCpp, sipType_wxSize, &size, &sizeState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AssignSpacer(*size);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxSize *>(size), sipType_wxSize, sizeState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int w;
        int h;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxSizerItem, &sipCpp, &w, &h))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AssignSpacer(w, h);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_AssignSpacer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_SetRatio, "SetRatio(width, height) -> None\n"
"SetRatio(size) -> None\n"
"SetRatio(ratio) -> None\n"
"\n"
"Set the ratio item attribute.\n"
"\n"
"");

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

    {
        int width;
        int height;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxSizerItem, &sipCpp, &width, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRatio(width, height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        ::wxSize* size;
        int sizeState = 0;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxSizerItem, &sipCpp, sipType_wxSize, &size, &sizeState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRatio(*size);
            Py_END_ALLOW_THREADS
            sipReleaseType(size, sipType_wxSize, sizeState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        float ratio;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bf", &sipSelf, sipType_wxSizerItem, &sipCpp, &ratio))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRatio(ratio);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_SetRatio, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_AssignWindow, "AssignWindow(window) -> None\n"
"\n"
"Set the window to be tracked by this item.");

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

    {
        ::wxWindow* window;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxSizerItem, &sipCpp, sipType_wxWindow, &window))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AssignWindow(window);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_AssignWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_AssignSizer, "AssignSizer(sizer) -> None\n"
"\n"
"Set the sizer tracked by this item.");

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

    {
        ::wxSizer* sizer;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ:", &sipSelf, sipType_wxSizerItem, &sipCpp, sipType_wxSizer, &sizer))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AssignSizer(sizer);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_AssignSizer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_CalcMin, "CalcMin() -> Size\n"
"\n"
"Calculates the minimum desired size for the item, including any space\n"
"needed by borders.");

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

    {
        ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize(sipCpp->CalcMin());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_CalcMin, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_DeleteWindows, "DeleteWindows() -> None\n"
"\n"
"Destroy the window or the windows in a subsizer, depending on the type\n"
"of item.");

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

    {
        ::wxSizerItem *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DeleteWindows();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_DeleteWindows, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_DetachSizer, "DetachSizer() -> None\n"
"\n"
"Enable deleting the SizerItem without destroying the contained sizer.");

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

    {
        ::wxSizerItem *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DetachSizer();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_DetachSizer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetBorder, "GetBorder() -> int\n"
"\n"
"Return the border attribute.");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetBorder();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetBorder, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetFlag, "GetFlag() -> int\n"
"\n"
"Return the flags attribute.");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFlag();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetFlag, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetId, "GetId() -> int\n"
"\n"
"Return the numeric id of wxSizerItem, or wxID_NONE if the id has not\n"
"been set.");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetId();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetId, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetMinSize, "GetMinSize() -> Size\n"
"\n"
"Get the minimum size needed for the item.");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize(sipCpp->GetMinSize());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetMinSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_SetMinSize, "SetMinSize(size) -> None\n"
"SetMinSize(x, y) -> None\n"
"\n"
"Sets the minimum size to be allocated for this item.\n"
"");

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

    {
        const ::wxSize* size;
        int sizeState = 0;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxSizerItem, &sipCpp, sipType_wxSize, &size, &sizeState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetMinSize(*size);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxSize *>(size), sipType_wxSize, sizeState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int x;
        int y;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxSizerItem, &sipCpp, &x, &y))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetMinSize(x, y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_SetMinSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetPosition, "GetPosition() -> Point\n"
"\n"
"What is the current position of the item, as set in the last Layout.");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPoint(sipCpp->GetPosition());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetProportion, "GetProportion() -> int\n"
"\n"
"Get the proportion item attribute.");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetProportion();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetProportion, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetRatio, "GetRatio() -> float\n"
"\n"
"Get the ratio item attribute.");

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

    {
        const ::wxSizerItem *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxSizerItem, &sipCpp))
        {
            float sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetRatio();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyFloat_FromDouble((double)sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetRatio, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetRect, "GetRect() -> Rect\n"
"\n"
"Get the rectangle of the item on the parent window, excluding borders.");

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

    {
        ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxRect(sipCpp->GetRect());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetRect, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetSize, "GetSize() -> Size\n"
"\n"
"Get the current size of the item, as set in the last Layout.");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize(sipCpp->GetSize());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetSizer, "GetSizer() -> Sizer\n"
"\n"
"If this item is tracking a sizer, return it.");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetSizer();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetSizer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetSpacer, "GetSpacer() -> Size\n"
"\n"
"If this item is tracking a spacer, return its size.");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize(sipCpp->GetSpacer());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetSpacer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetUserData, "GetUserData() -> PyUserData\n"
"\n"
"Get the userData item attribute.");

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

    {
        const ::wxSizerItem *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxSizerItem, &sipCpp))
        {
            ::wxPyUserData*sipRes = 0;
            int sipIsErr = 0;
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxSizerItem_GetUserData(sipCpp);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;

            if (sipIsErr)
                return 0;

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

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetUserData, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_GetWindow, "GetWindow() -> Window\n"
"\n"
"If this item is tracking a window then return it.");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetWindow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_GetWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_IsShown, "IsShown() -> bool\n"
"\n"
"Returns true if this item is a window or a spacer and it is shown or\n"
"if this item is a sizer and not all of its elements are hidden.");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsShown();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_IsShown, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_IsSizer, "IsSizer() -> bool\n"
"\n"
"Is this item a sizer?");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsSizer();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_IsSizer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_IsSpacer, "IsSpacer() -> bool\n"
"\n"
"Is this item a spacer?");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsSpacer();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_IsSpacer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_IsWindow, "IsWindow() -> bool\n"
"\n"
"Is this item a window?");

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

    {
        const ::wxSizerItem *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsWindow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_IsWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_SetBorder, "SetBorder(border) -> None\n"
"\n"
"Set the border item attribute.");

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

    {
        int border;
        ::wxSizerItem *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetBorder(border);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_SetBorder, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_SetDimension, "SetDimension(pos, size) -> None\n"
"\n"
"Set the position and size of the space allocated to the sizer, and\n"
"adjust the position and size of the item to be within that space\n"
"taking alignment and borders into account.");

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

    {
        const ::wxPoint* pos;
        int posState = 0;
        const ::wxSize* size;
        int sizeState = 0;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1", &sipSelf, sipType_wxSizerItem, &sipCpp, sipType_wxPoint, &pos, &posState, sipType_wxSize, &size, &sizeState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDimension(*pos, *size);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint *>(pos), sipType_wxPoint, posState);
            sipReleaseType(const_cast< ::wxSize *>(size), sipType_wxSize, sizeState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_SetDimension, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_SetFlag, "SetFlag(flag) -> None\n"
"\n"
"Set the flag item attribute.");

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

    {
        int flag;
        ::wxSizerItem *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetFlag(flag);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_SetFlag, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_SetId, "SetId(id) -> None\n"
"\n"
"Sets the numeric id of the wxSizerItem to id.");

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

    {
        int id;
        ::wxSizerItem *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetId(id);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_SetId, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_SetInitSize, "SetInitSize(x, y) -> None\n"
"\n"
"Sets the minimum size to be allocated for this item.");

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

    {
        int x;
        int y;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxSizerItem, &sipCpp, &x, &y))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetInitSize(x, y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_SetInitSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_SetProportion, "SetProportion(proportion) -> None\n"
"\n"
"Set the proportion item attribute.");

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

    {
        int proportion;
        ::wxSizerItem *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetProportion(proportion);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_SetProportion, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_SetUserData, "SetUserData(userData) -> None");

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

    {
        ::wxPyUserData* userData;
        int userDataState = 0;
        ::wxSizerItem *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ2", &sipSelf, sipType_wxSizerItem, &sipCpp, sipType_wxPyUserData, &userData, &userDataState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetUserData(userData);
            Py_END_ALLOW_THREADS
            sipReleaseType(userData, sipType_wxPyUserData, userDataState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_SetUserData, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxSizerItem_Show, "Show(show) -> None\n"
"\n"
"Set the show item attribute, which sizers use to determine if the item\n"
"is to be made part of the layout or not.");

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

    {
        bool show;
        ::wxSizerItem *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Show(show);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_SizerItem, sipName_Show, SIP_NULLPTR);

    return SIP_NULLPTR;
}


/* Cast a pointer to a type somewhere in its inheritance hierarchy. */
extern "C" {static void *cast_wxSizerItem(void *, const sipTypeDef *);}
static void *cast_wxSizerItem(void *sipCppV, const sipTypeDef *targetType)
{
    ::wxSizerItem *sipCpp = reinterpret_cast< ::wxSizerItem *>(sipCppV);

    if (targetType == sipType_wxSizerItem)
        return sipCppV;

    if (targetType == sipType_wxObject)
        return static_cast< ::wxObject *>(sipCpp);

    return SIP_NULLPTR;
}


/* Call the instance's destructor. */
extern "C" {static void release_wxSizerItem(void *, int);}
static void release_wxSizerItem(void *sipCppV, int)
{
    Py_BEGIN_ALLOW_THREADS

    delete reinterpret_cast< ::wxSizerItem *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void dealloc_wxSizerItem(sipSimpleWrapper *);}
static void dealloc_wxSizerItem(sipSimpleWrapper *sipSelf)
{
    if (sipIsOwnedByPython(sipSelf))
    {
        release_wxSizerItem(sipGetAddress(sipSelf), 0);
    }
}


extern "C" {static void *init_type_wxSizerItem(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_wxSizerItem(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    ::wxSizerItem *sipCpp = SIP_NULLPTR;

    {
        ::wxWindow* window;
        const ::wxSizerFlags* flags;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "J8J9", sipType_wxWindow, &window, sipType_wxSizerFlags, &flags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxSizerItem(window, *flags);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
        ::wxWindow* window;
        int proportion = 0;
        int flag = 0;
        int border = 0;
        ::wxPyUserData* userData = 0;
        int userDataState = 0;

        static const char *sipKwdList[] = {
            sipName_window,
            sipName_proportion,
            sipName_flag,
            sipName_border,
            sipName_userData,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "#J8|iiiJ2", sipSelf, sipType_wxWindow, &window, &proportion, &flag, &border, sipType_wxPyUserData, &userData, &userDataState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxSizerItem(window, proportion, flag, border, userData);
            Py_END_ALLOW_THREADS
            sipReleaseType(userData, sipType_wxPyUserData, userDataState);

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
        ::wxSizer* sizer;
        const ::wxSizerFlags* flags;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "#J:J9", sipSelf, sipType_wxSizer, &sizer, sipType_wxSizerFlags, &flags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxSizerItem(sizer, *flags);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
        ::wxSizer* sizer;
        int proportion = 0;
        int flag = 0;
        int border = 0;
        ::wxPyUserData* userData = 0;
        int userDataState = 0;

        static const char *sipKwdList[] = {
            sipName_sizer,
            sipName_proportion,
            sipName_flag,
            sipName_border,
            sipName_userData,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "#J:|iiiJ2", sipSelf, sipType_wxSizer, &sizer, &proportion, &flag, &border, sipType_wxPyUserData, &userData, &userDataState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxSizerItem(sizer, proportion, flag, border, userData);
            Py_END_ALLOW_THREADS
            sipReleaseType(userData, sipType_wxPyUserData, userDataState);

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
        int width;
        int height;
        int proportion = 0;
        int flag = 0;
        int border = 0;
        ::wxPyUserData* userData = 0;
        int userDataState = 0;

        static const char *sipKwdList[] = {
            sipName_width,
            sipName_height,
            sipName_proportion,
            sipName_flag,
            sipName_border,
            sipName_userData,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "#ii|iiiJ2", sipSelf, &width, &height, &proportion, &flag, &border, sipType_wxPyUserData, &userData, &userDataState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxSizerItem(width, height, proportion, flag, border, userData);
            Py_END_ALLOW_THREADS
            sipReleaseType(userData, sipType_wxPyUserData, userDataState);

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


/* Define this type's super-types. */
static sipEncodedTypeDef supers_wxSizerItem[] = {{392, 255, 1}};


static PyMethodDef methods_wxSizerItem[] = {
    {sipName_AssignSizer, SIP_MLMETH_CAST(meth_wxSizerItem_AssignSizer), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_AssignSizer},
    {sipName_AssignSpacer, SIP_MLMETH_CAST(meth_wxSizerItem_AssignSpacer), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_AssignSpacer},
    {sipName_AssignWindow, SIP_MLMETH_CAST(meth_wxSizerItem_AssignWindow), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_AssignWindow},
    {sipName_CalcMin, meth_wxSizerItem_CalcMin, METH_VARARGS, doc_wxSizerItem_CalcMin},
    {sipName_DeleteWindows, meth_wxSizerItem_DeleteWindows, METH_VARARGS, doc_wxSizerItem_DeleteWindows},
    {sipName_DetachSizer, meth_wxSizerItem_DetachSizer, METH_VARARGS, doc_wxSizerItem_DetachSizer},
    {sipName_GetBorder, meth_wxSizerItem_GetBorder, METH_VARARGS, doc_wxSizerItem_GetBorder},
    {sipName_GetFlag, meth_wxSizerItem_GetFlag, METH_VARARGS, doc_wxSizerItem_GetFlag},
    {sipName_GetId, meth_wxSizerItem_GetId, METH_VARARGS, doc_wxSizerItem_GetId},
    {sipName_GetMinSize, meth_wxSizerItem_GetMinSize, METH_VARARGS, doc_wxSizerItem_GetMinSize},
    {sipName_GetPosition, meth_wxSizerItem_GetPosition, METH_VARARGS, doc_wxSizerItem_GetPosition},
    {sipName_GetProportion, meth_wxSizerItem_GetProportion, METH_VARARGS, doc_wxSizerItem_GetProportion},
    {sipName_GetRatio, meth_wxSizerItem_GetRatio, METH_VARARGS, doc_wxSizerItem_GetRatio},
    {sipName_GetRect, meth_wxSizerItem_GetRect, METH_VARARGS, doc_wxSizerItem_GetRect},
    {sipName_GetSize, meth_wxSizerItem_GetSize, METH_VARARGS, doc_wxSizerItem_GetSize},
    {sipName_GetSizer, meth_wxSizerItem_GetSizer, METH_VARARGS, doc_wxSizerItem_GetSizer},
    {sipName_GetSpacer, meth_wxSizerItem_GetSpacer, METH_VARARGS, doc_wxSizerItem_GetSpacer},
    {sipName_GetUserData, meth_wxSizerItem_GetUserData, METH_VARARGS, doc_wxSizerItem_GetUserData},
    {sipName_GetWindow, meth_wxSizerItem_GetWindow, METH_VARARGS, doc_wxSizerItem_GetWindow},
    {sipName_IsShown, meth_wxSizerItem_IsShown, METH_VARARGS, doc_wxSizerItem_IsShown},
    {sipName_IsSizer, meth_wxSizerItem_IsSizer, METH_VARARGS, doc_wxSizerItem_IsSizer},
    {sipName_IsSpacer, meth_wxSizerItem_IsSpacer, METH_VARARGS, doc_wxSizerItem_IsSpacer},
    {sipName_IsWindow, meth_wxSizerItem_IsWindow, METH_VARARGS, doc_wxSizerItem_IsWindow},
    {sipName_SetBorder, SIP_MLMETH_CAST(meth_wxSizerItem_SetBorder), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_SetBorder},
    {sipName_SetDimension, SIP_MLMETH_CAST(meth_wxSizerItem_SetDimension), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_SetDimension},
    {sipName_SetFlag, SIP_MLMETH_CAST(meth_wxSizerItem_SetFlag), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_SetFlag},
    {sipName_SetId, SIP_MLMETH_CAST(meth_wxSizerItem_SetId), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_SetId},
    {sipName_SetInitSize, SIP_MLMETH_CAST(meth_wxSizerItem_SetInitSize), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_SetInitSize},
    {sipName_SetMinSize, SIP_MLMETH_CAST(meth_wxSizerItem_SetMinSize), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_SetMinSize},
    {sipName_SetProportion, SIP_MLMETH_CAST(meth_wxSizerItem_SetProportion), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_SetProportion},
    {sipName_SetRatio, SIP_MLMETH_CAST(meth_wxSizerItem_SetRatio), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_SetRatio},
    {sipName_SetUserData, SIP_MLMETH_CAST(meth_wxSizerItem_SetUserData), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_SetUserData},
    {sipName_Show, SIP_MLMETH_CAST(meth_wxSizerItem_Show), METH_VARARGS|METH_KEYWORDS, doc_wxSizerItem_Show}
};

sipVariableDef variables_wxSizerItem[] = {
    {PropertyVariable, sipName_Window, &methods_wxSizerItem[18], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_UserData, &methods_wxSizerItem[17], &methods_wxSizerItem[31], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Spacer, &methods_wxSizerItem[16], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Sizer, &methods_wxSizerItem[15], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Size, &methods_wxSizerItem[14], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Rect, &methods_wxSizerItem[13], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Ratio, &methods_wxSizerItem[12], &methods_wxSizerItem[30], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Proportion, &methods_wxSizerItem[11], &methods_wxSizerItem[29], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Position, &methods_wxSizerItem[10], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_MinSize, &methods_wxSizerItem[9], &methods_wxSizerItem[28], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Id, &methods_wxSizerItem[8], &methods_wxSizerItem[26], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Flag, &methods_wxSizerItem[7], &methods_wxSizerItem[25], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Border, &methods_wxSizerItem[6], &methods_wxSizerItem[23], SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxSizerItem, "SizerItem(window, flags) -> None\n"
"SizerItem(window, proportion=0, flag=0, border=0, userData=None) -> None\n"
"SizerItem(sizer, flags) -> None\n"
"SizerItem(sizer, proportion=0, flag=0, border=0, userData=None) -> None\n"
"SizerItem(width, height, proportion=0, flag=0, border=0, userData=None) -> None\n"
"\n"
"The wxSizerItem class is used to track the position, size and other\n"
"attributes of each item managed by a wxSizer.");


sipClassTypeDef sipTypeDef__core_wxSizerItem = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxSizerItem,
        SIP_NULLPTR,
        SIP_NULLPTR,
    },
    {
        sipNameNr_SizerItem,
        {0, 0, 1},
        33, methods_wxSizerItem,
        0, SIP_NULLPTR,
        13, variables_wxSizerItem,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxSizerItem,
    -1,
    -1,
    supers_wxSizerItem,
    SIP_NULLPTR,
    init_type_wxSizerItem,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxSizerItem,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_wxSizerItem,
    cast_wxSizerItem,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    sizeof (::wxSizerItem),
};
