X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c368d904fc27d35ae1e533155e2154dc496432e4..6c41903ced78c0b4115785aa80a934833abbc1ef:/wxPython/src/controls2.i diff --git a/wxPython/src/controls2.i b/wxPython/src/controls2.i index 945533fe2d..42a787dbe0 100644 --- a/wxPython/src/controls2.i +++ b/wxPython/src/controls2.i @@ -19,6 +19,7 @@ #endif #include #include +#include %} //---------------------------------------------------------------------- @@ -38,11 +39,6 @@ //---------------------------------------------------------------------- -%{ -extern wxValidator wxPyDefaultValidator; -%} - -//---------------------------------------------------------------------- enum { wxLIST_MASK_TEXT, @@ -96,6 +92,52 @@ enum wxListColumnFormat }; +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, +}; + +enum { + /* Style flags */ + wxLC_ICON, + wxLC_SMALL_ICON, + wxLC_LIST, + wxLC_REPORT, + wxLC_ALIGN_TOP, + wxLC_ALIGN_LEFT, + wxLC_AUTOARRANGE, + wxLC_USER_TEXT, + wxLC_EDIT_LABELS, + wxLC_NO_HEADER, + wxLC_NO_SORT_HEADER, + wxLC_SINGLE_SEL, + wxLC_SORT_ASCENDING, + wxLC_SORT_DESCENDING, + wxLC_MASK_TYPE, + wxLC_MASK_ALIGN, + wxLC_MASK_SORT, + wxLC_HRULES, + wxLC_VRULES, + wxLC_VIRTUAL, +}; + + + class wxListItemAttr { public: @@ -122,7 +164,7 @@ public: }; -class wxListItem { +class wxListItem : public wxObject { public: wxListItem(); ~wxListItem(); @@ -214,15 +256,17 @@ public: 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); + %pragma(python) addtomethod = "AssignImageList:_args[0].thisown = 0" bool DeleteItem(long item); bool DeleteAllItems(); bool DeleteColumn(int col); @@ -255,6 +299,15 @@ public: self->GetItem(*info); return info; } + } // The OOR typemaps don't know what to do with the %new, so fix it up. + %pragma(python) addtoclass = " + def GetItem(self, *_args, **_kwargs): + val = apply(controls2c.wxListCtrl_GetItem,(self,) + _args, _kwargs) + val.thisown = 1 + return val + " + + %addmethods { %new wxPoint* GetItemPosition(long item) { wxPoint* pos = new wxPoint; self->GetItemPosition(item, *pos); @@ -372,6 +425,29 @@ enum { }; +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, + wxEVT_COMMAND_TREE_END_DRAG, +}; + + class wxTreeItemId { public: wxTreeItemId(); @@ -423,7 +499,7 @@ public: -%name(wxTreeItemData) class wxPyTreeItemData { +%name(wxTreeItemData) class wxPyTreeItemData : public wxObject { public: wxPyTreeItemData(PyObject* obj = NULL); @@ -449,6 +525,7 @@ public: %{ class wxPyTreeCtrl : public wxTreeCtrl { + DECLARE_ABSTRACT_CLASS(wxPyTreeCtrl); public: wxPyTreeCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos, @@ -458,7 +535,6 @@ public: char* name) : wxTreeCtrl(parent, id, pos, size, style, validator, name) {} - int OnCompareItems(const wxTreeItemId& item1, const wxTreeItemId& item2) { int rval = 0; @@ -476,6 +552,8 @@ public: PYPRIVATE; }; +IMPLEMENT_ABSTRACT_CLASS(wxPyTreeCtrl, wxTreeCtrl); + %} // These are for the GetFirstChild/GetNextChild methods below @@ -486,22 +564,24 @@ public: %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); + %pragma(python) addtomethod = "AssignImageList:_args[0].thisown = 0" 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(); @@ -705,6 +785,15 @@ public: #ifdef SKIPTHIS #ifdef __WXMSW__ + + +enum { + /* tab control event types */ + wxEVT_COMMAND_TAB_SEL_CHANGED, + wxEVT_COMMAND_TAB_SEL_CHANGING, +}; + + class wxTabEvent : public wxCommandEvent { public: }; @@ -714,8 +803,8 @@ 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"); @@ -757,4 +846,11 @@ public: //---------------------------------------------------------------------- +%init %{ + wxPyPtrTypeMap_Add("wxTreeItemData", "wxPyTreeItemData"); + wxPyPtrTypeMap_Add("wxTreeCtrl", "wxPyTreeCtrl"); +%} + +//---------------------------------------------------------------------- +