X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dd9f7fea29e3f8bb61861f52984b7943512346ac..3cebfef17b54f9dacc386f090827b8badb2773d2:/wxPython/src/_listbox.i diff --git a/wxPython/src/_listbox.i b/wxPython/src/_listbox.i index c045df428b..51ac30a90e 100644 --- a/wxPython/src/_listbox.i +++ b/wxPython/src/_listbox.i @@ -18,34 +18,38 @@ %{ #include - DECLARE_DEF_STRING(ListBoxNameStr); %} +MAKE_CONST_WXSTRING(ListBoxNameStr); + + //--------------------------------------------------------------------------- %newgroup class wxListBox : public wxControlWithItems { public: - %addtofunc wxListBox "self._setOORInfo(self)" - %addtofunc wxListBox() "" + %pythonAppend wxListBox "self._setOORInfo(self)" + %pythonAppend wxListBox() "" wxListBox(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - int choices=0, wxString* choices_array = NULL, + //int choices=0, wxString* choices_array = NULL, + const wxArrayString& choices = wxPyEmptyStringArray, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxPyListBoxNameStr); %name(PreListBox)wxListBox(); bool Create(wxWindow* parent, wxWindowID id, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - int choices=0, wxString* choices_array = NULL, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyListBoxNameStr); + 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); // all generic methods are in wxControlWithItems... @@ -101,6 +105,28 @@ 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 + } + } }; @@ -112,30 +138,32 @@ public: class wxCheckListBox : public wxListBox { public: - %addtofunc wxListBox "self._setOORInfo(self)" - %addtofunc wxListBox() "" + %pythonAppend wxCheckListBox "self._setOORInfo(self)" + %pythonAppend wxCheckListBox() "" wxCheckListBox(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - int choices = 0, wxString* choices_array = NULL, + //int choices = 0, wxString* choices_array = NULL, + const wxArrayString& choices = wxPyEmptyStringArray, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxPyListBoxNameStr); %name(PreCheckListBox)wxCheckListBox(); bool Create(wxWindow *parent, wxWindowID id, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - int choices = 0, wxString* choices_array = NULL, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPyListBoxNameStr); + 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 IsChecked(int index); void Check(int index, int check = True); -#ifndef __WXMAC__ +#if defined(__WXMSW__) || defined(__WXGTK__) int GetItemHeight(); #endif