%{
#include <wx/checklst.h>
-
%}
MAKE_CONST_WXSTRING(ListBoxNameStr);
%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);
// 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() {
+ wxPyBlock_t blocked = wxPyBeginBlockThreads();
+ 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]));
+ }
+ wxPyEndBlockThreads(blocked);
+ return tup;
+ }
}
// set the specified item at the first visible item or scroll to max
void SetFirstItem(int n);
%Rename(SetFirstItemStr, void, SetFirstItem(const wxString& s));
- // ensures that the given item is visible scrolling the listbox if
- // necessary
+ // ensures that the given item is visible scrolling the listbox
+ // if necessary
virtual void EnsureVisible(int n);
// a combination of Append() and EnsureVisible(): appends the item to the
// 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) {
+ %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) {
+ 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`");
};
%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`");
};
//---------------------------------------------------------------------------