X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1b8c7ba607a15a2ff8a04448138df9ffff7df6c5..4b71c4ecfd033343b224e46da3c770beb22e5ba9:/wxPython/src/_listbox.i diff --git a/wxPython/src/_listbox.i b/wxPython/src/_listbox.i index 41fdd0eb02..22960358a4 100644 --- a/wxPython/src/_listbox.i +++ b/wxPython/src/_listbox.i @@ -17,7 +17,6 @@ %{ #include - %} MAKE_CONST_WXSTRING(ListBoxNameStr); @@ -34,44 +33,69 @@ public: %pythonAppend wxListBox "self._setOORInfo(self)" %pythonAppend wxListBox() "" - wxListBox(wxWindow* parent, wxWindowID id=-1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - //int choices=0, wxString* choices_array = NULL, - const wxArrayString& choices = wxPyEmptyStringArray, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyListBoxNameStr); + wxListBox(wxWindow* parent, + wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + const wxArrayString& choices = wxPyEmptyStringArray, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxPyListBoxNameStr); + +// wxListBox(wxWindow* parent, +// wxWindowID id = -1, +// const wxPoint& pos = wxDefaultPosition, +// const wxSize& size = wxDefaultSize, +// int n = 0, +// const wxString choices[] = NULL, +// long style = 0, +// const wxValidator& validator = wxDefaultValidator, +// const wxString& name = wxPyListBoxNameStr); %RenameCtor(PreListBox, wxListBox()); - bool Create(wxWindow* parent, wxWindowID id=-1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - //int choices=0, wxString* choices_array = NULL, - const wxArrayString& choices = wxPyEmptyStringArray, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyListBoxNameStr); + bool Create(wxWindow* parent, + wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + const wxArrayString& choices = wxPyEmptyStringArray, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxPyListBoxNameStr); + +// bool Create(wxWindow *parent, +// wxWindowID id = -1, +// const wxPoint& pos = wxDefaultPosition, +// const wxSize& size = wxDefaultSize, +// int n = 0, +// const wxString choices[] = NULL, +// long style = 0, +// const wxValidator& validator = wxDefaultValidator, +// const wxString& name = wxPyListBoxNameStr); // all generic methods are in wxControlWithItems... - %extend { - void Insert(const wxString& item, int pos, PyObject* clientData=NULL) { - if (clientData) { + %extend + { + void Insert(const wxString& item, int pos, PyObject* clientData = NULL) + { + if (clientData) + { wxPyClientData* data = new wxPyClientData(clientData); self->Insert(item, pos, data); - } else + } + else self->Insert(item, pos); } } - void InsertItems(const wxArrayString& items, int pos); + void InsertItems(const wxArrayString& items, unsigned int pos); void Set(const wxArrayString& items/*, void **clientData = NULL */); // multiple selection logic virtual bool IsSelected(int n) const; virtual void SetSelection(int n, bool select = true); virtual void Select(int n); + void Deselect(int n); void DeselectAll(int itemToLeaveSelected = -1); @@ -81,15 +105,18 @@ public: // GetSelection which only works for listboxes with single selection) //virtual int GetSelections(wxArrayInt& aSelections) const; %extend { - PyObject* GetSelections() { - wxArrayInt lst; - self->GetSelections(lst); - PyObject *tup = PyTuple_New(lst.GetCount()); - for(size_t i=0; iGetSelections(lst); + PyObject *tup = PyTuple_New(lst.GetCount()); + for (size_t i=0; iGetWindowStyle() & wxLB_OWNERDRAW) self->GetItem(item)->SetTextColour(c); %#endif } - void SetItemBackgroundColour(int item, const wxColour& c) { + void SetItemBackgroundColour(int item, const wxColour& c) + { %#ifdef __WXMSW__ if (self->GetWindowStyle() & wxLB_OWNERDRAW) self->GetItem(item)->SetBackgroundColour(c); %#endif } - void SetItemFont(int item, const wxFont& f) { + void SetItemFont(int item, const wxFont& f) + { %#ifdef __WXMSW__ if (self->GetWindowStyle() & wxLB_OWNERDRAW) self->GetItem(item)->SetFont(f); %#endif } } - + static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); + + %property(Selections, GetSelections, doc="See `GetSelections`"); }; @@ -148,35 +183,38 @@ public: %pythonAppend wxCheckListBox "self._setOORInfo(self)" %pythonAppend wxCheckListBox() "" - wxCheckListBox(wxWindow *parent, wxWindowID id=-1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - //int choices = 0, wxString* choices_array = NULL, - const wxArrayString& choices = wxPyEmptyStringArray, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyListBoxNameStr); + wxCheckListBox(wxWindow *parent, + wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + const wxArrayString& choices = wxPyEmptyStringArray, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxPyListBoxNameStr); %RenameCtor(PreCheckListBox, wxCheckListBox()); - bool Create(wxWindow *parent, wxWindowID id=-1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - //int choices = 0, wxString* choices_array = NULL, - const wxArrayString& choices = wxPyEmptyStringArray, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyListBoxNameStr); + bool Create(wxWindow *parent, + wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + const wxArrayString& choices = wxPyEmptyStringArray, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxPyListBoxNameStr); - bool IsChecked(int index); - void Check(int index, int check = true); + bool IsChecked(unsigned int index); + void Check(unsigned int index, int check = true); #if defined(__WXMSW__) || defined(__WXGTK__) int GetItemHeight(); +#else + %pythoncode { + def GetItemHeight(self): + raise NotImplementedError + } #endif - // return the index of the item at this position or wxNOT_FOUND - int HitTest(const wxPoint& pt) const; - %Rename(HitTestXY, int, HitTest(wxCoord x, wxCoord y) const); + %property(ItemHeight, GetItemHeight, doc="See `GetItemHeight`"); }; //---------------------------------------------------------------------------