//----------------------------------------------------------------------
-%{
-extern wxValidator wxPyDefaultValidator;
-%}
-
-//----------------------------------------------------------------------
enum {
wxLIST_MASK_TEXT,
};
+enum {
+ /* List control event types */
+ wxEVT_COMMAND_LIST_BEGIN_DRAG,
+ wxEVT_COMMAND_LIST_BEGIN_RDRAG,
+ wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT,
+ wxEVT_COMMAND_LIST_END_LABEL_EDIT,
+ wxEVT_COMMAND_LIST_DELETE_ITEM,
+ wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS,
+ wxEVT_COMMAND_LIST_GET_INFO,
+ wxEVT_COMMAND_LIST_SET_INFO,
+ wxEVT_COMMAND_LIST_ITEM_SELECTED,
+ wxEVT_COMMAND_LIST_ITEM_DESELECTED,
+ wxEVT_COMMAND_LIST_KEY_DOWN,
+ wxEVT_COMMAND_LIST_INSERT_ITEM,
+ wxEVT_COMMAND_LIST_COL_CLICK,
+ wxEVT_COMMAND_LIST_ITEM_ACTIVATED,
+ wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK,
+ wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK,
+};
+
+
+
class wxListItemAttr
{
public:
};
-class wxListEvent: public wxCommandEvent {
+class wxListEvent: public wxNotifyEvent {
public:
int m_code;
long m_itemIndex;
class wxListCtrl : public wxControl {
public:
wxListCtrl(wxWindow* parent, wxWindowID id,
- const wxPoint& pos = wxPyDefaultPosition,
- const wxSize& size = wxPyDefaultSize,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
long style = wxLC_ICON,
- const wxValidator& validator = wxPyDefaultValidator,
+ const wxValidator& validator = wxDefaultValidator,
char* name = "listCtrl");
%pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)"
bool Arrange(int flag = wxLIST_ALIGN_DEFAULT);
+ void AssignImageList(wxImageList* imageList, int which);
bool DeleteItem(long item);
bool DeleteAllItems();
bool DeleteColumn(int col);
#endif
long GetTopItem();
long HitTest(const wxPoint& point, int& OUTPUT);
- %name(InsertColumnWith)long InsertColumn(long col, wxListItem& info);
+ %name(InsertColumnInfo)long InsertColumn(long col, wxListItem& info);
long InsertColumn(long col, const wxString& heading,
int format = wxLIST_FORMAT_LEFT,
int width = -1);
};
+enum {
+ /* Tree control event types */
+ wxEVT_COMMAND_TREE_BEGIN_DRAG,
+ wxEVT_COMMAND_TREE_BEGIN_RDRAG,
+ wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT,
+ wxEVT_COMMAND_TREE_END_LABEL_EDIT,
+ wxEVT_COMMAND_TREE_DELETE_ITEM,
+ wxEVT_COMMAND_TREE_GET_INFO,
+ wxEVT_COMMAND_TREE_SET_INFO,
+ wxEVT_COMMAND_TREE_ITEM_EXPANDED,
+ wxEVT_COMMAND_TREE_ITEM_EXPANDING,
+ wxEVT_COMMAND_TREE_ITEM_COLLAPSED,
+ wxEVT_COMMAND_TREE_ITEM_COLLAPSING,
+ wxEVT_COMMAND_TREE_SEL_CHANGED,
+ wxEVT_COMMAND_TREE_SEL_CHANGING,
+ wxEVT_COMMAND_TREE_KEY_DOWN,
+ wxEVT_COMMAND_TREE_ITEM_ACTIVATED,
+ wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK,
+ wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK,
+};
+
+
class wxTreeItemId {
public:
wxTreeItemId();
%addmethods {
int __cmp__(wxTreeItemId* other) {
- if (! other) return 0;
+ if (! other) return -1;
return *self != *other;
}
}
class wxPyTreeItemData : public wxTreeItemData {
public:
wxPyTreeItemData(PyObject* obj = NULL) {
- if (obj == NULL)
+ if (obj == NULL)
obj = Py_None;
- Py_INCREF(obj);
- m_obj = obj;
+ Py_INCREF(obj);
+ m_obj = obj;
}
~wxPyTreeItemData() {
bool doSave = wxPyRestoreThread();
- Py_DECREF(m_obj);
+ Py_DECREF(m_obj);
wxPySaveThread(doSave);
}
}
void SetData(PyObject* obj) {
+ bool doSave = wxPyRestoreThread();
Py_DECREF(m_obj);
+ wxPySaveThread(doSave);
m_obj = obj;
Py_INCREF(obj);
}
%name(wxTreeCtrl)class wxPyTreeCtrl : public wxControl {
public:
wxPyTreeCtrl(wxWindow *parent, wxWindowID id = -1,
- const wxPoint& pos = wxPyDefaultPosition,
- const wxSize& size = wxPyDefaultSize,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT,
- const wxValidator& validator = wxPyDefaultValidator,
+ const wxValidator& validator = wxDefaultValidator,
char* name = "wxTreeCtrl");
void _setSelf(PyObject* self, PyObject* _class);
%pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)"
%pragma(python) addtomethod = "__init__:self._setSelf(self, wxTreeCtrl)"
+ void AssignImageList(wxImageList* imageList);
size_t GetCount();
unsigned int GetIndent();
void SetIndent(unsigned int indent);
wxImageList *GetImageList();
wxImageList *GetStateImageList();
- void SetImageList(wxImageList *imageList/*, int which = wxIMAGE_LIST_NORMAL*/);
+ void SetImageList(wxImageList *imageList);
void SetStateImageList(wxImageList *imageList);
unsigned int GetSpacing();
void SetItemHasChildren(const wxTreeItemId& item, bool hasChildren = TRUE);
%addmethods {
- // [Get|Set]ItemData substitutes. Automatically create wxPyTreeItemData
- // if needed.
+ // [Get|Set]ItemData substitutes. Automatically create wxPyTreeItemData
+ // if needed.
wxPyTreeItemData* GetItemData(const wxTreeItemId& item) {
wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
if (data == NULL) {
void SetItemData(const wxTreeItemId& item, wxPyTreeItemData* data) {
data->SetId(item); // set the id
self->SetItemData(item, data);
- }
+ }
- // [Get|Set]PyData are short-cuts. Also made somewhat crash-proof by
- // automatically creating data classes.
- PyObject* GetPyData(const wxTreeItemId& item) {
+ // [Get|Set]PyData are short-cuts. Also made somewhat crash-proof by
+ // automatically creating data classes.
+ PyObject* GetPyData(const wxTreeItemId& item) {
wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
if (data == NULL) {
data = new wxPyTreeItemData();
self->SetItemData(item, data);
}
return data->GetData();
- }
+ }
void SetPyData(const wxTreeItemId& item, PyObject* obj) {
wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
self->SetItemData(item, data);
} else
data->SetData(obj);
- }
+ }
}
size_t num, x;
num = self->GetSelections(array);
for (x=0; x < num; x++) {
- PyObject* item = wxPyConstructObject((void*)&array.Item(x),
- "wxTreeItemId");
+ wxTreeItemId *tii = new wxTreeItemId(array.Item(x));
+ PyObject* item = wxPyConstructObject((void*)tii, "wxTreeItemId", TRUE);
PyList_Append(rval, item);
}
wxPySaveThread(doSave);
#ifdef SKIPTHIS
#ifdef __WXMSW__
+
+
+enum {
+ /* tab control event types */
+ wxEVT_COMMAND_TAB_SEL_CHANGED,
+ wxEVT_COMMAND_TAB_SEL_CHANGING,
+};
+
+
class wxTabEvent : public wxCommandEvent {
public:
};
class wxTabCtrl : public wxControl {
public:
wxTabCtrl(wxWindow* parent, wxWindowID id,
- const wxPoint& pos = wxPyDefaultPosition,
- const wxSize& size = wxPyDefaultSize,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
long style = 0,
char* name = "tabCtrl");