sip 6: handling of UTF-8 in Docstrings

Scott Talbert swt at techie.net
Tue Aug 3 20:36:42 BST 2021


Hi,

I encountered a strange problem after building wxPython with sip 6.  When 
importing wxPython, I got this UnicodeDecodeError:

rawhide$ python -c "import wx;print(wx.version())"
Traceback (most recent call last):
   File "<string>", line 1, in <module>
   File "/usr/lib64/python3.10/site-packages/wx/__init__.py", line 17, in 
<module>
     from wx.core import *
   File "/usr/lib64/python3.10/site-packages/wx/core.py", line 12, in 
<module>
     from ._core import *
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 261: 
invalid continuation byte
free(): invalid size
Aborted (core dumped)

Upon investigating further, it seems that the root cause is that there is 
a UTF-8 character in one of wxPython's docstrings and sip 6.1.1 doesn't 
seem to handle this correctly, whereas sip 5.5.0 does.  Attached is the 
.sip file as well as the .cpp files generated by both sip 5 and sip 6 so 
you can see the difference:

3398c3183
< "the wxListCtrl  it can be thought of as a façade for that 
complicated\n"
---
> "the wxListCtrl  it can be thought of as a fa\xffffffc3\xffffffa7ade for 
that complicated\n"

Scott
-------------- next part --------------
/*
 * Interface wrapper code.
 *
 * Generated by SIP 5.5.0
 *
 *     Copyright: (c) 2018 by Total Control Software
 *     License:   wxWindows License
 */

#include "sipAPI_core.h"

        #include <wx/listctrl.h>

        #include <wx/window.h>
        #include <wx/gdicmn.h>
        #include <wx/gdicmn.h>
        #include <wx/validate.h>
        #include <wx/window.h>
        #include <wx/event.h>
        #include <wx/listctrl.h>
        #include <wx/colour.h>
        #include <wx/font.h>
        #include <wx/listctrl.h>
        #include <wx/imaglist.h>
        #include <wx/gdicmn.h>
        #include <wx/textctrl.h>
    #include <wx/setup.h>
    #include <wxPython/wxpy_api.h>
        #include <wx/dc.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/cursor.h>
        #include <wx/caret.h>
        #include <wx/layout.h>
        #include <wx/sizer.h>
        #include <wx/dnd.h>
        #include <wx/access.h>
        #include <wx/accel.h>
        #include <wx/menu.h>
        #include <wx/tooltip.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/palette.h>
        #include <wx/region.h>
        
        #include <wx/eventfilter.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>


class sipwxListView : public  ::wxListView
{
public:
    sipwxListView();
    sipwxListView( ::wxWindow*, ::wxWindowID,const  ::wxPoint&,const  ::wxSize&,long,const  ::wxValidator&,const  ::wxString&);
    virtual ~sipwxListView();

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
    void sipProtect_SendDestroyEvent();
     ::wxListItemAttr* sipProtectVirt_OnGetItemAttr(bool,long) const;
    int sipProtectVirt_OnGetItemColumnImage(bool,long,long) const;
    int sipProtectVirt_OnGetItemImage(bool,long) const;
     ::wxString sipProtectVirt_OnGetItemText(bool,long,long) const;
    bool sipProtectVirt_ProcessEvent(bool, ::wxEvent&);
    void sipProtectVirt_DoEnable(bool,bool);
    void sipProtectVirt_DoGetPosition(bool,int*,int*) const;
    void sipProtectVirt_DoGetSize(bool,int*,int*) const;
    void sipProtectVirt_DoGetClientSize(bool,int*,int*) const;
     ::wxSize sipProtectVirt_DoGetBestSize(bool) const;
     ::wxSize sipProtectVirt_DoGetBestClientSize(bool) const;
    void sipProtectVirt_DoSetSize(bool,int,int,int,int,int);
    void sipProtectVirt_DoSetClientSize(bool,int,int);
    void sipProtectVirt_DoSetSizeHints(bool,int,int,int,int,int,int);
     ::wxSize sipProtectVirt_DoGetBorderSize(bool) const;
    void sipProtectVirt_DoMoveWindow(bool,int,int,int,int);
    void sipProtectVirt_DoSetWindowVariant(bool, ::wxWindowVariant);
     ::wxBorder sipProtectVirt_GetDefaultBorder(bool) const;
     ::wxBorder sipProtectVirt_GetDefaultBorderForControl(bool) const;
    void sipProtectVirt_DoFreeze(bool);
    void sipProtectVirt_DoThaw(bool);
    bool sipProtectVirt_HasTransparentBackground(bool);
    bool sipProtectVirt_TryBefore(bool, ::wxEvent&);
    bool sipProtectVirt_TryAfter(bool, ::wxEvent&);

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

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[43];
};

sipwxListView::sipwxListView():  ::wxListView(), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxListView::sipwxListView( ::wxWindow*parent, ::wxWindowID winid,const  ::wxPoint& pos,const  ::wxSize& size,long style,const  ::wxValidator& validator,const  ::wxString& name):  ::wxListView(parent,winid,pos,size,style,validator,name), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[0], &sipPySelf, SIP_NULLPTR, sipName_RemoveChild);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[0], sipPySelf, SIP_NULLPTR, sipName_RemoveChild);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[1], &sipPySelf, SIP_NULLPTR, sipName_AddChild);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[1], sipPySelf, SIP_NULLPTR, sipName_AddChild);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[2], &sipPySelf, SIP_NULLPTR, sipName_ProcessEvent);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[2], sipPySelf, SIP_NULLPTR, sipName_ProcessEvent);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[3], &sipPySelf, SIP_NULLPTR, sipName_TryBefore);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[3], sipPySelf, SIP_NULLPTR, sipName_TryBefore);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[4], &sipPySelf, SIP_NULLPTR, sipName_TryAfter);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[4], sipPySelf, SIP_NULLPTR, sipName_TryAfter);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[5]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_AcceptsFocus);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[6]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_AcceptsFocusFromKeyboard);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[7]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_AcceptsFocusRecursively);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[8], &sipPySelf, SIP_NULLPTR, sipName_SetCanFocus);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[8], sipPySelf, SIP_NULLPTR, sipName_SetCanFocus);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[9], &sipPySelf, SIP_NULLPTR, sipName_InformFirstDirection);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[9], sipPySelf, SIP_NULLPTR, sipName_InformFirstDirection);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[10]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetClientAreaOrigin);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[11], &sipPySelf, SIP_NULLPTR, sipName_HasTransparentBackground);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[11], sipPySelf, SIP_NULLPTR, sipName_HasTransparentBackground);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[12]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_ShouldInheritColours);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[13], &sipPySelf, SIP_NULLPTR, sipName_GetValidator);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[13], sipPySelf, SIP_NULLPTR, sipName_GetValidator);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[14], &sipPySelf, SIP_NULLPTR, sipName_SetValidator);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[14], sipPySelf, SIP_NULLPTR, sipName_SetValidator);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[15], &sipPySelf, SIP_NULLPTR, sipName_TransferDataFromWindow);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[15], sipPySelf, SIP_NULLPTR, sipName_TransferDataFromWindow);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[16], &sipPySelf, SIP_NULLPTR, sipName_TransferDataToWindow);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[16], sipPySelf, SIP_NULLPTR, sipName_TransferDataToWindow);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[17], &sipPySelf, SIP_NULLPTR, sipName_Validate);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[17], sipPySelf, SIP_NULLPTR, sipName_Validate);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[18], &sipPySelf, SIP_NULLPTR, sipName_Destroy);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[18], sipPySelf, SIP_NULLPTR, sipName_Destroy);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[19], &sipPySelf, SIP_NULLPTR, sipName_InheritAttributes);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[19], sipPySelf, SIP_NULLPTR, sipName_InheritAttributes);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[20], &sipPySelf, SIP_NULLPTR, sipName_InitDialog);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[20], sipPySelf, SIP_NULLPTR, sipName_InitDialog);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[21], &sipPySelf, SIP_NULLPTR, sipName_OnInternalIdle);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[21], sipPySelf, SIP_NULLPTR, sipName_OnInternalIdle);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[22], &sipPySelf, SIP_NULLPTR, sipName_GetMainWindowOfCompositeControl);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[22], sipPySelf, SIP_NULLPTR, sipName_GetMainWindowOfCompositeControl);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[23], &sipPySelf, SIP_NULLPTR, sipName_DoEnable);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[23], sipPySelf, SIP_NULLPTR, sipName_DoEnable);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[24]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_DoGetPosition);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[25]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_DoGetSize);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[26]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_DoGetClientSize);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[27], &sipPySelf, SIP_NULLPTR, sipName_DoSetSize);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[27], sipPySelf, SIP_NULLPTR, sipName_DoSetSize);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[28], &sipPySelf, SIP_NULLPTR, sipName_DoSetClientSize);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[28], sipPySelf, SIP_NULLPTR, sipName_DoSetClientSize);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[29], &sipPySelf, SIP_NULLPTR, sipName_DoSetSizeHints);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[29], sipPySelf, SIP_NULLPTR, sipName_DoSetSizeHints);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[30]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_DoGetBorderSize);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[31], &sipPySelf, SIP_NULLPTR, sipName_DoMoveWindow);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[31], sipPySelf, SIP_NULLPTR, sipName_DoMoveWindow);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[32], &sipPySelf, SIP_NULLPTR, sipName_DoSetWindowVariant);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[32], sipPySelf, SIP_NULLPTR, sipName_DoSetWindowVariant);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[33]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetDefaultBorder);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[34]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetDefaultBorderForControl);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[35], &sipPySelf, SIP_NULLPTR, sipName_DoFreeze);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[35], sipPySelf, SIP_NULLPTR, sipName_DoFreeze);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, &sipPyMethods[36], &sipPySelf, SIP_NULLPTR, sipName_DoThaw);

#else
    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[36], sipPySelf, SIP_NULLPTR, sipName_DoThaw);
#endif

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[37]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_DoGetBestSize);

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

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

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

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

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

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[38]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_DoGetBestClientSize);

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

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

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

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

 ::wxListItemAttr* sipwxListView::OnGetItemAttr(long item) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[39]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_OnGetItemAttr);

#else
    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[39]), sipPySelf, SIP_NULLPTR, sipName_OnGetItemAttr);
#endif

    if (!sipMeth)
        return  ::wxListView::OnGetItemAttr(item);

    extern  ::wxListItemAttr* sipVH__core_158(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long);

    return sipVH__core_158(sipGILState, 0, sipPySelf, sipMeth, item);
}

int sipwxListView::OnGetItemColumnImage(long item,long column) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[40]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_OnGetItemColumnImage);

#else
    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[40]), sipPySelf, SIP_NULLPTR, sipName_OnGetItemColumnImage);
#endif

    if (!sipMeth)
        return  ::wxListView::OnGetItemColumnImage(item,column);

    extern int sipVH__core_159(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long,long);

    return sipVH__core_159(sipGILState, 0, sipPySelf, sipMeth, item, column);
}

int sipwxListView::OnGetItemImage(long item) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[41]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_OnGetItemImage);

#else
    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[41]), sipPySelf, SIP_NULLPTR, sipName_OnGetItemImage);
#endif

    if (!sipMeth)
        return  ::wxListView::OnGetItemImage(item);

    extern int sipVH__core_160(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long);

    return sipVH__core_160(sipGILState, 0, sipPySelf, sipMeth, item);
}

 ::wxString sipwxListView::OnGetItemText(long item,long column) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

#if SIP_ABI_MAJOR_VERSION >= 12 && SIP_ABI_MINOR_VERSION >= 8
    sipMeth = sipIsPyMethod_12_8(&sipGILState, const_cast<char *>(&sipPyMethods[42]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_OnGetItemText);

#else
    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[42]), sipPySelf, SIP_NULLPTR, sipName_OnGetItemText);
#endif

    if (!sipMeth)
        return  ::wxListView::OnGetItemText(item,column);

    extern  ::wxString sipVH__core_161(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long,long);

    return sipVH__core_161(sipGILState, 0, sipPySelf, sipMeth, item, column);
}

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

 ::wxListItemAttr* sipwxListView::sipProtectVirt_OnGetItemAttr(bool sipSelfWasArg,long item) const
{
    return (sipSelfWasArg ?  ::wxListCtrl::OnGetItemAttr(item) : OnGetItemAttr(item));
}

int sipwxListView::sipProtectVirt_OnGetItemColumnImage(bool sipSelfWasArg,long item,long column) const
{
    return (sipSelfWasArg ?  ::wxListCtrl::OnGetItemColumnImage(item,column) : OnGetItemColumnImage(item,column));
}

int sipwxListView::sipProtectVirt_OnGetItemImage(bool sipSelfWasArg,long item) const
{
    return (sipSelfWasArg ?  ::wxListCtrl::OnGetItemImage(item) : OnGetItemImage(item));
}

 ::wxString sipwxListView::sipProtectVirt_OnGetItemText(bool sipSelfWasArg,long item,long column) const
{
    return (sipSelfWasArg ?  ::wxListCtrl::OnGetItemText(item,column) : OnGetItemText(item,column));
}

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

void sipwxListView::sipProtectVirt_DoEnable(bool sipSelfWasArg,bool enable)
{
    (sipSelfWasArg ?  ::wxListView::DoEnable(enable) : DoEnable(enable));
}

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

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

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

 ::wxSize sipwxListView::sipProtectVirt_DoGetBestSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxListView::DoGetBestSize() : DoGetBestSize());
}

 ::wxSize sipwxListView::sipProtectVirt_DoGetBestClientSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxListView::DoGetBestClientSize() : DoGetBestClientSize());
}

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

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

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

 ::wxSize sipwxListView::sipProtectVirt_DoGetBorderSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxListView::DoGetBorderSize() : DoGetBorderSize());
}

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

void sipwxListView::sipProtectVirt_DoSetWindowVariant(bool sipSelfWasArg, ::wxWindowVariant variant)
{
    (sipSelfWasArg ?  ::wxListView::DoSetWindowVariant(variant) : DoSetWindowVariant(variant));
}

 ::wxBorder sipwxListView::sipProtectVirt_GetDefaultBorder(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxListView::GetDefaultBorder() : GetDefaultBorder());
}

 ::wxBorder sipwxListView::sipProtectVirt_GetDefaultBorderForControl(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxListView::GetDefaultBorderForControl() : GetDefaultBorderForControl());
}

void sipwxListView::sipProtectVirt_DoFreeze(bool sipSelfWasArg)
{
    (sipSelfWasArg ?  ::wxListView::DoFreeze() : DoFreeze());
}

void sipwxListView::sipProtectVirt_DoThaw(bool sipSelfWasArg)
{
    (sipSelfWasArg ?  ::wxListView::DoThaw() : DoThaw());
}

bool sipwxListView::sipProtectVirt_HasTransparentBackground(bool sipSelfWasArg)
{
    return (sipSelfWasArg ?  ::wxListView::HasTransparentBackground() : HasTransparentBackground());
}

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

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


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

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

    {
        sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtect_SendDestroyEvent();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_SendDestroyEvent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_OnGetItemAttr, "OnGetItemAttr(item) -> ListItemAttr\n"
"\n"
"This function may be overridden in the derived class for a control\n"
"with wxLC_VIRTUAL style.");

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

    {
        long item;
        const sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxListView, &sipCpp, &item))
        {
             ::wxListItemAttr*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_OnGetItemAttr(sipSelfWasArg,item);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_OnGetItemAttr, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_OnGetItemColumnImage, "OnGetItemColumnImage(item, column) -> int\n"
"\n"
"Override this function in the derived class for a control with\n"
"wxLC_VIRTUAL and wxLC_REPORT styles in order to specify the image\n"
"index for the given line and column.");

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

    {
        long item;
        long column;
        const sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bll", &sipSelf, sipType_wxListView, &sipCpp, &item, &column))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_OnGetItemColumnImage(sipSelfWasArg,item,column);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_OnGetItemColumnImage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_OnGetItemImage, "OnGetItemImage(item) -> int\n"
"\n"
"This function must be overridden in the derived class for a control\n"
"with wxLC_VIRTUAL style having an \"image list\" (see SetImageList(); if\n"
"the control doesn't have an image list, it is not necessary to\n"
"override it).");

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

    {
        long item;
        const sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxListView, &sipCpp, &item))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_OnGetItemImage(sipSelfWasArg,item);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_OnGetItemImage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_OnGetItemText, "OnGetItemText(item, column) -> String\n"
"\n"
"This function must be overridden in the derived class for a control\n"
"with wxLC_VIRTUAL style.");

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

    {
        long item;
        long column;
        const sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bll", &sipSelf, sipType_wxListView, &sipCpp, &item, &column))
        {
             ::wxString*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxString(sipCpp->sipProtectVirt_OnGetItemText(sipSelfWasArg,item,column));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_OnGetItemText, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_ClearColumnImage, "ClearColumnImage(col)\n"
"\n"
"Resets the column image  after calling this function, no image will be\n"
"shown.");

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

    {
        int col;
         ::wxListView *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ClearColumnImage(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_ClearColumnImage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_Focus, "Focus(index)\n"
"\n"
"Sets focus to the item with the given index.");

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

    {
        long index;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxListView, &sipCpp, &index))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Focus(index);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_Focus, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetFirstSelected, "GetFirstSelected() -> long\n"
"\n"
"Returns the first selected item in a (presumably) multiple selection\n"
"control.");

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

    {
        const  ::wxListView *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxListView, &sipCpp))
        {
            long sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFirstSelected();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetFirstSelected, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetFocusedItem, "GetFocusedItem() -> long\n"
"\n"
"Returns the currently focused item or -1 if none.");

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

    {
        const  ::wxListView *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxListView, &sipCpp))
        {
            long sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFocusedItem();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetFocusedItem, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetNextSelected, "GetNextSelected(item) -> long\n"
"\n"
"Used together with GetFirstSelected() to iterate over all selected\n"
"items in the control.");

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

    {
        long item;
        const  ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxListView, &sipCpp, &item))
        {
            long sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetNextSelected(item);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetNextSelected, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_IsSelected, "IsSelected(index) -> bool\n"
"\n"
"Returns true if the item with the given index is selected, false\n"
"otherwise.");

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

    {
        long index;
        const  ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxListView, &sipCpp, &index))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsSelected(index);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_IsSelected, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_Select, "Select(n, on=True)\n"
"\n"
"Selects or unselects the given item.");

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

    {
        long n;
        bool on = 1;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl|b", &sipSelf, sipType_wxListView, &sipCpp, &n, &on))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Select(n,on);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_Select, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_SetColumnImage, "SetColumnImage(col, image)\n"
"\n"
"Sets the column image for the specified column.");

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

    {
        int col;
        int image;
         ::wxListView *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColumnImage(col,image);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_SetColumnImage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetClientAreaOrigin, "GetClientAreaOrigin(self) -> Point");

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

    {
        const  ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint((sipSelfWasArg ? sipCpp-> ::wxListView::GetClientAreaOrigin() : sipCpp->GetClientAreaOrigin()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetClientAreaOrigin, doc_wxListView_GetClientAreaOrigin);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_Validate, "Validate(self) -> bool");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::Validate() : sipCpp->Validate());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_Validate, doc_wxListView_Validate);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_TransferDataToWindow, "TransferDataToWindow(self) -> bool");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::TransferDataToWindow() : sipCpp->TransferDataToWindow());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_TransferDataToWindow, doc_wxListView_TransferDataToWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_TransferDataFromWindow, "TransferDataFromWindow(self) -> bool");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::TransferDataFromWindow() : sipCpp->TransferDataFromWindow());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_TransferDataFromWindow, doc_wxListView_TransferDataFromWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_InitDialog, "InitDialog(self)");

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

    {
         ::wxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::InitDialog() : sipCpp->InitDialog());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_InitDialog, doc_wxListView_InitDialog);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_AcceptsFocus, "AcceptsFocus(self) -> bool");

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

    {
        const  ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::AcceptsFocus() : sipCpp->AcceptsFocus());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_AcceptsFocus, doc_wxListView_AcceptsFocus);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_AcceptsFocusRecursively, "AcceptsFocusRecursively(self) -> bool");

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

    {
        const  ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::AcceptsFocusRecursively() : sipCpp->AcceptsFocusRecursively());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_AcceptsFocusRecursively, doc_wxListView_AcceptsFocusRecursively);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_AcceptsFocusFromKeyboard, "AcceptsFocusFromKeyboard(self) -> bool");

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

    {
        const  ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::AcceptsFocusFromKeyboard() : sipCpp->AcceptsFocusFromKeyboard());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_AcceptsFocusFromKeyboard, doc_wxListView_AcceptsFocusFromKeyboard);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_AddChild, "AddChild(self, child: WindowBase)");

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

    {
         ::wxWindowBase* child;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxWindowBase, &child))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::AddChild(child) : sipCpp->AddChild(child));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_AddChild, doc_wxListView_AddChild);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_RemoveChild, "RemoveChild(self, child: WindowBase)");

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

    {
         ::wxWindowBase* child;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxWindowBase, &child))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::RemoveChild(child) : sipCpp->RemoveChild(child));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_RemoveChild, doc_wxListView_RemoveChild);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_InheritAttributes, "InheritAttributes(self)");

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

    {
         ::wxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::InheritAttributes() : sipCpp->InheritAttributes());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_InheritAttributes, doc_wxListView_InheritAttributes);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_ShouldInheritColours, "ShouldInheritColours(self) -> bool");

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

    {
        const  ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::ShouldInheritColours() : sipCpp->ShouldInheritColours());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_ShouldInheritColours, doc_wxListView_ShouldInheritColours);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_OnInternalIdle, "OnInternalIdle(self)");

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

    {
         ::wxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::OnInternalIdle() : sipCpp->OnInternalIdle());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_OnInternalIdle, doc_wxListView_OnInternalIdle);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetMainWindowOfCompositeControl, "GetMainWindowOfCompositeControl(self) -> Window");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::GetMainWindowOfCompositeControl() : sipCpp->GetMainWindowOfCompositeControl());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetMainWindowOfCompositeControl, doc_wxListView_GetMainWindowOfCompositeControl);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_InformFirstDirection, "InformFirstDirection(self, direction: int, size: int, availableOtherDir: int) -> bool");

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

    {
        int direction;
        int size;
        int availableOtherDir;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biii", &sipSelf, sipType_wxListView, &sipCpp, &direction, &size, &availableOtherDir))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::InformFirstDirection(direction,size,availableOtherDir) : sipCpp->InformFirstDirection(direction,size,availableOtherDir));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_InformFirstDirection, doc_wxListView_InformFirstDirection);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_SetCanFocus, "SetCanFocus(self, canFocus: bool)");

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

    {
        bool canFocus;
         ::wxListView *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::SetCanFocus(canFocus) : sipCpp->SetCanFocus(canFocus));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_SetCanFocus, doc_wxListView_SetCanFocus);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_Destroy, "Destroy(self) -> bool");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::Destroy() : sipCpp->Destroy());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_Destroy, doc_wxListView_Destroy);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_SetValidator, "SetValidator(self, validator: Validator)");

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

    {
        const  ::wxValidator* validator;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxValidator, &validator))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::SetValidator(*validator) : sipCpp->SetValidator(*validator));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_SetValidator, doc_wxListView_SetValidator);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetValidator, "GetValidator(self) -> Validator");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::GetValidator() : sipCpp->GetValidator());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetValidator, doc_wxListView_GetValidator);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_ProcessEvent, "ProcessEvent(self, event: Event) -> bool");

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

    {
         ::wxEvent* event;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_ProcessEvent(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_ProcessEvent, doc_wxListView_ProcessEvent);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoEnable, "DoEnable(self, enable: bool)");

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

    {
        bool enable;
        sipwxListView *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoEnable(sipSelfWasArg,enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoEnable, doc_wxListView_DoEnable);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetPosition, "DoGetPosition(self) -> Tuple[int, int]");

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

    {
        int x;
        int y;
        const sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetPosition(sipSelfWasArg,&x,&y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",x,y);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetPosition, doc_wxListView_DoGetPosition);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetSize, "DoGetSize(self) -> Tuple[int, int]");

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

    {
        int width;
        int height;
        const sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetSize(sipSelfWasArg,&width,&height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",width,height);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetSize, doc_wxListView_DoGetSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetClientSize, "DoGetClientSize(self) -> Tuple[int, int]");

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

    {
        int width;
        int height;
        const sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetClientSize(sipSelfWasArg,&width,&height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",width,height);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetClientSize, doc_wxListView_DoGetClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetBestSize, "DoGetBestSize(self) -> Size");

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

    {
        const sipwxListView *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetBestSize, doc_wxListView_DoGetBestSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetBestClientSize, "DoGetBestClientSize(self) -> Size");

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

    {
        const sipwxListView *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetBestClientSize, doc_wxListView_DoGetBestClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoSetSize, "DoSetSize(self, x: int, y: int, width: int, height: int, sizeFlags: int)");

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

    {
        int x;
        int y;
        int width;
        int height;
        int sizeFlags;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiiii", &sipSelf, sipType_wxListView, &sipCpp, &x, &y, &width, &height, &sizeFlags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetSize(sipSelfWasArg,x,y,width,height,sizeFlags);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoSetSize, doc_wxListView_DoSetSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoSetClientSize, "DoSetClientSize(self, width: int, height: int)");

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

    {
        int width;
        int height;
        sipwxListView *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetClientSize(sipSelfWasArg,width,height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoSetClientSize, doc_wxListView_DoSetClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoSetSizeHints, "DoSetSizeHints(self, minW: int, minH: int, maxW: int, maxH: int, incW: int, incH: int)");

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

    {
        int minW;
        int minH;
        int maxW;
        int maxH;
        int incW;
        int incH;
        sipwxListView *sipCpp;

        static const char *sipKwdList[] = {
            sipName_minW,
            sipName_minH,
            sipName_maxW,
            sipName_maxH,
            sipName_incW,
            sipName_incH,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiiiii", &sipSelf, sipType_wxListView, &sipCpp, &minW, &minH, &maxW, &maxH, &incW, &incH))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetSizeHints(sipSelfWasArg,minW,minH,maxW,maxH,incW,incH);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoSetSizeHints, doc_wxListView_DoSetSizeHints);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetBorderSize, "DoGetBorderSize(self) -> Size");

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

    {
        const sipwxListView *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetBorderSize, doc_wxListView_DoGetBorderSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoMoveWindow, "DoMoveWindow(self, x: int, y: int, width: int, height: int)");

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

    {
        int x;
        int y;
        int width;
        int height;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiii", &sipSelf, sipType_wxListView, &sipCpp, &x, &y, &width, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoMoveWindow(sipSelfWasArg,x,y,width,height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoMoveWindow, doc_wxListView_DoMoveWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoSetWindowVariant, "DoSetWindowVariant(self, variant: WindowVariant)");

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

    {
         ::wxWindowVariant variant;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxWindowVariant, &variant))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetWindowVariant(sipSelfWasArg,variant);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoSetWindowVariant, doc_wxListView_DoSetWindowVariant);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetDefaultBorder, "GetDefaultBorder(self) -> Border");

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

    {
        const sipwxListView *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxListView, &sipCpp))
        {
             ::wxBorder sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_GetDefaultBorder(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxBorder);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetDefaultBorder, doc_wxListView_GetDefaultBorder);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetDefaultBorderForControl, "GetDefaultBorderForControl(self) -> Border");

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

    {
        const sipwxListView *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxListView, &sipCpp))
        {
             ::wxBorder sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_GetDefaultBorderForControl(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxBorder);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetDefaultBorderForControl, doc_wxListView_GetDefaultBorderForControl);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoFreeze, "DoFreeze(self)");

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

    {
        sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoFreeze(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoFreeze, doc_wxListView_DoFreeze);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoThaw, "DoThaw(self)");

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

    {
        sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoThaw(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoThaw, doc_wxListView_DoThaw);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_HasTransparentBackground, "HasTransparentBackground(self) -> bool");

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

    {
        sipwxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_HasTransparentBackground(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_HasTransparentBackground, doc_wxListView_HasTransparentBackground);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_TryBefore, "TryBefore(self, event: Event) -> bool");

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

    {
         ::wxEvent* event;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_TryBefore(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_TryBefore, doc_wxListView_TryBefore);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_TryAfter, "TryAfter(self, event: Event) -> bool");

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

    {
         ::wxEvent* event;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_TryAfter(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_TryAfter, doc_wxListView_TryAfter);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetClassDefaultAttributes, "GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes");

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

    {
         ::wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "|E", sipType_wxWindowVariant, &variant))
        {
             ::wxVisualAttributes*sipRes;

        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxVisualAttributes( ::wxListView::GetClassDefaultAttributes(variant));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetClassDefaultAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_wxListCtrl)
        return static_cast< ::wxListCtrl *>(sipCpp);

    if (targetType == sipType_wxControl)
        return static_cast< ::wxControl *>(sipCpp);

    if (targetType == sipType_wxWindow)
        return static_cast< ::wxWindow *>(sipCpp);

    if (targetType == sipType_wxWindowBase)
        return static_cast< ::wxWindowBase *>(sipCpp);

    if (targetType == sipType_wxEvtHandler)
        return static_cast< ::wxEvtHandler *>(sipCpp);

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

    if (targetType == sipType_wxTrackable)
        return static_cast< ::wxTrackable *>(sipCpp);

    return sipCppV;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxListView *>(sipCppV);
    else
        delete reinterpret_cast< ::wxListView *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void *array_wxListView(Py_ssize_t);}
static void *array_wxListView(Py_ssize_t sipNrElem)
{
    return new  ::wxListView[sipNrElem];
}


extern "C" {static void dealloc_wxListView(sipSimpleWrapper *);}
static void dealloc_wxListView(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerivedClass(sipSelf))
        reinterpret_cast<sipwxListView *>(sipGetAddress(sipSelf))->sipPySelf = SIP_NULLPTR;

    if (sipIsOwnedByPython(sipSelf))
    {
        release_wxListView(sipGetAddress(sipSelf), sipIsDerivedClass(sipSelf));
    }
}


extern "C" {static void *init_type_wxListView(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_wxListView(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **sipOwner, PyObject **sipParseErr)
{
    sipwxListView *sipCpp = SIP_NULLPTR;

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, ""))
        {

        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxListView();
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
         ::wxWindow* parent;
         ::wxWindowID winid = wxID_ANY;
        const  ::wxPoint& posdef = wxDefaultPosition;
        const  ::wxPoint* pos = &posdef;
        int posState = 0;
        const  ::wxSize& sizedef = wxDefaultSize;
        const  ::wxSize* size = &sizedef;
        int sizeState = 0;
        long style = wxLC_REPORT;
        const  ::wxValidator& validatordef = wxDefaultValidator;
        const  ::wxValidator* validator = &validatordef;
        const  ::wxString& namedef = wxListCtrlNameStr;
        const  ::wxString* name = &namedef;
        int nameState = 0;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "JH|iJ1J1lJ9J1", sipType_wxWindow, &parent, sipOwner, &winid, sipType_wxPoint, &pos, &posState, sipType_wxSize, &size, &sizeState, &style, sipType_wxValidator, &validator, sipType_wxString,&name, &nameState))
        {

        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxListView(parent,winid,*pos,*size,style,*validator,*name);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint *>(pos),sipType_wxPoint,posState);
            sipReleaseType(const_cast< ::wxSize *>(size),sipType_wxSize,sizeState);
            sipReleaseType(const_cast< ::wxString *>(name),sipType_wxString,nameState);

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


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


static PyMethodDef methods_wxListView[] = {
    {sipName_AcceptsFocus, meth_wxListView_AcceptsFocus, METH_VARARGS, doc_wxListView_AcceptsFocus},
    {sipName_AcceptsFocusFromKeyboard, meth_wxListView_AcceptsFocusFromKeyboard, METH_VARARGS, doc_wxListView_AcceptsFocusFromKeyboard},
    {sipName_AcceptsFocusRecursively, meth_wxListView_AcceptsFocusRecursively, METH_VARARGS, doc_wxListView_AcceptsFocusRecursively},
    {sipName_AddChild, SIP_MLMETH_CAST(meth_wxListView_AddChild), METH_VARARGS|METH_KEYWORDS, doc_wxListView_AddChild},
    {sipName_ClearColumnImage, SIP_MLMETH_CAST(meth_wxListView_ClearColumnImage), METH_VARARGS|METH_KEYWORDS, doc_wxListView_ClearColumnImage},
    {sipName_Destroy, meth_wxListView_Destroy, METH_VARARGS, doc_wxListView_Destroy},
    {sipName_DoEnable, SIP_MLMETH_CAST(meth_wxListView_DoEnable), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoEnable},
    {sipName_DoFreeze, meth_wxListView_DoFreeze, METH_VARARGS, doc_wxListView_DoFreeze},
    {sipName_DoGetBestClientSize, meth_wxListView_DoGetBestClientSize, METH_VARARGS, doc_wxListView_DoGetBestClientSize},
    {sipName_DoGetBestSize, meth_wxListView_DoGetBestSize, METH_VARARGS, doc_wxListView_DoGetBestSize},
    {sipName_DoGetBorderSize, meth_wxListView_DoGetBorderSize, METH_VARARGS, doc_wxListView_DoGetBorderSize},
    {sipName_DoGetClientSize, SIP_MLMETH_CAST(meth_wxListView_DoGetClientSize), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoGetClientSize},
    {sipName_DoGetPosition, SIP_MLMETH_CAST(meth_wxListView_DoGetPosition), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoGetPosition},
    {sipName_DoGetSize, SIP_MLMETH_CAST(meth_wxListView_DoGetSize), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoGetSize},
    {sipName_DoMoveWindow, SIP_MLMETH_CAST(meth_wxListView_DoMoveWindow), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoMoveWindow},
    {sipName_DoSetClientSize, SIP_MLMETH_CAST(meth_wxListView_DoSetClientSize), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoSetClientSize},
    {sipName_DoSetSize, SIP_MLMETH_CAST(meth_wxListView_DoSetSize), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoSetSize},
    {sipName_DoSetSizeHints, SIP_MLMETH_CAST(meth_wxListView_DoSetSizeHints), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoSetSizeHints},
    {sipName_DoSetWindowVariant, SIP_MLMETH_CAST(meth_wxListView_DoSetWindowVariant), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoSetWindowVariant},
    {sipName_DoThaw, meth_wxListView_DoThaw, METH_VARARGS, doc_wxListView_DoThaw},
    {sipName_Focus, SIP_MLMETH_CAST(meth_wxListView_Focus), METH_VARARGS|METH_KEYWORDS, doc_wxListView_Focus},
    {sipName_GetClassDefaultAttributes, SIP_MLMETH_CAST(meth_wxListView_GetClassDefaultAttributes), METH_VARARGS|METH_KEYWORDS, doc_wxListView_GetClassDefaultAttributes},
    {sipName_GetClientAreaOrigin, meth_wxListView_GetClientAreaOrigin, METH_VARARGS, doc_wxListView_GetClientAreaOrigin},
    {sipName_GetDefaultBorder, meth_wxListView_GetDefaultBorder, METH_VARARGS, doc_wxListView_GetDefaultBorder},
    {sipName_GetDefaultBorderForControl, meth_wxListView_GetDefaultBorderForControl, METH_VARARGS, doc_wxListView_GetDefaultBorderForControl},
    {sipName_GetFirstSelected, meth_wxListView_GetFirstSelected, METH_VARARGS, doc_wxListView_GetFirstSelected},
    {sipName_GetFocusedItem, meth_wxListView_GetFocusedItem, METH_VARARGS, doc_wxListView_GetFocusedItem},
    {sipName_GetMainWindowOfCompositeControl, meth_wxListView_GetMainWindowOfCompositeControl, METH_VARARGS, doc_wxListView_GetMainWindowOfCompositeControl},
    {sipName_GetNextSelected, SIP_MLMETH_CAST(meth_wxListView_GetNextSelected), METH_VARARGS|METH_KEYWORDS, doc_wxListView_GetNextSelected},
    {sipName_GetValidator, meth_wxListView_GetValidator, METH_VARARGS, doc_wxListView_GetValidator},
    {sipName_HasTransparentBackground, meth_wxListView_HasTransparentBackground, METH_VARARGS, doc_wxListView_HasTransparentBackground},
    {sipName_InformFirstDirection, SIP_MLMETH_CAST(meth_wxListView_InformFirstDirection), METH_VARARGS|METH_KEYWORDS, doc_wxListView_InformFirstDirection},
    {sipName_InheritAttributes, meth_wxListView_InheritAttributes, METH_VARARGS, doc_wxListView_InheritAttributes},
    {sipName_InitDialog, meth_wxListView_InitDialog, METH_VARARGS, doc_wxListView_InitDialog},
    {sipName_IsSelected, SIP_MLMETH_CAST(meth_wxListView_IsSelected), METH_VARARGS|METH_KEYWORDS, doc_wxListView_IsSelected},
    {sipName_OnGetItemAttr, SIP_MLMETH_CAST(meth_wxListView_OnGetItemAttr), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_OnGetItemColumnImage, SIP_MLMETH_CAST(meth_wxListView_OnGetItemColumnImage), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_OnGetItemImage, SIP_MLMETH_CAST(meth_wxListView_OnGetItemImage), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_OnGetItemText, SIP_MLMETH_CAST(meth_wxListView_OnGetItemText), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_OnInternalIdle, meth_wxListView_OnInternalIdle, METH_VARARGS, doc_wxListView_OnInternalIdle},
    {sipName_ProcessEvent, SIP_MLMETH_CAST(meth_wxListView_ProcessEvent), METH_VARARGS|METH_KEYWORDS, doc_wxListView_ProcessEvent},
    {sipName_RemoveChild, SIP_MLMETH_CAST(meth_wxListView_RemoveChild), METH_VARARGS|METH_KEYWORDS, doc_wxListView_RemoveChild},
    {sipName_Select, SIP_MLMETH_CAST(meth_wxListView_Select), METH_VARARGS|METH_KEYWORDS, doc_wxListView_Select},
    {sipName_SendDestroyEvent, meth_wxListView_SendDestroyEvent, METH_VARARGS, SIP_NULLPTR},
    {sipName_SetCanFocus, SIP_MLMETH_CAST(meth_wxListView_SetCanFocus), METH_VARARGS|METH_KEYWORDS, doc_wxListView_SetCanFocus},
    {sipName_SetColumnImage, SIP_MLMETH_CAST(meth_wxListView_SetColumnImage), METH_VARARGS|METH_KEYWORDS, doc_wxListView_SetColumnImage},
    {sipName_SetValidator, SIP_MLMETH_CAST(meth_wxListView_SetValidator), METH_VARARGS|METH_KEYWORDS, doc_wxListView_SetValidator},
    {sipName_ShouldInheritColours, meth_wxListView_ShouldInheritColours, METH_VARARGS, doc_wxListView_ShouldInheritColours},
    {sipName_TransferDataFromWindow, meth_wxListView_TransferDataFromWindow, METH_VARARGS, doc_wxListView_TransferDataFromWindow},
    {sipName_TransferDataToWindow, meth_wxListView_TransferDataToWindow, METH_VARARGS, doc_wxListView_TransferDataToWindow},
    {sipName_TryAfter, SIP_MLMETH_CAST(meth_wxListView_TryAfter), METH_VARARGS|METH_KEYWORDS, doc_wxListView_TryAfter},
    {sipName_TryBefore, SIP_MLMETH_CAST(meth_wxListView_TryBefore), METH_VARARGS|METH_KEYWORDS, doc_wxListView_TryBefore},
    {sipName_Validate, meth_wxListView_Validate, METH_VARARGS, doc_wxListView_Validate}
};

sipVariableDef variables_wxListView[] = {
    {PropertyVariable, sipName_FocusedItem, &methods_wxListView[26], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_FirstSelected, &methods_wxListView[25], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxListView, "ListView()\n"
"ListView(parent, winid=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=LC_REPORT, validator=DefaultValidator, name=ListCtrlNameStr)\n"
"\n"
"This class currently simply presents a simpler to use interface for\n"
"the wxListCtrl  it can be thought of as a façade for that complicated\n"
"class.");


sipClassTypeDef sipTypeDef__core_wxListView = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxListView,
        SIP_NULLPTR,
        SIP_NULLPTR
    },
    {
        sipNameNr_ListView,
        {0, 0, 1},
        53, methods_wxListView,
        0, SIP_NULLPTR,
        2, variables_wxListView,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxListView,
    -1,
    -1,
    supers_wxListView,
    SIP_NULLPTR,
    init_type_wxListView,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxListView,
    SIP_NULLPTR,
    array_wxListView,
    SIP_NULLPTR,
    release_wxListView,
    cast_wxListView,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR
};
-------------- next part --------------
/*
 * Interface wrapper code.
 *
 * Generated by SIP 6.1.1
 *
 *     Copyright: (c) 2018 by Total Control Software
 *     License:   wxWindows License
 */

#include "sipAPI_core.h"

        #include <wx/listctrl.h>

        #include <wx/window.h>
        #include <wx/gdicmn.h>
        #include <wx/gdicmn.h>
        #include <wx/validate.h>
        #include <wx/window.h>
        #include <wx/event.h>
        #include <wx/listctrl.h>
        #include <wx/colour.h>
        #include <wx/font.h>
        #include <wx/listctrl.h>
        #include <wx/imaglist.h>
        #include <wx/gdicmn.h>
        #include <wx/textctrl.h>
    #include <wx/setup.h>
    #include <wxPython/wxpy_api.h>
        #include <wx/dc.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/cursor.h>
        #include <wx/caret.h>
        #include <wx/layout.h>
        #include <wx/sizer.h>
        #include <wx/dnd.h>
        #include <wx/access.h>
        #include <wx/accel.h>
        #include <wx/menu.h>
        #include <wx/tooltip.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/palette.h>
        #include <wx/region.h>
        
        #include <wx/eventfilter.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>


class sipwxListView : public  ::wxListView
{
public:
    sipwxListView();
    sipwxListView( ::wxWindow*, ::wxWindowID,const  ::wxPoint&,const  ::wxSize&,long,const  ::wxValidator&,const  ::wxString&);
    virtual ~sipwxListView();

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
    void sipProtect_SendDestroyEvent();
     ::wxListItemAttr* sipProtectVirt_OnGetItemAttr(bool,long) const;
    int sipProtectVirt_OnGetItemColumnImage(bool,long,long) const;
    int sipProtectVirt_OnGetItemImage(bool,long) const;
     ::wxString sipProtectVirt_OnGetItemText(bool,long,long) const;
    bool sipProtectVirt_ProcessEvent(bool, ::wxEvent&);
    void sipProtectVirt_DoEnable(bool,bool);
    void sipProtectVirt_DoGetPosition(bool,int*,int*) const;
    void sipProtectVirt_DoGetSize(bool,int*,int*) const;
    void sipProtectVirt_DoGetClientSize(bool,int*,int*) const;
     ::wxSize sipProtectVirt_DoGetBestSize(bool) const;
     ::wxSize sipProtectVirt_DoGetBestClientSize(bool) const;
    void sipProtectVirt_DoSetSize(bool,int,int,int,int,int);
    void sipProtectVirt_DoSetClientSize(bool,int,int);
    void sipProtectVirt_DoSetSizeHints(bool,int,int,int,int,int,int);
     ::wxSize sipProtectVirt_DoGetBorderSize(bool) const;
    void sipProtectVirt_DoMoveWindow(bool,int,int,int,int);
    void sipProtectVirt_DoSetWindowVariant(bool, ::wxWindowVariant);
     ::wxBorder sipProtectVirt_GetDefaultBorder(bool) const;
     ::wxBorder sipProtectVirt_GetDefaultBorderForControl(bool) const;
    void sipProtectVirt_DoFreeze(bool);
    void sipProtectVirt_DoThaw(bool);
    bool sipProtectVirt_HasTransparentBackground(bool);
    bool sipProtectVirt_TryBefore(bool, ::wxEvent&);
    bool sipProtectVirt_TryAfter(bool, ::wxEvent&);

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

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[43];
};

sipwxListView::sipwxListView():  ::wxListView(), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxListView::sipwxListView( ::wxWindow*parent, ::wxWindowID winid,const  ::wxPoint& pos,const  ::wxSize& size,long style,const  ::wxValidator& validator,const  ::wxString& name):  ::wxListView(parent,winid,pos,size,style,validator,name), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 ::wxListItemAttr* sipwxListView::OnGetItemAttr(long item) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[39]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_OnGetItemAttr);

    if (!sipMeth)
        return  ::wxListView::OnGetItemAttr(item);

    extern  ::wxListItemAttr* sipVH__core_158(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long);

    return sipVH__core_158(sipGILState, 0, sipPySelf, sipMeth, item);
}

int sipwxListView::OnGetItemColumnImage(long item,long column) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[40]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_OnGetItemColumnImage);

    if (!sipMeth)
        return  ::wxListView::OnGetItemColumnImage(item,column);

    extern int sipVH__core_159(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long,long);

    return sipVH__core_159(sipGILState, 0, sipPySelf, sipMeth, item, column);
}

int sipwxListView::OnGetItemImage(long item) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[41]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_OnGetItemImage);

    if (!sipMeth)
        return  ::wxListView::OnGetItemImage(item);

    extern int sipVH__core_160(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long);

    return sipVH__core_160(sipGILState, 0, sipPySelf, sipMeth, item);
}

 ::wxString sipwxListView::OnGetItemText(long item,long column) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[42]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_OnGetItemText);

    if (!sipMeth)
        return  ::wxListView::OnGetItemText(item,column);

    extern  ::wxString sipVH__core_161(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long,long);

    return sipVH__core_161(sipGILState, 0, sipPySelf, sipMeth, item, column);
}

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

 ::wxListItemAttr* sipwxListView::sipProtectVirt_OnGetItemAttr(bool sipSelfWasArg,long item) const
{
    return (sipSelfWasArg ?  ::wxListCtrl::OnGetItemAttr(item) : OnGetItemAttr(item));
}

int sipwxListView::sipProtectVirt_OnGetItemColumnImage(bool sipSelfWasArg,long item,long column) const
{
    return (sipSelfWasArg ?  ::wxListCtrl::OnGetItemColumnImage(item,column) : OnGetItemColumnImage(item,column));
}

int sipwxListView::sipProtectVirt_OnGetItemImage(bool sipSelfWasArg,long item) const
{
    return (sipSelfWasArg ?  ::wxListCtrl::OnGetItemImage(item) : OnGetItemImage(item));
}

 ::wxString sipwxListView::sipProtectVirt_OnGetItemText(bool sipSelfWasArg,long item,long column) const
{
    return (sipSelfWasArg ?  ::wxListCtrl::OnGetItemText(item,column) : OnGetItemText(item,column));
}

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

void sipwxListView::sipProtectVirt_DoEnable(bool sipSelfWasArg,bool enable)
{
    (sipSelfWasArg ?  ::wxListView::DoEnable(enable) : DoEnable(enable));
}

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

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

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

 ::wxSize sipwxListView::sipProtectVirt_DoGetBestSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxListView::DoGetBestSize() : DoGetBestSize());
}

 ::wxSize sipwxListView::sipProtectVirt_DoGetBestClientSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxListView::DoGetBestClientSize() : DoGetBestClientSize());
}

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

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

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

 ::wxSize sipwxListView::sipProtectVirt_DoGetBorderSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxListView::DoGetBorderSize() : DoGetBorderSize());
}

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

void sipwxListView::sipProtectVirt_DoSetWindowVariant(bool sipSelfWasArg, ::wxWindowVariant variant)
{
    (sipSelfWasArg ?  ::wxListView::DoSetWindowVariant(variant) : DoSetWindowVariant(variant));
}

 ::wxBorder sipwxListView::sipProtectVirt_GetDefaultBorder(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxListView::GetDefaultBorder() : GetDefaultBorder());
}

 ::wxBorder sipwxListView::sipProtectVirt_GetDefaultBorderForControl(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxListView::GetDefaultBorderForControl() : GetDefaultBorderForControl());
}

void sipwxListView::sipProtectVirt_DoFreeze(bool sipSelfWasArg)
{
    (sipSelfWasArg ?  ::wxListView::DoFreeze() : DoFreeze());
}

void sipwxListView::sipProtectVirt_DoThaw(bool sipSelfWasArg)
{
    (sipSelfWasArg ?  ::wxListView::DoThaw() : DoThaw());
}

bool sipwxListView::sipProtectVirt_HasTransparentBackground(bool sipSelfWasArg)
{
    return (sipSelfWasArg ?  ::wxListView::HasTransparentBackground() : HasTransparentBackground());
}

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

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


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

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

    {
        sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtect_SendDestroyEvent();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_SendDestroyEvent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_OnGetItemAttr, "OnGetItemAttr(item) -> ListItemAttr\n"
"\n"
"This function may be overridden in the derived class for a control\n"
"with wxLC_VIRTUAL style.");

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

    {
        long item;
        const sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxListView, &sipCpp, &item))
        {
             ::wxListItemAttr*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_OnGetItemAttr(sipSelfWasArg,item);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_OnGetItemAttr, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_OnGetItemColumnImage, "OnGetItemColumnImage(item, column) -> int\n"
"\n"
"Override this function in the derived class for a control with\n"
"wxLC_VIRTUAL and wxLC_REPORT styles in order to specify the image\n"
"index for the given line and column.");

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

    {
        long item;
        long column;
        const sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bll", &sipSelf, sipType_wxListView, &sipCpp, &item, &column))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_OnGetItemColumnImage(sipSelfWasArg,item,column);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_OnGetItemColumnImage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_OnGetItemImage, "OnGetItemImage(item) -> int\n"
"\n"
"This function must be overridden in the derived class for a control\n"
"with wxLC_VIRTUAL style having an \"image list\" (see SetImageList(); if\n"
"the control doesn't have an image list, it is not necessary to\n"
"override it).");

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

    {
        long item;
        const sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxListView, &sipCpp, &item))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_OnGetItemImage(sipSelfWasArg,item);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_OnGetItemImage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_OnGetItemText, "OnGetItemText(item, column) -> String\n"
"\n"
"This function must be overridden in the derived class for a control\n"
"with wxLC_VIRTUAL style.");

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

    {
        long item;
        long column;
        const sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bll", &sipSelf, sipType_wxListView, &sipCpp, &item, &column))
        {
             ::wxString*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxString(sipCpp->sipProtectVirt_OnGetItemText(sipSelfWasArg,item,column));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_OnGetItemText, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_ClearColumnImage, "ClearColumnImage(col)\n"
"\n"
"Resets the column image  after calling this function, no image will be\n"
"shown.");

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

    {
        int col;
         ::wxListView *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ClearColumnImage(col);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_ClearColumnImage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_Focus, "Focus(index)\n"
"\n"
"Sets focus to the item with the given index.");

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

    {
        long index;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxListView, &sipCpp, &index))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Focus(index);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_Focus, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetFirstSelected, "GetFirstSelected() -> long\n"
"\n"
"Returns the first selected item in a (presumably) multiple selection\n"
"control.");

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

    {
        const  ::wxListView *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxListView, &sipCpp))
        {
            long sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFirstSelected();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetFirstSelected, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetFocusedItem, "GetFocusedItem() -> long\n"
"\n"
"Returns the currently focused item or -1 if none.");

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

    {
        const  ::wxListView *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxListView, &sipCpp))
        {
            long sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFocusedItem();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetFocusedItem, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetNextSelected, "GetNextSelected(item) -> long\n"
"\n"
"Used together with GetFirstSelected() to iterate over all selected\n"
"items in the control.");

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

    {
        long item;
        const  ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxListView, &sipCpp, &item))
        {
            long sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetNextSelected(item);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetNextSelected, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_IsSelected, "IsSelected(index) -> bool\n"
"\n"
"Returns true if the item with the given index is selected, false\n"
"otherwise.");

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

    {
        long index;
        const  ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxListView, &sipCpp, &index))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsSelected(index);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_IsSelected, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_Select, "Select(n, on=True)\n"
"\n"
"Selects or unselects the given item.");

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

    {
        long n;
        bool on = 1;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl|b", &sipSelf, sipType_wxListView, &sipCpp, &n, &on))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Select(n,on);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_Select, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_SetColumnImage, "SetColumnImage(col, image)\n"
"\n"
"Sets the column image for the specified column.");

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

    {
        int col;
        int image;
         ::wxListView *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColumnImage(col,image);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_SetColumnImage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetClientAreaOrigin, "GetClientAreaOrigin(self) -> Point");

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

    {
        const  ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxPoint((sipSelfWasArg ? sipCpp-> ::wxListView::GetClientAreaOrigin() : sipCpp->GetClientAreaOrigin()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetClientAreaOrigin, doc_wxListView_GetClientAreaOrigin);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_Validate, "Validate(self) -> bool");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::Validate() : sipCpp->Validate());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_Validate, doc_wxListView_Validate);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_TransferDataToWindow, "TransferDataToWindow(self) -> bool");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::TransferDataToWindow() : sipCpp->TransferDataToWindow());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_TransferDataToWindow, doc_wxListView_TransferDataToWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_TransferDataFromWindow, "TransferDataFromWindow(self) -> bool");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::TransferDataFromWindow() : sipCpp->TransferDataFromWindow());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_TransferDataFromWindow, doc_wxListView_TransferDataFromWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_InitDialog, "InitDialog(self)");

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

    {
         ::wxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::InitDialog() : sipCpp->InitDialog());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_InitDialog, doc_wxListView_InitDialog);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_AcceptsFocus, "AcceptsFocus(self) -> bool");

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

    {
        const  ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::AcceptsFocus() : sipCpp->AcceptsFocus());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_AcceptsFocus, doc_wxListView_AcceptsFocus);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_AcceptsFocusRecursively, "AcceptsFocusRecursively(self) -> bool");

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

    {
        const  ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::AcceptsFocusRecursively() : sipCpp->AcceptsFocusRecursively());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_AcceptsFocusRecursively, doc_wxListView_AcceptsFocusRecursively);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_AcceptsFocusFromKeyboard, "AcceptsFocusFromKeyboard(self) -> bool");

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

    {
        const  ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::AcceptsFocusFromKeyboard() : sipCpp->AcceptsFocusFromKeyboard());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_AcceptsFocusFromKeyboard, doc_wxListView_AcceptsFocusFromKeyboard);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_AddChild, "AddChild(self, child: WindowBase)");

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

    {
         ::wxWindowBase* child;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxWindowBase, &child))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::AddChild(child) : sipCpp->AddChild(child));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_AddChild, doc_wxListView_AddChild);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_RemoveChild, "RemoveChild(self, child: WindowBase)");

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

    {
         ::wxWindowBase* child;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxWindowBase, &child))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::RemoveChild(child) : sipCpp->RemoveChild(child));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_RemoveChild, doc_wxListView_RemoveChild);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_InheritAttributes, "InheritAttributes(self)");

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

    {
         ::wxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::InheritAttributes() : sipCpp->InheritAttributes());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_InheritAttributes, doc_wxListView_InheritAttributes);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_ShouldInheritColours, "ShouldInheritColours(self) -> bool");

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

    {
        const  ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::ShouldInheritColours() : sipCpp->ShouldInheritColours());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_ShouldInheritColours, doc_wxListView_ShouldInheritColours);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_OnInternalIdle, "OnInternalIdle(self)");

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

    {
         ::wxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::OnInternalIdle() : sipCpp->OnInternalIdle());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_OnInternalIdle, doc_wxListView_OnInternalIdle);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetMainWindowOfCompositeControl, "GetMainWindowOfCompositeControl(self) -> Window");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::GetMainWindowOfCompositeControl() : sipCpp->GetMainWindowOfCompositeControl());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetMainWindowOfCompositeControl, doc_wxListView_GetMainWindowOfCompositeControl);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_InformFirstDirection, "InformFirstDirection(self, direction: int, size: int, availableOtherDir: int) -> bool");

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

    {
        int direction;
        int size;
        int availableOtherDir;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biii", &sipSelf, sipType_wxListView, &sipCpp, &direction, &size, &availableOtherDir))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::InformFirstDirection(direction,size,availableOtherDir) : sipCpp->InformFirstDirection(direction,size,availableOtherDir));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_InformFirstDirection, doc_wxListView_InformFirstDirection);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_SetCanFocus, "SetCanFocus(self, canFocus: bool)");

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

    {
        bool canFocus;
         ::wxListView *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::SetCanFocus(canFocus) : sipCpp->SetCanFocus(canFocus));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_SetCanFocus, doc_wxListView_SetCanFocus);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_Destroy, "Destroy(self) -> bool");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::Destroy() : sipCpp->Destroy());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_Destroy, doc_wxListView_Destroy);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_SetValidator, "SetValidator(self, validator: Validator)");

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

    {
        const  ::wxValidator* validator;
         ::wxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxValidator, &validator))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxListView::SetValidator(*validator) : sipCpp->SetValidator(*validator));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_SetValidator, doc_wxListView_SetValidator);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetValidator, "GetValidator(self) -> Validator");

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

    {
         ::wxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxListView::GetValidator() : sipCpp->GetValidator());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetValidator, doc_wxListView_GetValidator);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_ProcessEvent, "ProcessEvent(self, event: Event) -> bool");

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

    {
         ::wxEvent* event;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_ProcessEvent(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_ProcessEvent, doc_wxListView_ProcessEvent);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoEnable, "DoEnable(self, enable: bool)");

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

    {
        bool enable;
        sipwxListView *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoEnable(sipSelfWasArg,enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoEnable, doc_wxListView_DoEnable);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetPosition, "DoGetPosition(self) -> Tuple[int, int]");

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

    {
        int x;
        int y;
        const sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetPosition(sipSelfWasArg,&x,&y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",x,y);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetPosition, doc_wxListView_DoGetPosition);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetSize, "DoGetSize(self) -> Tuple[int, int]");

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

    {
        int width;
        int height;
        const sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetSize(sipSelfWasArg,&width,&height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",width,height);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetSize, doc_wxListView_DoGetSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetClientSize, "DoGetClientSize(self) -> Tuple[int, int]");

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

    {
        int width;
        int height;
        const sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetClientSize(sipSelfWasArg,&width,&height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",width,height);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetClientSize, doc_wxListView_DoGetClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetBestSize, "DoGetBestSize(self) -> Size");

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

    {
        const sipwxListView *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetBestSize, doc_wxListView_DoGetBestSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetBestClientSize, "DoGetBestClientSize(self) -> Size");

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

    {
        const sipwxListView *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetBestClientSize, doc_wxListView_DoGetBestClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoSetSize, "DoSetSize(self, x: int, y: int, width: int, height: int, sizeFlags: int)");

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

    {
        int x;
        int y;
        int width;
        int height;
        int sizeFlags;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiiii", &sipSelf, sipType_wxListView, &sipCpp, &x, &y, &width, &height, &sizeFlags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetSize(sipSelfWasArg,x,y,width,height,sizeFlags);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoSetSize, doc_wxListView_DoSetSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoSetClientSize, "DoSetClientSize(self, width: int, height: int)");

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

    {
        int width;
        int height;
        sipwxListView *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetClientSize(sipSelfWasArg,width,height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoSetClientSize, doc_wxListView_DoSetClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoSetSizeHints, "DoSetSizeHints(self, minW: int, minH: int, maxW: int, maxH: int, incW: int, incH: int)");

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

    {
        int minW;
        int minH;
        int maxW;
        int maxH;
        int incW;
        int incH;
        sipwxListView *sipCpp;

        static const char *sipKwdList[] = {
            sipName_minW,
            sipName_minH,
            sipName_maxW,
            sipName_maxH,
            sipName_incW,
            sipName_incH,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiiiii", &sipSelf, sipType_wxListView, &sipCpp, &minW, &minH, &maxW, &maxH, &incW, &incH))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetSizeHints(sipSelfWasArg,minW,minH,maxW,maxH,incW,incH);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoSetSizeHints, doc_wxListView_DoSetSizeHints);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoGetBorderSize, "DoGetBorderSize(self) -> Size");

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

    {
        const sipwxListView *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoGetBorderSize, doc_wxListView_DoGetBorderSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoMoveWindow, "DoMoveWindow(self, x: int, y: int, width: int, height: int)");

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

    {
        int x;
        int y;
        int width;
        int height;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiii", &sipSelf, sipType_wxListView, &sipCpp, &x, &y, &width, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoMoveWindow(sipSelfWasArg,x,y,width,height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoMoveWindow, doc_wxListView_DoMoveWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoSetWindowVariant, "DoSetWindowVariant(self, variant: WindowVariant)");

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

    {
         ::wxWindowVariant variant;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxWindowVariant, &variant))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetWindowVariant(sipSelfWasArg,variant);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoSetWindowVariant, doc_wxListView_DoSetWindowVariant);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetDefaultBorder, "GetDefaultBorder(self) -> Border");

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

    {
        const sipwxListView *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxListView, &sipCpp))
        {
             ::wxBorder sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_GetDefaultBorder(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxBorder);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetDefaultBorder, doc_wxListView_GetDefaultBorder);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetDefaultBorderForControl, "GetDefaultBorderForControl(self) -> Border");

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

    {
        const sipwxListView *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxListView, &sipCpp))
        {
             ::wxBorder sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_GetDefaultBorderForControl(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxBorder);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetDefaultBorderForControl, doc_wxListView_GetDefaultBorderForControl);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoFreeze, "DoFreeze(self)");

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

    {
        sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoFreeze(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoFreeze, doc_wxListView_DoFreeze);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_DoThaw, "DoThaw(self)");

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

    {
        sipwxListView *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoThaw(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_DoThaw, doc_wxListView_DoThaw);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_HasTransparentBackground, "HasTransparentBackground(self) -> bool");

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

    {
        sipwxListView *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_HasTransparentBackground(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_HasTransparentBackground, doc_wxListView_HasTransparentBackground);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_TryBefore, "TryBefore(self, event: Event) -> bool");

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

    {
         ::wxEvent* event;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_TryBefore(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_TryBefore, doc_wxListView_TryBefore);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_TryAfter, "TryAfter(self, event: Event) -> bool");

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

    {
         ::wxEvent* event;
        sipwxListView *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxListView, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_TryAfter(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ListView, sipName_TryAfter, doc_wxListView_TryAfter);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxListView_GetClassDefaultAttributes, "GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes");

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

    {
         ::wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "|E", sipType_wxWindowVariant, &variant))
        {
             ::wxVisualAttributes*sipRes;

        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxVisualAttributes( ::wxListView::GetClassDefaultAttributes(variant));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ListView, sipName_GetClassDefaultAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_wxListCtrl)
        return static_cast< ::wxListCtrl *>(sipCpp);

    if (targetType == sipType_wxControl)
        return static_cast< ::wxControl *>(sipCpp);

    if (targetType == sipType_wxWindow)
        return static_cast< ::wxWindow *>(sipCpp);

    if (targetType == sipType_wxWindowBase)
        return static_cast< ::wxWindowBase *>(sipCpp);

    if (targetType == sipType_wxEvtHandler)
        return static_cast< ::wxEvtHandler *>(sipCpp);

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

    if (targetType == sipType_wxTrackable)
        return static_cast< ::wxTrackable *>(sipCpp);

    return sipCppV;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxListView *>(sipCppV);
    else
        delete reinterpret_cast< ::wxListView *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void *array_wxListView(Py_ssize_t);}
static void *array_wxListView(Py_ssize_t sipNrElem)
{
    return new  ::wxListView[sipNrElem];
}


extern "C" {static void dealloc_wxListView(sipSimpleWrapper *);}
static void dealloc_wxListView(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerivedClass(sipSelf))
        reinterpret_cast<sipwxListView *>(sipGetAddress(sipSelf))->sipPySelf = SIP_NULLPTR;

    if (sipIsOwnedByPython(sipSelf))
    {
        release_wxListView(sipGetAddress(sipSelf), sipIsDerivedClass(sipSelf));
    }
}


extern "C" {static void *init_type_wxListView(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_wxListView(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **sipOwner, PyObject **sipParseErr)
{
    sipwxListView *sipCpp = SIP_NULLPTR;

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, ""))
        {

        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxListView();
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
         ::wxWindow* parent;
         ::wxWindowID winid = wxID_ANY;
        const  ::wxPoint& posdef = wxDefaultPosition;
        const  ::wxPoint* pos = &posdef;
        int posState = 0;
        const  ::wxSize& sizedef = wxDefaultSize;
        const  ::wxSize* size = &sizedef;
        int sizeState = 0;
        long style = wxLC_REPORT;
        const  ::wxValidator& validatordef = wxDefaultValidator;
        const  ::wxValidator* validator = &validatordef;
        const  ::wxString& namedef = wxListCtrlNameStr;
        const  ::wxString* name = &namedef;
        int nameState = 0;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "JH|iJ1J1lJ9J1", sipType_wxWindow, &parent, sipOwner, &winid, sipType_wxPoint, &pos, &posState, sipType_wxSize, &size, &sizeState, &style, sipType_wxValidator, &validator, sipType_wxString, &name, &nameState))
        {

        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxListView(parent,winid,*pos,*size,style,*validator,*name);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint *>(pos), sipType_wxPoint, posState);
            sipReleaseType(const_cast< ::wxSize *>(size), sipType_wxSize, sizeState);
            sipReleaseType(const_cast< ::wxString *>(name), sipType_wxString, nameState);

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


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


static PyMethodDef methods_wxListView[] = {
    {sipName_AcceptsFocus, meth_wxListView_AcceptsFocus, METH_VARARGS, doc_wxListView_AcceptsFocus},
    {sipName_AcceptsFocusFromKeyboard, meth_wxListView_AcceptsFocusFromKeyboard, METH_VARARGS, doc_wxListView_AcceptsFocusFromKeyboard},
    {sipName_AcceptsFocusRecursively, meth_wxListView_AcceptsFocusRecursively, METH_VARARGS, doc_wxListView_AcceptsFocusRecursively},
    {sipName_AddChild, SIP_MLMETH_CAST(meth_wxListView_AddChild), METH_VARARGS|METH_KEYWORDS, doc_wxListView_AddChild},
    {sipName_ClearColumnImage, SIP_MLMETH_CAST(meth_wxListView_ClearColumnImage), METH_VARARGS|METH_KEYWORDS, doc_wxListView_ClearColumnImage},
    {sipName_Destroy, meth_wxListView_Destroy, METH_VARARGS, doc_wxListView_Destroy},
    {sipName_DoEnable, SIP_MLMETH_CAST(meth_wxListView_DoEnable), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoEnable},
    {sipName_DoFreeze, meth_wxListView_DoFreeze, METH_VARARGS, doc_wxListView_DoFreeze},
    {sipName_DoGetBestClientSize, meth_wxListView_DoGetBestClientSize, METH_VARARGS, doc_wxListView_DoGetBestClientSize},
    {sipName_DoGetBestSize, meth_wxListView_DoGetBestSize, METH_VARARGS, doc_wxListView_DoGetBestSize},
    {sipName_DoGetBorderSize, meth_wxListView_DoGetBorderSize, METH_VARARGS, doc_wxListView_DoGetBorderSize},
    {sipName_DoGetClientSize, SIP_MLMETH_CAST(meth_wxListView_DoGetClientSize), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoGetClientSize},
    {sipName_DoGetPosition, SIP_MLMETH_CAST(meth_wxListView_DoGetPosition), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoGetPosition},
    {sipName_DoGetSize, SIP_MLMETH_CAST(meth_wxListView_DoGetSize), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoGetSize},
    {sipName_DoMoveWindow, SIP_MLMETH_CAST(meth_wxListView_DoMoveWindow), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoMoveWindow},
    {sipName_DoSetClientSize, SIP_MLMETH_CAST(meth_wxListView_DoSetClientSize), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoSetClientSize},
    {sipName_DoSetSize, SIP_MLMETH_CAST(meth_wxListView_DoSetSize), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoSetSize},
    {sipName_DoSetSizeHints, SIP_MLMETH_CAST(meth_wxListView_DoSetSizeHints), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoSetSizeHints},
    {sipName_DoSetWindowVariant, SIP_MLMETH_CAST(meth_wxListView_DoSetWindowVariant), METH_VARARGS|METH_KEYWORDS, doc_wxListView_DoSetWindowVariant},
    {sipName_DoThaw, meth_wxListView_DoThaw, METH_VARARGS, doc_wxListView_DoThaw},
    {sipName_Focus, SIP_MLMETH_CAST(meth_wxListView_Focus), METH_VARARGS|METH_KEYWORDS, doc_wxListView_Focus},
    {sipName_GetClassDefaultAttributes, SIP_MLMETH_CAST(meth_wxListView_GetClassDefaultAttributes), METH_VARARGS|METH_KEYWORDS, doc_wxListView_GetClassDefaultAttributes},
    {sipName_GetClientAreaOrigin, meth_wxListView_GetClientAreaOrigin, METH_VARARGS, doc_wxListView_GetClientAreaOrigin},
    {sipName_GetDefaultBorder, meth_wxListView_GetDefaultBorder, METH_VARARGS, doc_wxListView_GetDefaultBorder},
    {sipName_GetDefaultBorderForControl, meth_wxListView_GetDefaultBorderForControl, METH_VARARGS, doc_wxListView_GetDefaultBorderForControl},
    {sipName_GetFirstSelected, meth_wxListView_GetFirstSelected, METH_VARARGS, doc_wxListView_GetFirstSelected},
    {sipName_GetFocusedItem, meth_wxListView_GetFocusedItem, METH_VARARGS, doc_wxListView_GetFocusedItem},
    {sipName_GetMainWindowOfCompositeControl, meth_wxListView_GetMainWindowOfCompositeControl, METH_VARARGS, doc_wxListView_GetMainWindowOfCompositeControl},
    {sipName_GetNextSelected, SIP_MLMETH_CAST(meth_wxListView_GetNextSelected), METH_VARARGS|METH_KEYWORDS, doc_wxListView_GetNextSelected},
    {sipName_GetValidator, meth_wxListView_GetValidator, METH_VARARGS, doc_wxListView_GetValidator},
    {sipName_HasTransparentBackground, meth_wxListView_HasTransparentBackground, METH_VARARGS, doc_wxListView_HasTransparentBackground},
    {sipName_InformFirstDirection, SIP_MLMETH_CAST(meth_wxListView_InformFirstDirection), METH_VARARGS|METH_KEYWORDS, doc_wxListView_InformFirstDirection},
    {sipName_InheritAttributes, meth_wxListView_InheritAttributes, METH_VARARGS, doc_wxListView_InheritAttributes},
    {sipName_InitDialog, meth_wxListView_InitDialog, METH_VARARGS, doc_wxListView_InitDialog},
    {sipName_IsSelected, SIP_MLMETH_CAST(meth_wxListView_IsSelected), METH_VARARGS|METH_KEYWORDS, doc_wxListView_IsSelected},
    {sipName_OnGetItemAttr, SIP_MLMETH_CAST(meth_wxListView_OnGetItemAttr), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_OnGetItemColumnImage, SIP_MLMETH_CAST(meth_wxListView_OnGetItemColumnImage), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_OnGetItemImage, SIP_MLMETH_CAST(meth_wxListView_OnGetItemImage), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_OnGetItemText, SIP_MLMETH_CAST(meth_wxListView_OnGetItemText), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_OnInternalIdle, meth_wxListView_OnInternalIdle, METH_VARARGS, doc_wxListView_OnInternalIdle},
    {sipName_ProcessEvent, SIP_MLMETH_CAST(meth_wxListView_ProcessEvent), METH_VARARGS|METH_KEYWORDS, doc_wxListView_ProcessEvent},
    {sipName_RemoveChild, SIP_MLMETH_CAST(meth_wxListView_RemoveChild), METH_VARARGS|METH_KEYWORDS, doc_wxListView_RemoveChild},
    {sipName_Select, SIP_MLMETH_CAST(meth_wxListView_Select), METH_VARARGS|METH_KEYWORDS, doc_wxListView_Select},
    {sipName_SendDestroyEvent, meth_wxListView_SendDestroyEvent, METH_VARARGS, SIP_NULLPTR},
    {sipName_SetCanFocus, SIP_MLMETH_CAST(meth_wxListView_SetCanFocus), METH_VARARGS|METH_KEYWORDS, doc_wxListView_SetCanFocus},
    {sipName_SetColumnImage, SIP_MLMETH_CAST(meth_wxListView_SetColumnImage), METH_VARARGS|METH_KEYWORDS, doc_wxListView_SetColumnImage},
    {sipName_SetValidator, SIP_MLMETH_CAST(meth_wxListView_SetValidator), METH_VARARGS|METH_KEYWORDS, doc_wxListView_SetValidator},
    {sipName_ShouldInheritColours, meth_wxListView_ShouldInheritColours, METH_VARARGS, doc_wxListView_ShouldInheritColours},
    {sipName_TransferDataFromWindow, meth_wxListView_TransferDataFromWindow, METH_VARARGS, doc_wxListView_TransferDataFromWindow},
    {sipName_TransferDataToWindow, meth_wxListView_TransferDataToWindow, METH_VARARGS, doc_wxListView_TransferDataToWindow},
    {sipName_TryAfter, SIP_MLMETH_CAST(meth_wxListView_TryAfter), METH_VARARGS|METH_KEYWORDS, doc_wxListView_TryAfter},
    {sipName_TryBefore, SIP_MLMETH_CAST(meth_wxListView_TryBefore), METH_VARARGS|METH_KEYWORDS, doc_wxListView_TryBefore},
    {sipName_Validate, meth_wxListView_Validate, METH_VARARGS, doc_wxListView_Validate}
};

sipVariableDef variables_wxListView[] = {
    {PropertyVariable, sipName_FocusedItem, &methods_wxListView[26], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_FirstSelected, &methods_wxListView[25], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxListView, "ListView()\n"
"ListView(parent, winid=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=LC_REPORT, validator=DefaultValidator, name=ListCtrlNameStr)\n"
"\n"
"This class currently simply presents a simpler to use interface for\n"
"the wxListCtrl  it can be thought of as a fa\xffffffc3\xffffffa7ade for that complicated\n"
"class.");


sipClassTypeDef sipTypeDef__core_wxListView = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxListView,
        SIP_NULLPTR,
        SIP_NULLPTR
    },
    {
        sipNameNr_ListView,
        {0, 0, 1},
        53, methods_wxListView,
        0, SIP_NULLPTR,
        2, variables_wxListView,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxListView,
    -1,
    -1,
    supers_wxListView,
    SIP_NULLPTR,
    init_type_wxListView,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxListView,
    SIP_NULLPTR,
    array_wxListView,
    SIP_NULLPTR,
    release_wxListView,
    cast_wxListView,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR
};
-------------- next part --------------
//---------------------------------------------------------------------------
// This file is generated by wxPython's SIP generator.  Do not edit by hand.
//
// Copyright: (c) 2018 by Total Control Software
// License:   wxWindows License
//
// This file will be included by _core.sip
//
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

const int wxLC_VRULES;
const int wxLC_HRULES;
const int wxLC_ICON;
const int wxLC_SMALL_ICON;
const int wxLC_LIST;
const int wxLC_REPORT;
const int wxLC_ALIGN_TOP;
const int wxLC_ALIGN_LEFT;
const int wxLC_AUTOARRANGE;
const int wxLC_VIRTUAL;
const int wxLC_EDIT_LABELS;
const int wxLC_NO_HEADER;
const int wxLC_NO_SORT_HEADER;
const int wxLC_SINGLE_SEL;
const int wxLC_SORT_ASCENDING;
const int wxLC_SORT_DESCENDING;
const int wxLC_MASK_TYPE;
const int wxLC_MASK_ALIGN;
const int wxLC_MASK_SORT;
const int wxLIST_MASK_STATE;
const int wxLIST_MASK_TEXT;
const int wxLIST_MASK_IMAGE;
const int wxLIST_MASK_DATA;
const int wxLIST_SET_ITEM;
const int wxLIST_MASK_WIDTH;
const int wxLIST_MASK_FORMAT;
const int wxLIST_STATE_DONTCARE;
const int wxLIST_STATE_DROPHILITED;
const int wxLIST_STATE_FOCUSED;
const int wxLIST_STATE_SELECTED;
const int wxLIST_STATE_CUT;
const int wxLIST_STATE_DISABLED;
const int wxLIST_STATE_FILTERED;
const int wxLIST_STATE_INUSE;
const int wxLIST_STATE_PICKED;
const int wxLIST_STATE_SOURCE;
const int wxLIST_HITTEST_ABOVE;
const int wxLIST_HITTEST_BELOW;
const int wxLIST_HITTEST_NOWHERE;
const int wxLIST_HITTEST_ONITEMICON;
const int wxLIST_HITTEST_ONITEMLABEL;
const int wxLIST_HITTEST_ONITEMRIGHT;
const int wxLIST_HITTEST_ONITEMSTATEICON;
const int wxLIST_HITTEST_TOLEFT;
const int wxLIST_HITTEST_TORIGHT;
const int wxLIST_HITTEST_ONITEM;
const int wxLIST_GETSUBITEMRECT_WHOLEITEM;
enum 
{
    wxLIST_NEXT_ABOVE,
    wxLIST_NEXT_ALL,
    wxLIST_NEXT_BELOW,
    wxLIST_NEXT_LEFT,
    wxLIST_NEXT_RIGHT
};

enum 
{
    wxLIST_ALIGN_DEFAULT,
    wxLIST_ALIGN_LEFT,
    wxLIST_ALIGN_TOP,
    wxLIST_ALIGN_SNAP_TO_GRID
};

enum wxListColumnFormat
{
    wxLIST_FORMAT_LEFT,
    wxLIST_FORMAT_RIGHT,
    wxLIST_FORMAT_CENTRE,
    wxLIST_FORMAT_CENTER
};

enum 
{
    wxLIST_AUTOSIZE,
    wxLIST_AUTOSIZE_USEHEADER
};

enum 
{
    wxLIST_RECT_BOUNDS,
    wxLIST_RECT_ICON,
    wxLIST_RECT_LABEL
};

enum 
{
    wxLIST_FIND_UP,
    wxLIST_FIND_DOWN,
    wxLIST_FIND_LEFT,
    wxLIST_FIND_RIGHT
};

wxEventType wxEVT_LIST_BEGIN_DRAG   /PyName=wxEVT_LIST_BEGIN_DRAG/;

wxEventType wxEVT_LIST_BEGIN_RDRAG   /PyName=wxEVT_LIST_BEGIN_RDRAG/;

wxEventType wxEVT_LIST_BEGIN_LABEL_EDIT   /PyName=wxEVT_LIST_BEGIN_LABEL_EDIT/;

wxEventType wxEVT_LIST_END_LABEL_EDIT   /PyName=wxEVT_LIST_END_LABEL_EDIT/;

wxEventType wxEVT_LIST_DELETE_ITEM   /PyName=wxEVT_LIST_DELETE_ITEM/;

wxEventType wxEVT_LIST_DELETE_ALL_ITEMS   /PyName=wxEVT_LIST_DELETE_ALL_ITEMS/;

wxEventType wxEVT_LIST_ITEM_SELECTED   /PyName=wxEVT_LIST_ITEM_SELECTED/;

wxEventType wxEVT_LIST_ITEM_DESELECTED   /PyName=wxEVT_LIST_ITEM_DESELECTED/;

wxEventType wxEVT_LIST_KEY_DOWN   /PyName=wxEVT_LIST_KEY_DOWN/;

wxEventType wxEVT_LIST_INSERT_ITEM   /PyName=wxEVT_LIST_INSERT_ITEM/;

wxEventType wxEVT_LIST_COL_CLICK   /PyName=wxEVT_LIST_COL_CLICK/;

wxEventType wxEVT_LIST_ITEM_RIGHT_CLICK   /PyName=wxEVT_LIST_ITEM_RIGHT_CLICK/;

wxEventType wxEVT_LIST_ITEM_MIDDLE_CLICK   /PyName=wxEVT_LIST_ITEM_MIDDLE_CLICK/;

wxEventType wxEVT_LIST_ITEM_ACTIVATED   /PyName=wxEVT_LIST_ITEM_ACTIVATED/;

wxEventType wxEVT_LIST_CACHE_HINT   /PyName=wxEVT_LIST_CACHE_HINT/;

wxEventType wxEVT_LIST_COL_RIGHT_CLICK   /PyName=wxEVT_LIST_COL_RIGHT_CLICK/;

wxEventType wxEVT_LIST_COL_BEGIN_DRAG   /PyName=wxEVT_LIST_COL_BEGIN_DRAG/;

wxEventType wxEVT_LIST_COL_DRAGGING   /PyName=wxEVT_LIST_COL_DRAGGING/;

wxEventType wxEVT_LIST_COL_END_DRAG   /PyName=wxEVT_LIST_COL_END_DRAG/;

wxEventType wxEVT_LIST_ITEM_FOCUSED   /PyName=wxEVT_LIST_ITEM_FOCUSED/;

class wxListItemAttr
{
    %Docstring
        ListItemAttr()
        ListItemAttr(colText, colBack, font)
        
        Represents the attributes (color, font, ...) of a wxListCtrl's
        wxListItem.
    %End
    %TypeHeaderCode
        #include <wx/listctrl.h>
    %End

public:
    wxListItemAttr();

    wxListItemAttr(
        const wxColour & colText,
        const wxColour & colBack,
        const wxFont & font
    );

    const wxColour & GetBackgroundColour() const;
    %Docstring
        GetBackgroundColour() -> Colour
        
        Returns the currently set background color.
    %End

    const wxFont & GetFont() const;
    %Docstring
        GetFont() -> Font
        
        Returns the currently set font.
    %End

    const wxColour & GetTextColour() const;
    %Docstring
        GetTextColour() -> Colour
        
        Returns the currently set text color.
    %End

    bool HasBackgroundColour() const;
    %Docstring
        HasBackgroundColour() -> bool
        
        Returns true if the currently set background color is valid.
    %End

    bool HasFont() const;
    %Docstring
        HasFont() -> bool
        
        Returns true if the currently set font is valid.
    %End

    bool HasTextColour() const;
    %Docstring
        HasTextColour() -> bool
        
        Returns true if the currently set text color is valid.
    %End

    void SetBackgroundColour(
        const wxColour & colour
    );
    %Docstring
        SetBackgroundColour(colour)
        
        Sets a new background color.
    %End

    void SetFont(
        const wxFont & font
    );
    %Docstring
        SetFont(font)
        
        Sets a new font.
    %End

    void SetTextColour(
        const wxColour & colour
    );
    %Docstring
        SetTextColour(colour)
        
        Sets a new text color.
    %End

    public:


    %Property(name=BackgroundColour, get=GetBackgroundColour, set=SetBackgroundColour)
    %Property(name=Font, get=GetFont, set=SetFont)
    %Property(name=TextColour, get=GetTextColour, set=SetTextColour)
};  // end of class wxListItemAttr


class wxListItem : wxObject
{
    %Docstring
        ListItem()
        
        This class stores information about a wxListCtrl item or column.
    %End
    %TypeHeaderCode
        #include <wx/listctrl.h>
    %End

public:
    wxListItem();

    void Clear();
    %Docstring
        Clear()
        
        Resets the item state to the default.
    %End

    wxListColumnFormat GetAlign() const;
    %Docstring
        GetAlign() -> ListColumnFormat
        
        Returns the alignment for this item.
    %End

    wxColour GetBackgroundColour() const;
    %Docstring
        GetBackgroundColour() -> Colour
        
        Returns the background colour for this item.
    %End

    int GetColumn() const;
    %Docstring
        GetColumn() -> int
        
        Returns the zero-based column; meaningful only in report mode.
    %End

    long GetData() const;
    %Docstring
        GetData() -> long
        
        Returns client data associated with the control.
    %End

    wxFont GetFont() const;
    %Docstring
        GetFont() -> Font
        
        Returns the font used to display the item.
    %End

    long GetId() const;
    %Docstring
        GetId() -> long
        
        Returns the zero-based item position.
    %End

    int GetImage() const;
    %Docstring
        GetImage() -> int
        
        Returns the zero-based index of the image associated with the item
        into the image list.
    %End

    long GetMask() const;
    %Docstring
        GetMask() -> long
        
        Returns a bit mask indicating which fields of the structure are valid.
    %End

    long GetState() const;
    %Docstring
        GetState() -> long
        
        Returns a bit field representing the state of the item.
    %End

    const wxString & GetText() const;
    %Docstring
        GetText() -> String
        
        Returns the label/header text.
    %End

    wxColour GetTextColour() const;
    %Docstring
        GetTextColour() -> Colour
        
        Returns the text colour.
    %End

    int GetWidth() const;
    %Docstring
        GetWidth() -> int
        
        Meaningful only for column headers in report mode.
    %End

    void SetAlign(
        wxListColumnFormat align
    );
    %Docstring
        SetAlign(align)
        
        Sets the alignment for the item.
    %End

    void SetBackgroundColour(
        const wxColour & colBack
    );
    %Docstring
        SetBackgroundColour(colBack)
        
        Sets the background colour for the item.
    %End

    void SetColumn(
        int col
    );
    %Docstring
        SetColumn(col)
        
        Sets the zero-based column.
    %End

    void SetData(
        long data
    );
    %Docstring
        SetData(data)
        
        Sets client data for the item.
    %End

    void SetFont(
        const wxFont & font
    );
    %Docstring
        SetFont(font)
        
        Sets the font for the item.
    %End

    void SetId(
        long id
    );
    %Docstring
        SetId(id)
        
        Sets the zero-based item position.
    %End

    void SetImage(
        int image
    );
    %Docstring
        SetImage(image)
        
        Sets the zero-based index of the image associated with the item into
        the image list.
    %End

    void SetMask(
        long mask
    );
    %Docstring
        SetMask(mask)
        
        Sets the mask of valid fields.
    %End

    void SetState(
        long state
    );
    %Docstring
        SetState(state)
        
        Sets the item state flags (note that the valid state flags are
        influenced by the value of the state mask, see
        wxListItem::SetStateMask).
    %End

    void SetStateMask(
        long stateMask
    );
    %Docstring
        SetStateMask(stateMask)
        
        Sets the bitmask that is used to determine which of the state flags
        are to be set.
    %End

    void SetText(
        const wxString & text
    );
    %Docstring
        SetText(text)
        
        Sets the text label for the item.
    %End

    void SetTextColour(
        const wxColour & colText
    );
    %Docstring
        SetTextColour(colText)
        
        Sets the text colour for the item.
    %End

    void SetWidth(
        int width
    );
    %Docstring
        SetWidth(width)
        
        Meaningful only for column headers in report mode.
    %End

    public:


    %Property(name=Align, get=GetAlign, set=SetAlign)
    %Property(name=BackgroundColour, get=GetBackgroundColour, set=SetBackgroundColour)
    %Property(name=Column, get=GetColumn, set=SetColumn)
    %Property(name=Data, get=GetData, set=SetData)
    %Property(name=Font, get=GetFont, set=SetFont)
    %Property(name=Id, get=GetId, set=SetId)
    %Property(name=Image, get=GetImage, set=SetImage)
    %Property(name=Mask, get=GetMask, set=SetMask)
    %Property(name=State, get=GetState, set=SetState)
    %Property(name=Text, get=GetText, set=SetText)
    %Property(name=TextColour, get=GetTextColour, set=SetTextColour)
    %Property(name=Width, get=GetWidth, set=SetWidth)
};  // end of class wxListItem


const char* wxListCtrlNameStr;

class wxListCtrl : wxControl
{
    %Docstring
        ListCtrl()
        ListCtrl(parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=LC_ICON, validator=DefaultValidator, name=ListCtrlNameStr)
        
        A list control presents lists in a number of formats: list view,
        report view, icon view and small icon view.
    %End
    %TypeHeaderCode
        #include <wx/listctrl.h>
    %End

    %TypeCode
        static int wxCALLBACK wxPyListCtrl_SortItems(wxIntPtr item1, wxIntPtr item2, wxIntPtr funcPtr)
        {
            int retval = 0;
            PyObject* func = (PyObject*)funcPtr;
            wxPyThreadBlocker blocker;
        
        #if SIZEOF_LONG >= SIZEOF_VOID_P
            PyObject* args = Py_BuildValue("(ll)", item1, item2);
        #else
            PyObject* args = Py_BuildValue("(LL)", item1, item2);
        #endif
        
            PyObject* result = PyEval_CallObject(func, args);
            Py_DECREF(args);
            if (result) {
                retval = wxPyInt_AsLong(result);
                Py_DECREF(result);
            }
            return retval;
        }
    %End
public:
    wxListCtrl();
    %PreMethodCode
        if (!wxPyCheckForApp()) return NULL;
    %End

    wxListCtrl(
        wxWindow * parent   /TransferThis/,
        wxWindowID id = wxID_ANY,
        const wxPoint & pos = wxDefaultPosition,
        const wxSize & size = wxDefaultSize,
        long style = wxLC_ICON,
        const wxValidator & validator = wxDefaultValidator,
        const wxString & name = wxListCtrlNameStr
    );
    %PreMethodCode
        if (!wxPyCheckForApp()) return NULL;
    %End

    ~wxListCtrl();

    long AppendColumn(
        const wxString & heading,
        wxListColumnFormat format = wxLIST_FORMAT_LEFT,
        int width = -1
    );
    %Docstring
        AppendColumn(heading, format=LIST_FORMAT_LEFT, width=-1) -> long
        
        Adds a new column to the list control in report view mode.
    %End

    bool Arrange(
        int flag = wxLIST_ALIGN_DEFAULT
    );
    %Docstring
        Arrange(flag=LIST_ALIGN_DEFAULT) -> bool
        
        Arranges the items in icon or small icon view.
    %End

    void AssignImageList(
        wxImageList * imageList   /Transfer/,
        int which
    );
    %Docstring
        AssignImageList(imageList, which)
        
        Sets the image list associated with the control and takes ownership of
        it (i.e.
    %End

    void ClearAll();
    %Docstring
        ClearAll()
        
        Deletes all items and all columns.
    %End

    bool Create(
        wxWindow * parent   /TransferThis/,
        wxWindowID id = wxID_ANY,
        const wxPoint & pos = wxDefaultPosition,
        const wxSize & size = wxDefaultSize,
        long style = wxLC_ICON,
        const wxValidator & validator = wxDefaultValidator,
        const wxString & name = wxListCtrlNameStr
    );
    %Docstring
        Create(parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=LC_ICON, validator=DefaultValidator, name=ListCtrlNameStr) -> bool
        
        Creates the list control.
    %End

    bool DeleteAllColumns();
    %Docstring
        DeleteAllColumns() -> bool
        
        Delete all columns in the list control.
    %End

    bool DeleteAllItems();
    %Docstring
        DeleteAllItems() -> bool
        
        Deletes all items in the list control.
    %End

    bool DeleteColumn(
        int col
    );
    %Docstring
        DeleteColumn(col) -> bool
        
        Deletes a column.
    %End

    bool DeleteItem(
        long item
    );
    %Docstring
        DeleteItem(item) -> bool
        
        Deletes the specified item.
    %End

    wxTextCtrl * EditLabel(
        long item
    );
    %Docstring
        EditLabel(item) -> TextCtrl
        
        Starts editing the label of the given item.
    %End

    void EnableAlternateRowColours(
        bool enable = true
    );
    %Docstring
        EnableAlternateRowColours(enable=True)
        
        Enable alternating row background colours (also called zebra
        striping).
    %End

    void EnableBellOnNoMatch(
        bool on = true
    );
    %Docstring
        EnableBellOnNoMatch(on=True)
        
        Enable or disable a beep if there is no match for the currently
        entered text when searching for the item from keyboard.
    %End

    bool EnsureVisible(
        long item
    );
    %Docstring
        EnsureVisible(item) -> bool
        
        Ensures this item is visible.
    %End

    long FindItem(
        long start,
        const wxString & str,
        bool partial = false
    );
    %Docstring
        FindItem(start, str, partial=False) -> long
        FindItem(start, data) -> long
        FindItem(start, pt, direction) -> long
        
        Find an item whose label matches this string, starting from start or
        the beginning if start is -1.
    %End

    long FindItem(
        long start,
        wxUIntPtr data
    );

    long FindItem(
        long start,
        const wxPoint & pt,
        int direction
    );

    wxListItem* GetColumn(int col)   /Factory/;
    %Docstring
        GetColumn(col) -> ListItem
        
        Gets information about this column. See SetItem() for more
        information.
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_GetColumn(sipCpp, col);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    wxListItem* _wxListCtrl_GetColumn(wxListCtrl* self, int col)
    {
        wxListItem item;
        item.SetMask( wxLIST_MASK_STATE |
                      wxLIST_MASK_TEXT  |
                      wxLIST_MASK_IMAGE |
                      wxLIST_MASK_DATA  |
                      wxLIST_SET_ITEM   |
                      wxLIST_MASK_WIDTH |
                      wxLIST_MASK_FORMAT
                      );
        if (self->GetColumn(col, item))
            return new wxListItem(item);
        else
            return NULL;
    }
    %End

    int GetColumnCount() const;
    %Docstring
        GetColumnCount() -> int
        
        Returns the number of columns.
    %End

    int GetColumnIndexFromOrder(
        int pos
    ) const;
    %Docstring
        GetColumnIndexFromOrder(pos) -> int
        
        Gets the column index from its position in visual order.
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_GetColumnIndexFromOrder(sipCpp, pos);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    int _wxListCtrl_GetColumnIndexFromOrder(const wxListCtrl* self, int pos)
    {
        #ifdef wxHAS_LISTCTRL_COLUMN_ORDER
            return self->GetColumnIndexFromOrder(pos);
        #else
            wxPyRaiseNotImplemented();
            return 0;
        #endif
    }
    %End

    int GetColumnOrder(
        int col
    ) const;
    %Docstring
        GetColumnOrder(col) -> int
        
        Gets the column visual order position.
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_GetColumnOrder(sipCpp, col);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    int _wxListCtrl_GetColumnOrder(const wxListCtrl* self, int col)
    {
        #ifdef wxHAS_LISTCTRL_COLUMN_ORDER
            return self->GetColumnOrder(col);
        #else
            wxPyRaiseNotImplemented();
            return 0;
        #endif
    }
    %End

    int GetColumnWidth(
        int col
    ) const;
    %Docstring
        GetColumnWidth(col) -> int
        
        Gets the column width (report view only).
    %End

    wxArrayInt* GetColumnsOrder() const   /Factory/;
    %Docstring
        GetColumnsOrder() -> ArrayInt
        
        Returns the array containing the orders of all columns.
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_GetColumnsOrder(sipCpp);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    wxArrayInt* _wxListCtrl_GetColumnsOrder(const wxListCtrl* self)
    {
        #ifdef wxHAS_LISTCTRL_COLUMN_ORDER
            return new wxArrayInt(self->GetColumnsOrder());
        #else
            wxPyRaiseNotImplemented();
            return new wxArrayInt();
        #endif
    }
    %End

    int GetCountPerPage() const;
    %Docstring
        GetCountPerPage() -> int
        
        Gets the number of items that can fit vertically in the visible area
        of the list control (list or report view) or the total number of items
        in the list control (icon or small icon view).
    %End

    wxTextCtrl * GetEditControl() const;
    %Docstring
        GetEditControl() -> TextCtrl
        
        Returns the edit control being currently used to edit a label.
    %End

    wxImageList * GetImageList(
        int which
    ) const;
    %Docstring
        GetImageList(which) -> ImageList
        
        Returns the specified image list.
    %End

    wxListItem* GetItem(int itemIdx,  int col=0)   /Factory/;
    %Docstring
        GetItem(itemIdx, col=0) -> ListItem
        
        Gets information about the item. See SetItem() for more information.
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_GetItem(sipCpp, itemIdx, col);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    wxListItem* _wxListCtrl_GetItem(wxListCtrl* self, int itemIdx, int col)
    {
        wxListItem* info = new wxListItem;
        info->m_itemId = itemIdx;
        info->m_col = col;
        info->m_mask = 0xFFFF;
        info->m_stateMask = 0xFFFF;
        self->GetItem(*info);
        return info;
    }
    %End

    wxColour GetItemBackgroundColour(
        long item
    ) const;
    %Docstring
        GetItemBackgroundColour(item) -> Colour
        
        Returns the colour for this item.
    %End

    int GetItemCount() const;
    %Docstring
        GetItemCount() -> int
        
        Returns the number of items in the list control.
    %End

    long GetItemData(
        long item
    ) const;
    %Docstring
        GetItemData(item) -> long
        
        Gets the application-defined data associated with this item.
    %End

    wxFont GetItemFont(
        long item
    ) const;
    %Docstring
        GetItemFont(item) -> Font
        
        Returns the item's font.
    %End

    wxPoint* GetItemPosition(long item)   /Factory/;
    %Docstring
        GetItemPosition(item) -> Point
        
        Returns the position of the item, in icon or small icon view.
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_GetItemPosition(sipCpp, item);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    wxPoint* _wxListCtrl_GetItemPosition(wxListCtrl* self, long item)
    {
        wxPoint* pos = new wxPoint;
        self->GetItemPosition(item, *pos);
        return pos;
    }
    %End

    wxRect* GetItemRect(long item,  int code = wxLIST_RECT_BOUNDS)   /Factory/;
    %Docstring
        GetItemRect(item, code=LIST_RECT_BOUNDS) -> Rect
        
        Returns the rectangle representing the item's size and position, in
        physical coordinates.
        code is one of wx.LIST_RECT_BOUNDS, wx.LIST_RECT_ICON,
        wx.LIST_RECT_LABEL.
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_GetItemRect(sipCpp, item, code);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    wxRect* _wxListCtrl_GetItemRect(wxListCtrl* self, long item, int code)
    {
        wxRect* rect = new wxRect;
        self->GetItemRect(item, *rect, code);
        return rect;
    }
    %End

    wxSize GetItemSpacing() const;
    %Docstring
        GetItemSpacing() -> Size
        
        Retrieves the spacing between icons in pixels: horizontal spacing is
        returned as x component of the wxSize object and the vertical spacing
        as its y component.
    %End

    int GetItemState(
        long item,
        long stateMask
    ) const;
    %Docstring
        GetItemState(item, stateMask) -> int
        
        Gets the item state.
    %End

    wxString GetItemText(
        long item,
        int col = 0
    ) const;
    %Docstring
        GetItemText(item, col=0) -> String
        
        Gets the item text for this item.
    %End

    wxColour GetItemTextColour(
        long item
    ) const;
    %Docstring
        GetItemTextColour(item) -> Colour
        
        Returns the colour for this item.
    %End

    long GetNextItem(
        long item,
        int geometry = wxLIST_NEXT_ALL,
        int state = wxLIST_STATE_DONTCARE
    ) const;
    %Docstring
        GetNextItem(item, geometry=LIST_NEXT_ALL, state=LIST_STATE_DONTCARE) -> long
        
        Searches for an item with the given geometry or state, starting from
        item but excluding the item itself.
    %End

    int GetSelectedItemCount() const;
    %Docstring
        GetSelectedItemCount() -> int
        
        Returns the number of selected items in the list control.
    %End

    bool GetSubItemRect(
        long item,
        long subItem,
        wxRect & rect,
        int code = wxLIST_RECT_BOUNDS
    ) const;
    %Docstring
        GetSubItemRect(item, subItem, rect, code=LIST_RECT_BOUNDS) -> bool
        
        Returns the rectangle representing the size and position, in physical
        coordinates, of the given subitem, i.e.
    %End

    wxColour GetTextColour() const;
    %Docstring
        GetTextColour() -> Colour
        
        Gets the text colour of the list control.
    %End

    long GetTopItem() const;
    %Docstring
        GetTopItem() -> long
        
        Gets the index of the topmost visible item when in list or report
        view.
    %End

    wxRect GetViewRect() const;
    %Docstring
        GetViewRect() -> Rect
        
        Returns the rectangle taken by all items in the control.
    %End

    void SetAlternateRowColour(
        const wxColour & colour
    );
    %Docstring
        SetAlternateRowColour(colour)
        
        Set the alternative row background colour to a specific colour.
    %End

    long HitTest(
        const wxPoint & point,
        int & flags   /Out/
    ) const;
    %Docstring
        HitTest(point) -> (long, flags)
        
        Determines which item (if any) is at the specified point, giving
        details in flags.
    %End

    bool InReportView() const;
    %Docstring
        InReportView() -> bool
        
        Returns true if the control is currently using wxLC_REPORT style.
    %End

    long InsertColumn(
        long col,
        const wxListItem & info
    );
    %Docstring
        InsertColumn(col, info) -> long
        InsertColumn(col, heading, format=LIST_FORMAT_LEFT, width=LIST_AUTOSIZE) -> long
        
        For report view mode (only), inserts a column.
    %End

    long InsertColumn(
        long col,
        const wxString & heading,
        int format = wxLIST_FORMAT_LEFT,
        int width = wxLIST_AUTOSIZE
    );

    long InsertItem(
        wxListItem & info
    );
    %Docstring
        InsertItem(info) -> long
        InsertItem(index, label) -> long
        InsertItem(index, imageIndex) -> long
        InsertItem(index, label, imageIndex) -> long
        
        Inserts an item, returning the index of the new item if successful, -1
        otherwise.
    %End

    long InsertItem(
        long index,
        const wxString & label
    );

    long InsertItem(
        long index,
        int imageIndex
    );

    long InsertItem(
        long index,
        const wxString & label,
        int imageIndex
    );

    bool IsVirtual() const;
    %Docstring
        IsVirtual() -> bool
        
        Returns true if the control is currently in virtual report view.
    %End

    void RefreshItem(
        long item
    );
    %Docstring
        RefreshItem(item)
        
        Redraws the given item.
    %End

    void RefreshItems(
        long itemFrom,
        long itemTo
    );
    %Docstring
        RefreshItems(itemFrom, itemTo)
        
        Redraws the items between itemFrom and itemTo.
    %End

    bool ScrollList(
        int dx,
        int dy
    );
    %Docstring
        ScrollList(dx, dy) -> bool
        
        Scrolls the list control.
    %End

    bool SetBackgroundColour(
        const wxColour & col
    );
    %Docstring
        SetBackgroundColour(col) -> bool
        
        Sets the background colour.
    %End

    bool SetColumn(
        int col,
        wxListItem & item
    );
    %Docstring
        SetColumn(col, item) -> bool
        
        Sets information about this column.
    %End

    bool SetColumnWidth(
        int col,
        int width
    );
    %Docstring
        SetColumnWidth(col, width) -> bool
        
        Sets the column width.
    %End

    bool SetColumnsOrder(
        const wxArrayInt & orders
    );
    %Docstring
        SetColumnsOrder(orders) -> bool
        
        Changes the order in which the columns are shown.
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_SetColumnsOrder(sipCpp, orders);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    bool _wxListCtrl_SetColumnsOrder(wxListCtrl* self, const wxArrayInt *orders)
    {
        #ifdef wxHAS_LISTCTRL_COLUMN_ORDER
            return self->SetColumnsOrder(*orders);
        #else
            wxPyRaiseNotImplemented();
            return false;
        #endif
    }
    %End

    void SetImageList(
        wxImageList * imageList,
        int which
    );
    %Docstring
        SetImageList(imageList, which)
        
        Sets the image list associated with the control.
    %End

    bool SetItem(
        wxListItem & info
    );
    %Docstring
        SetItem(info) -> bool
        SetItem(index, column, label, imageId=-1) -> long
        
        Sets the data of an item.
    %End

    long SetItem(
        long index,
        int column,
        const wxString & label,
        int imageId = -1
    );

    void SetItemBackgroundColour(
        long item,
        const wxColour & col
    );
    %Docstring
        SetItemBackgroundColour(item, col)
        
        Sets the background colour for this item.
    %End

    bool SetItemColumnImage(
        long item,
        long column,
        int image
    );
    %Docstring
        SetItemColumnImage(item, column, image) -> bool
        
        Sets the image associated with the item.
    %End

    void SetItemCount(
        long count
    );
    %Docstring
        SetItemCount(count)
        
        This method can only be used with virtual list controls.
    %End

    bool SetItemData(
        long item,
        long data
    );
    %Docstring
        SetItemData(item, data) -> bool
        
        Associates application-defined data with this item.
    %End

    void SetItemFont(
        long item,
        const wxFont & font
    );
    %Docstring
        SetItemFont(item, font)
        
        Sets the item's font.
    %End

    bool SetItemImage(
        long item,
        int image,
        int selImage = -1
    );
    %Docstring
        SetItemImage(item, image, selImage=-1) -> bool
        
        Sets the unselected and selected images associated with the item.
    %End

    bool SetItemPosition(
        long item,
        const wxPoint & pos
    );
    %Docstring
        SetItemPosition(item, pos) -> bool
        
        Sets the position of the item, in icon or small icon view.
    %End

    bool SetItemState(
        long item,
        long state,
        long stateMask
    );
    %Docstring
        SetItemState(item, state, stateMask) -> bool
        
        Sets the item state.
    %End

    void SetItemText(
        long item,
        const wxString & text
    );
    %Docstring
        SetItemText(item, text)
        
        Sets the item text for this item.
    %End

    void SetItemTextColour(
        long item,
        const wxColour & col
    );
    %Docstring
        SetItemTextColour(item, col)
        
        Sets the colour for this item.
    %End

    void SetSingleStyle(
        long style,
        bool add = true
    );
    %Docstring
        SetSingleStyle(style, add=True)
        
        Adds or removes a single window style.
    %End

    void SetTextColour(
        const wxColour & col
    );
    %Docstring
        SetTextColour(col)
        
        Sets the text colour of the list control.
    %End

    void SetWindowStyleFlag(
        long style
    );
    %Docstring
        SetWindowStyleFlag(style)
        
        Sets the whole window style, deleting all items.
    %End

    bool SortItems(
        PyObject* fnSortCallBack
    );
    %Docstring
        SortItems(fnSortCallBack) -> bool
        
        Call this function to sort the items in the list control.
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_SortItems(sipCpp, fnSortCallBack);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    bool _wxListCtrl_SortItems(wxListCtrl* self, PyObject* fnSortCallBack)
    {
        if (!PyCallable_Check(fnSortCallBack))
            return false;
        return self->SortItems((wxListCtrlCompare)wxPyListCtrl_SortItems,
                               (wxIntPtr)fnSortCallBack);
    }
    %End

    public:
    virtual wxPoint GetClientAreaOrigin() const;
    virtual bool Validate();
    virtual bool TransferDataToWindow();
    virtual bool TransferDataFromWindow();
    virtual void InitDialog();
    virtual bool AcceptsFocus() const;
    virtual bool AcceptsFocusRecursively() const;
    virtual bool AcceptsFocusFromKeyboard() const;
    virtual void AddChild( wxWindowBase *child );
    virtual void RemoveChild( wxWindowBase *child );
    virtual void InheritAttributes();
    virtual bool ShouldInheritColours() const;
    virtual void OnInternalIdle();
    virtual wxWindow *GetMainWindowOfCompositeControl();
    virtual bool InformFirstDirection(int direction, int size, int availableOtherDir);
    virtual void SetCanFocus(bool canFocus);
    virtual bool Destroy();
    virtual void SetValidator( const wxValidator &validator );
    virtual wxValidator* GetValidator();


    protected:
    virtual bool ProcessEvent(wxEvent & event);
    virtual void DoEnable(bool enable);
    virtual void DoGetPosition(int *x, int *y) const;
    virtual void DoGetSize(int *width, int *height) const;
    virtual void DoGetClientSize(int *width, int *height) const;
    virtual wxSize DoGetBestSize() const;
    virtual wxSize DoGetBestClientSize() const;
    virtual void DoSetSize(int x, int y, int width, int height, int sizeFlags);
    virtual void DoSetClientSize(int width, int height);
    virtual void DoSetSizeHints( int minW, int minH, int maxW, int maxH, int incW, int incH );
    virtual wxSize DoGetBorderSize() const;
    virtual void DoMoveWindow(int x, int y, int width, int height);
    virtual void DoSetWindowVariant( wxWindowVariant variant);
    virtual wxBorder GetDefaultBorder() const;
    virtual wxBorder GetDefaultBorderForControl() const;
    virtual void DoFreeze();
    virtual void DoThaw();
    virtual bool HasTransparentBackground();
    virtual bool TryBefore(wxEvent& event);
    virtual bool TryAfter(wxEvent& event);


    public:


    static
    wxVisualAttributes GetClassDefaultAttributes(
        wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL
    );
    %Docstring
        GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
    %End
    %PreMethodCode
        if (!wxPyCheckForApp()) return NULL;
    %End

    PyObject* HitTestSubItem(const wxPoint& point);
    %Docstring
        HitTestSubItemHitTestSubItem(point) -> (item, flags, subitem)
        
        Determines which item (if any) is at the specified point, giving
        details in flags.
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_HitTestSubItem(sipCpp, point);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    PyObject* _wxListCtrl_HitTestSubItem(wxListCtrl* self, const wxPoint* point)
    {
        long item, subitem;
        int flags;
        item = self->HitTest(*point, flags, &subitem);
        wxPyThreadBlocker blocker;
        PyObject* rv = PyTuple_New(3);
        PyTuple_SetItem(rv, 0, wxPyInt_FromLong(item));
        PyTuple_SetItem(rv, 1, wxPyInt_FromLong(flags));
        PyTuple_SetItem(rv, 2, wxPyInt_FromLong(subitem));
        return rv;
    }
    %End

    bool HasColumnOrderSupport();
    %Docstring
        HasColumnOrderSupport() -> bool
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_HasColumnOrderSupport(sipCpp);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    bool _wxListCtrl_HasColumnOrderSupport(wxListCtrl* self)
    {
        #ifdef wxHAS_LISTCTRL_COLUMN_ORDER
            return true;
        #else
            return false;
        #endif
    }
    %End

    wxWindow* GetMainWindow();
    %Docstring
        GetMainWindow() -> Window
    %End
    %MethodCode
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxListCtrl_GetMainWindow(sipCpp);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
    %End
    %TypeCode
    wxWindow* _wxListCtrl_GetMainWindow(wxListCtrl* self)
    {
        #if defined(__WXMSW__) || defined(__WXMAC__)
            return self;
        #else
            return (wxWindow*)self->m_mainWin;
        #endif
    }
    %End

    public:


    %Property(name=Column, get=GetColumn, set=SetColumn)
    %Property(name=ColumnCount, get=GetColumnCount)
    %Property(name=ColumnsOrder, get=GetColumnsOrder, set=SetColumnsOrder)
    %Property(name=CountPerPage, get=GetCountPerPage)
    %Property(name=EditControl, get=GetEditControl)
    %Property(name=Item, get=GetItem, set=SetItem)
    %Property(name=ItemCount, get=GetItemCount, set=SetItemCount)
    %Property(name=ItemPosition, get=GetItemPosition, set=SetItemPosition)
    %Property(name=ItemRect, get=GetItemRect)
    %Property(name=ItemSpacing, get=GetItemSpacing)
    %Property(name=MainWindow, get=GetMainWindow)
    %Property(name=SelectedItemCount, get=GetSelectedItemCount)
    %Property(name=TextColour, get=GetTextColour, set=SetTextColour)
    %Property(name=TopItem, get=GetTopItem)
    %Property(name=ViewRect, get=GetViewRect)

protected:
    virtual
    wxListItemAttr * OnGetItemAttr(
        long item
    ) const;
    %Docstring
        OnGetItemAttr(item) -> ListItemAttr
        
        This function may be overridden in the derived class for a control
        with wxLC_VIRTUAL style.
    %End

    virtual
    int OnGetItemColumnImage(
        long item,
        long column
    ) const;
    %Docstring
        OnGetItemColumnImage(item, column) -> int
        
        Override this function in the derived class for a control with
        wxLC_VIRTUAL and wxLC_REPORT styles in order to specify the image
        index for the given line and column.
    %End

    virtual
    int OnGetItemImage(
        long item
    ) const;
    %Docstring
        OnGetItemImage(item) -> int
        
        This function must be overridden in the derived class for a control
        with wxLC_VIRTUAL style having an "image list" (see SetImageList(); if
        the control doesn't have an image list, it is not necessary to
        override it).
    %End

    virtual
    wxString OnGetItemText(
        long item,
        long column
    ) const;
    %Docstring
        OnGetItemText(item, column) -> String
        
        This function must be overridden in the derived class for a control
        with wxLC_VIRTUAL style.
    %End

};  // end of class wxListCtrl


%Extract(id=pycode_core)
ListCtrl.FindItemData = wx.deprecated(ListCtrl.FindItem, "Use FindItem instead.")

%End

%Extract(id=pycode_core)
ListCtrl.FindItemAtPos = wx.deprecated(ListCtrl.FindItem, "Use FindItem instead.")

%End

%Extract(id=pycode_core)
ListCtrl.InsertStringItem = wx.deprecated(ListCtrl.InsertItem, "Use InsertItem instead.")

%End

%Extract(id=pycode_core)
ListCtrl.InsertImageItem = wx.deprecated(ListCtrl.InsertItem, "Use InsertItem instead.")

%End

%Extract(id=pycode_core)
ListCtrl.InsertImageStringItem = wx.deprecated(ListCtrl.InsertItem, "Use InsertItem instead.")

%End

%Extract(id=pycode_core)
ListCtrl.SetStringItem = wx.deprecated(ListCtrl.SetItem, "Use SetItem instead.")

%End

%Extract(id=pycode_core)
def _ListCtrl_Select(self, idx, on=1):
    """
    Selects/deselects an item.
    """
    if on: state = wx.LIST_STATE_SELECTED
    else: state = 0
    self.SetItemState(idx, state, wx.LIST_STATE_SELECTED)
ListCtrl.Select = _ListCtrl_Select
del _ListCtrl_Select
%End

%Extract(id=pycode_core)
def _ListCtrl_Focus(self, idx):
    """
    Focus and show the given item.
    """
    self.SetItemState(idx, wx.LIST_STATE_FOCUSED, wx.LIST_STATE_FOCUSED)
    self.EnsureVisible(idx)
ListCtrl.Focus = _ListCtrl_Focus
del _ListCtrl_Focus
%End

%Extract(id=pycode_core)
def _ListCtrl_GetFocusedItem(self):
    """
    Gets the currently focused item or -1 if none is focused.
    """
    return self.GetNextItem(-1, wx.LIST_NEXT_ALL, wx.LIST_STATE_FOCUSED)
ListCtrl.GetFocusedItem = _ListCtrl_GetFocusedItem
del _ListCtrl_GetFocusedItem
%End

%Extract(id=pycode_core)
def _ListCtrl_GetFirstSelected(self, *args):
    """
    Returns the first selected item, or -1 when none is selected.
    """
    return self.GetNextSelected(-1)
ListCtrl.GetFirstSelected = _ListCtrl_GetFirstSelected
del _ListCtrl_GetFirstSelected
%End

%Extract(id=pycode_core)
def _ListCtrl_GetNextSelected(self, item):
    """
    Returns subsequent selected items, or -1 when no more are selected.
    """
    return self.GetNextItem(item, wx.LIST_NEXT_ALL, wx.LIST_STATE_SELECTED)
ListCtrl.GetNextSelected = _ListCtrl_GetNextSelected
del _ListCtrl_GetNextSelected
%End

%Extract(id=pycode_core)
def _ListCtrl_IsSelected(self, idx):
    """
    Returns ``True`` if the item is selected.
    """
    return (self.GetItemState(idx, wx.LIST_STATE_SELECTED) & wx.LIST_STATE_SELECTED) != 0
ListCtrl.IsSelected = _ListCtrl_IsSelected
del _ListCtrl_IsSelected
%End

%Extract(id=pycode_core)
def _ListCtrl_SetColumnImage(self, col, image):
    item = self.GetColumn(col)
    # preserve all other attributes too
    item.SetMask( wx.LIST_MASK_STATE |
                  wx.LIST_MASK_TEXT  |
                  wx.LIST_MASK_IMAGE |
                  wx.LIST_MASK_DATA  |
                  wx.LIST_SET_ITEM   |
                  wx.LIST_MASK_WIDTH |
                  wx.LIST_MASK_FORMAT )
    item.SetImage(image)
    self.SetColumn(col, item)
ListCtrl.SetColumnImage = _ListCtrl_SetColumnImage
del _ListCtrl_SetColumnImage
%End

%Extract(id=pycode_core)
def _ListCtrl_ClearColumnImage(self, col):
    self.SetColumnImage(col, -1)
ListCtrl.ClearColumnImage = _ListCtrl_ClearColumnImage
del _ListCtrl_ClearColumnImage
%End

%Extract(id=pycode_core)
def _ListCtrl_Append(self, entry):
    """
    Append an item to the list control.  The `entry` parameter should be a
    sequence with an item for each column
    """
    if len(entry):
        from six import text_type
        pos = self.InsertItem(self.GetItemCount(), text_type(entry[0]))
        for i in range(1, len(entry)):
            self.SetItem(pos, i, text_type(entry[i]))
        return pos
ListCtrl.Append = _ListCtrl_Append
del _ListCtrl_Append
%End

%Extract(id=pycode_core)
ListCtrl.FocusedItem = property(ListCtrl.GetFocusedItem)
%End

class wxListView : wxListCtrl
{
    %Docstring
        ListView()
        ListView(parent, winid=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=LC_REPORT, validator=DefaultValidator, name=ListCtrlNameStr)
        
        This class currently simply presents a simpler to use interface for
        the wxListCtrl  it can be thought of as a façade for that complicated
        class.
    %End
    %TypeHeaderCode
        #include <wx/listctrl.h>
    %End

public:
    wxListView();
    %PreMethodCode
        if (!wxPyCheckForApp()) return NULL;
    %End

    wxListView(
        wxWindow * parent   /TransferThis/,
        wxWindowID winid = wxID_ANY,
        const wxPoint & pos = wxDefaultPosition,
        const wxSize & size = wxDefaultSize,
        long style = wxLC_REPORT,
        const wxValidator & validator = wxDefaultValidator,
        const wxString & name = wxListCtrlNameStr
    );
    %PreMethodCode
        if (!wxPyCheckForApp()) return NULL;
    %End

    ~wxListView();

    void ClearColumnImage(
        int col
    );
    %Docstring
        ClearColumnImage(col)
        
        Resets the column image  after calling this function, no image will be
        shown.
    %End

    void Focus(
        long index
    );
    %Docstring
        Focus(index)
        
        Sets focus to the item with the given index.
    %End

    long GetFirstSelected() const;
    %Docstring
        GetFirstSelected() -> long
        
        Returns the first selected item in a (presumably) multiple selection
        control.
    %End

    long GetFocusedItem() const;
    %Docstring
        GetFocusedItem() -> long
        
        Returns the currently focused item or -1 if none.
    %End

    long GetNextSelected(
        long item
    ) const;
    %Docstring
        GetNextSelected(item) -> long
        
        Used together with GetFirstSelected() to iterate over all selected
        items in the control.
    %End

    bool IsSelected(
        long index
    ) const;
    %Docstring
        IsSelected(index) -> bool
        
        Returns true if the item with the given index is selected, false
        otherwise.
    %End

    void Select(
        long n,
        bool on = true
    );
    %Docstring
        Select(n, on=True)
        
        Selects or unselects the given item.
    %End

    void SetColumnImage(
        int col,
        int image
    );
    %Docstring
        SetColumnImage(col, image)
        
        Sets the column image for the specified column.
    %End

    public:
    virtual wxPoint GetClientAreaOrigin() const;
    virtual bool Validate();
    virtual bool TransferDataToWindow();
    virtual bool TransferDataFromWindow();
    virtual void InitDialog();
    virtual bool AcceptsFocus() const;
    virtual bool AcceptsFocusRecursively() const;
    virtual bool AcceptsFocusFromKeyboard() const;
    virtual void AddChild( wxWindowBase *child );
    virtual void RemoveChild( wxWindowBase *child );
    virtual void InheritAttributes();
    virtual bool ShouldInheritColours() const;
    virtual void OnInternalIdle();
    virtual wxWindow *GetMainWindowOfCompositeControl();
    virtual bool InformFirstDirection(int direction, int size, int availableOtherDir);
    virtual void SetCanFocus(bool canFocus);
    virtual bool Destroy();
    virtual void SetValidator( const wxValidator &validator );
    virtual wxValidator* GetValidator();


    protected:
    virtual bool ProcessEvent(wxEvent & event);
    virtual void DoEnable(bool enable);
    virtual void DoGetPosition(int *x, int *y) const;
    virtual void DoGetSize(int *width, int *height) const;
    virtual void DoGetClientSize(int *width, int *height) const;
    virtual wxSize DoGetBestSize() const;
    virtual wxSize DoGetBestClientSize() const;
    virtual void DoSetSize(int x, int y, int width, int height, int sizeFlags);
    virtual void DoSetClientSize(int width, int height);
    virtual void DoSetSizeHints( int minW, int minH, int maxW, int maxH, int incW, int incH );
    virtual wxSize DoGetBorderSize() const;
    virtual void DoMoveWindow(int x, int y, int width, int height);
    virtual void DoSetWindowVariant( wxWindowVariant variant);
    virtual wxBorder GetDefaultBorder() const;
    virtual wxBorder GetDefaultBorderForControl() const;
    virtual void DoFreeze();
    virtual void DoThaw();
    virtual bool HasTransparentBackground();
    virtual bool TryBefore(wxEvent& event);
    virtual bool TryAfter(wxEvent& event);


    public:


    static
    wxVisualAttributes GetClassDefaultAttributes(
        wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL
    );
    %Docstring
        GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
    %End
    %PreMethodCode
        if (!wxPyCheckForApp()) return NULL;
    %End

    public:


    %Property(name=FirstSelected, get=GetFirstSelected)
    %Property(name=FocusedItem, get=GetFocusedItem)
};  // end of class wxListView


class wxListEvent : wxNotifyEvent
{
    %Docstring
        ListEvent(commandType=wxEVT_NULL, id=0)
        
        A list event holds information about events associated with wxListCtrl
        objects.
    %End
    %TypeHeaderCode
        #include <wx/listctrl.h>
    %End

public:
    wxListEvent(
        wxEventType commandType = wxEVT_NULL,
        int id = 0
    );

    long GetCacheFrom() const;
    %Docstring
        GetCacheFrom() -> long
        
        For EVT_LIST_CACHE_HINT event only: return the first item which the
        list control advises us to cache.
    %End

    long GetCacheTo() const;
    %Docstring
        GetCacheTo() -> long
        
        For EVT_LIST_CACHE_HINT event only: return the last item (inclusive)
        which the list control advises us to cache.
    %End

    int GetColumn() const;
    %Docstring
        GetColumn() -> int
        
        The column position: it is only used with COL events.
    %End

    wxUIntPtr GetData() const;
    %Docstring
        GetData() -> UIntPtr
        
        The data.
    %End

    int GetImage() const;
    %Docstring
        GetImage() -> int
        
        The image.
    %End

    long GetIndex() const;
    %Docstring
        GetIndex() -> long
        
        The item index.
    %End

    const wxListItem & GetItem() const;
    %Docstring
        GetItem() -> ListItem
        
        An item object, used by some events.
    %End

    int GetKeyCode() const;
    %Docstring
        GetKeyCode() -> int
        
        Key code if the event is a keypress event.
    %End

    const wxString & GetLabel() const;
    %Docstring
        GetLabel() -> String
        
        The (new) item label for EVT_LIST_END_LABEL_EDIT event.
    %End

    long GetMask() const;
    %Docstring
        GetMask() -> long
        
        The mask.
    %End

    wxPoint GetPoint() const;
    %Docstring
        GetPoint() -> Point
        
        The position of the mouse pointer if the event is a drag event.
    %End

    const wxString & GetText() const;
    %Docstring
        GetText() -> String
        
        The text.
    %End

    bool IsEditCancelled() const;
    %Docstring
        IsEditCancelled() -> bool
        
        This method only makes sense for EVT_LIST_END_LABEL_EDIT message and
        returns true if it the label editing has been cancelled by the user
        (GetLabel() returns an empty string in this case but it doesn't allow
        the application to distinguish between really cancelling the edit and
        the admittedly rare case when the user wants to rename it to an empty
        string).
    %End

    void SetKeyCode(
        int code
    );
    %Docstring
        SetKeyCode(code)
    %End

    void SetIndex(
        long index
    );
    %Docstring
        SetIndex(index)
    %End

    void SetColumn(
        int col
    );
    %Docstring
        SetColumn(col)
    %End

    void SetPoint(
        const wxPoint & point
    );
    %Docstring
        SetPoint(point)
    %End

    void SetItem(
        const wxListItem & item
    );
    %Docstring
        SetItem(item)
    %End

    void SetCacheFrom(
        long cacheFrom
    );
    %Docstring
        SetCacheFrom(cacheFrom)
    %End

    void SetCacheTo(
        long cacheTo
    );
    %Docstring
        SetCacheTo(cacheTo)
    %End

    public:
    virtual wxEvent* Clone() const /Factory/;


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


    public:


    %Property(name=CacheFrom, get=GetCacheFrom, set=SetCacheFrom)
    %Property(name=CacheTo, get=GetCacheTo, set=SetCacheTo)
    %Property(name=Column, get=GetColumn, set=SetColumn)
    %Property(name=Data, get=GetData)
    %Property(name=Image, get=GetImage)
    %Property(name=Index, get=GetIndex, set=SetIndex)
    %Property(name=Item, get=GetItem, set=SetItem)
    %Property(name=KeyCode, get=GetKeyCode, set=SetKeyCode)
    %Property(name=Label, get=GetLabel)
    %Property(name=Mask, get=GetMask)
    %Property(name=Point, get=GetPoint, set=SetPoint)
    %Property(name=Text, get=GetText)
};  // end of class wxListEvent


%Extract(id=pycode_core)
EVT_LIST_BEGIN_DRAG        = PyEventBinder(wxEVT_LIST_BEGIN_DRAG       , 1)
EVT_LIST_BEGIN_RDRAG       = PyEventBinder(wxEVT_LIST_BEGIN_RDRAG      , 1)
EVT_LIST_BEGIN_LABEL_EDIT  = PyEventBinder(wxEVT_LIST_BEGIN_LABEL_EDIT , 1)
EVT_LIST_END_LABEL_EDIT    = PyEventBinder(wxEVT_LIST_END_LABEL_EDIT   , 1)
EVT_LIST_DELETE_ITEM       = PyEventBinder(wxEVT_LIST_DELETE_ITEM      , 1)
EVT_LIST_DELETE_ALL_ITEMS  = PyEventBinder(wxEVT_LIST_DELETE_ALL_ITEMS , 1)
EVT_LIST_ITEM_SELECTED     = PyEventBinder(wxEVT_LIST_ITEM_SELECTED    , 1)
EVT_LIST_ITEM_DESELECTED   = PyEventBinder(wxEVT_LIST_ITEM_DESELECTED  , 1)
EVT_LIST_KEY_DOWN          = PyEventBinder(wxEVT_LIST_KEY_DOWN         , 1)
EVT_LIST_INSERT_ITEM       = PyEventBinder(wxEVT_LIST_INSERT_ITEM      , 1)
EVT_LIST_COL_CLICK         = PyEventBinder(wxEVT_LIST_COL_CLICK        , 1)
EVT_LIST_ITEM_RIGHT_CLICK  = PyEventBinder(wxEVT_LIST_ITEM_RIGHT_CLICK , 1)
EVT_LIST_ITEM_MIDDLE_CLICK = PyEventBinder(wxEVT_LIST_ITEM_MIDDLE_CLICK, 1)
EVT_LIST_ITEM_ACTIVATED    = PyEventBinder(wxEVT_LIST_ITEM_ACTIVATED   , 1)
EVT_LIST_CACHE_HINT        = PyEventBinder(wxEVT_LIST_CACHE_HINT       , 1)
EVT_LIST_COL_RIGHT_CLICK   = PyEventBinder(wxEVT_LIST_COL_RIGHT_CLICK  , 1)
EVT_LIST_COL_BEGIN_DRAG    = PyEventBinder(wxEVT_LIST_COL_BEGIN_DRAG   , 1)
EVT_LIST_COL_DRAGGING      = PyEventBinder(wxEVT_LIST_COL_DRAGGING     , 1)
EVT_LIST_COL_END_DRAG      = PyEventBinder(wxEVT_LIST_COL_END_DRAG     , 1)
EVT_LIST_ITEM_FOCUSED      = PyEventBinder(wxEVT_LIST_ITEM_FOCUSED     , 1)

# deprecated wxEVT aliases
wxEVT_COMMAND_LIST_BEGIN_DRAG         = wxEVT_LIST_BEGIN_DRAG
wxEVT_COMMAND_LIST_BEGIN_RDRAG        = wxEVT_LIST_BEGIN_RDRAG
wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT   = wxEVT_LIST_BEGIN_LABEL_EDIT
wxEVT_COMMAND_LIST_END_LABEL_EDIT     = wxEVT_LIST_END_LABEL_EDIT
wxEVT_COMMAND_LIST_DELETE_ITEM        = wxEVT_LIST_DELETE_ITEM
wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS   = wxEVT_LIST_DELETE_ALL_ITEMS
wxEVT_COMMAND_LIST_ITEM_SELECTED      = wxEVT_LIST_ITEM_SELECTED
wxEVT_COMMAND_LIST_ITEM_DESELECTED    = wxEVT_LIST_ITEM_DESELECTED
wxEVT_COMMAND_LIST_KEY_DOWN           = wxEVT_LIST_KEY_DOWN
wxEVT_COMMAND_LIST_INSERT_ITEM        = wxEVT_LIST_INSERT_ITEM
wxEVT_COMMAND_LIST_COL_CLICK          = wxEVT_LIST_COL_CLICK
wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK   = wxEVT_LIST_ITEM_RIGHT_CLICK
wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK  = wxEVT_LIST_ITEM_MIDDLE_CLICK
wxEVT_COMMAND_LIST_ITEM_ACTIVATED     = wxEVT_LIST_ITEM_ACTIVATED
wxEVT_COMMAND_LIST_CACHE_HINT         = wxEVT_LIST_CACHE_HINT
wxEVT_COMMAND_LIST_COL_RIGHT_CLICK    = wxEVT_LIST_COL_RIGHT_CLICK
wxEVT_COMMAND_LIST_COL_BEGIN_DRAG     = wxEVT_LIST_COL_BEGIN_DRAG
wxEVT_COMMAND_LIST_COL_DRAGGING       = wxEVT_LIST_COL_DRAGGING
wxEVT_COMMAND_LIST_COL_END_DRAG       = wxEVT_LIST_COL_END_DRAG
wxEVT_COMMAND_LIST_ITEM_FOCUSED       = wxEVT_LIST_ITEM_FOCUSED

%End


//---------------------------------------------------------------------------



More information about the PyQt mailing list