%{
#include <wx/checklst.h>
- 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,
+ 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,
+ const wxArrayString& choices = wxPyEmptyStringArray,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxPyListBoxNameStr);
// all generic methods are in wxControlWithItems...
}
}
- 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 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)
//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; i<lst.GetCount(); i++) {
- PyTuple_SetItem(tup, i, PyInt_FromLong(lst[i]));
- }
- return tup;
- }
+ PyObject* GetSelections() {
+ wxArrayInt lst;
+ self->GetSelections(lst);
+ PyObject *tup = PyTuple_New(lst.GetCount());
+ for(size_t i=0; i<lst.GetCount(); i++) {
+ PyTuple_SetItem(tup, i, PyInt_FromLong(lst[i]));
+ }
+ return tup;
+ }
}
// 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
// return True if this listbox is sorted
bool IsSorted() const;
+
+ // return the index of the item at this position or wxNOT_FOUND
+ int HitTest(const wxPoint& pt) 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);
};
%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,
+ 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,
+ 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);
-#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;
};
//---------------------------------------------------------------------------