X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d14a1e28567de23c586bc80017073d0c39f8d18f..db679b8c836e69c111cdc31e62cf92cebe4f938f:/wxPython/src/_listbox.i diff --git a/wxPython/src/_listbox.i b/wxPython/src/_listbox.i index b6dc1ae915..41fdd0eb02 100644 --- a/wxPython/src/_listbox.i +++ b/wxPython/src/_listbox.i @@ -18,34 +18,40 @@ %{ #include - DECLARE_DEF_STRING(ListBoxNameStr); %} +MAKE_CONST_WXSTRING(ListBoxNameStr); + + //--------------------------------------------------------------------------- %newgroup +MustHaveApp(wxListBox); + class wxListBox : public wxControlWithItems { public: - %addtofunc wxListBox "self._setOORInfo(self)" - %addtofunc wxListBox() "" + %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, + //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(); + %RenameCtor(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); + 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); // all generic methods are in wxControlWithItems... @@ -64,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) @@ -89,7 +95,7 @@ public: // set the specified item at the first visible item or scroll to max // range. void SetFirstItem(int n); - %name(SetFirstItemStr) void SetFirstItem(const wxString& s); + %Rename(SetFirstItemStr, void, SetFirstItem(const wxString& s)); // ensures that the given item is visible scrolling the listbox if // necessary @@ -99,8 +105,33 @@ public: // listbox and ensures that it is visible i.e. not scrolled out of view void AppendAndEnsureVisible(const wxString& s); - // return TRUE if this listbox is sorted + // 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); }; @@ -108,40 +139,44 @@ public: %newgroup +MustHaveApp(wxCheckListBox); + // wxCheckListBox: a listbox whose items may be checked class wxCheckListBox : public wxListBox { public: - %addtofunc wxListBox "self._setOORInfo(self)" - %addtofunc wxListBox() "" + %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, + //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(); + %RenameCtor(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); + 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 IsChecked(int index); - void Check(int index, int check = TRUE); + void Check(int index, int check = true); -#ifndef __WXMAC__ +#if defined(__WXMSW__) || defined(__WXGTK__) int GetItemHeight(); #endif // return the index of the item at this position or wxNOT_FOUND int HitTest(const wxPoint& pt) const; - %name(HitTestXY)int HitTest(wxCoord x, wxCoord y) const; + %Rename(HitTestXY, int, HitTest(wxCoord x, wxCoord y) const); }; //---------------------------------------------------------------------------