X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/699e192bccb7bfd8cf69455d2c6786d3da634550..f07962f933088c85ae0776cd2e4aec4579d31ffa:/wxPython/src/_listbox.i diff --git a/wxPython/src/_listbox.i b/wxPython/src/_listbox.i index 7af5eafdea..63f0324ac1 100644 --- a/wxPython/src/_listbox.i +++ b/wxPython/src/_listbox.i @@ -26,13 +26,15 @@ MAKE_CONST_WXSTRING(ListBoxNameStr); //--------------------------------------------------------------------------- %newgroup +MustHaveApp(wxListBox); + class wxListBox : public wxControlWithItems { public: %pythonAppend wxListBox "self._setOORInfo(self)" %pythonAppend wxListBox() "" - wxListBox(wxWindow* parent, wxWindowID id, + wxListBox(wxWindow* parent, wxWindowID id=-1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, //int choices=0, wxString* choices_array = NULL, @@ -42,7 +44,7 @@ public: const wxString& name = wxPyListBoxNameStr); %name(PreListBox)wxListBox(); - bool Create(wxWindow* parent, wxWindowID id, + bool Create(wxWindow* parent, wxWindowID id=-1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, //int choices=0, wxString* choices_array = NULL, @@ -68,12 +70,12 @@ public: // multiple selection logic virtual bool IsSelected(int n) const; - virtual void SetSelection(int n, bool select = True); + virtual void SetSelection(int n, bool select = true); virtual void Select(int n); void Deselect(int n); void DeselectAll(int itemToLeaveSelected = -1); - virtual bool SetStringSelection(const wxString& s, bool select = True); + virtual bool SetStringSelection(const wxString& s, bool select = true); // works for single as well as multiple selection listboxes (unlike // GetSelection which only works for listboxes with single selection) @@ -105,6 +107,31 @@ public: // return True if this listbox is sorted bool IsSorted() const; + + + %extend { + void SetItemForegroundColour(int item, const wxColour& c) { + %#ifdef __WXMSW__ + if (self->GetWindowStyle() & wxLB_OWNERDRAW) + self->GetItem(item)->SetTextColour(c); + %#endif + } + 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) { + %#ifdef __WXMSW__ + if (self->GetWindowStyle() & wxLB_OWNERDRAW) + self->GetItem(item)->SetFont(f); + %#endif + } + } + + static wxVisualAttributes + GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); }; @@ -112,6 +139,8 @@ public: %newgroup +MustHaveApp(wxCheckListBox); + // wxCheckListBox: a listbox whose items may be checked class wxCheckListBox : public wxListBox { @@ -119,7 +148,7 @@ public: %pythonAppend wxCheckListBox "self._setOORInfo(self)" %pythonAppend wxCheckListBox() "" - wxCheckListBox(wxWindow *parent, wxWindowID id, + wxCheckListBox(wxWindow *parent, wxWindowID id=-1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, //int choices = 0, wxString* choices_array = NULL, @@ -129,7 +158,7 @@ public: const wxString& name = wxPyListBoxNameStr); %name(PreCheckListBox)wxCheckListBox(); - bool Create(wxWindow *parent, wxWindowID id, + bool Create(wxWindow *parent, wxWindowID id=-1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, //int choices = 0, wxString* choices_array = NULL, @@ -139,7 +168,7 @@ public: const wxString& name = wxPyListBoxNameStr); bool IsChecked(int index); - void Check(int index, int check = True); + void Check(int index, int check = true); #if defined(__WXMSW__) || defined(__WXGTK__) int GetItemHeight();