]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/controls2.i
highlight the focused item in non report mode too
[wxWidgets.git] / wxPython / src / controls2.i
index 5acae12601112431ea43e1fa7f02201cd8247baa..77ae496ebc024746ced256fe949293df8731eb8d 100644 (file)
@@ -19,6 +19,7 @@
 #endif
 #include <wx/listctrl.h>
 #include <wx/treectrl.h>
+#include <wx/imaglist.h>
 %}
 
 //----------------------------------------------------------------------
@@ -91,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:
@@ -117,7 +164,7 @@ public:
 };
 
 
-class wxListItem {
+class wxListItem : public wxObject {
 public:
     wxListItem();
     ~wxListItem();
@@ -218,6 +265,8 @@ public:
     %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);
@@ -367,6 +416,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();
@@ -418,7 +490,7 @@ public:
 
 
 
-%name(wxTreeItemData) class wxPyTreeItemData {
+%name(wxTreeItemData) class wxPyTreeItemData : public wxObject {
 public:
     wxPyTreeItemData(PyObject* obj = NULL);
 
@@ -444,6 +516,7 @@ public:
 
 %{
 class wxPyTreeCtrl : public wxTreeCtrl {
+    DECLARE_ABSTRACT_CLASS(wxPyTreeCtrl);
 public:
     wxPyTreeCtrl(wxWindow *parent, wxWindowID id,
                  const wxPoint& pos,
@@ -453,7 +526,6 @@ public:
                  char* name) :
         wxTreeCtrl(parent, id, pos, size, style, validator, name) {}
 
-
     int OnCompareItems(const wxTreeItemId& item1,
                        const wxTreeItemId& item2) {
         int rval = 0;
@@ -471,6 +543,8 @@ public:
     PYPRIVATE;
 };
 
+IMPLEMENT_ABSTRACT_CLASS(wxPyTreeCtrl, wxTreeCtrl);
+
 %}
 
 // These are for the GetFirstChild/GetNextChild methods below
@@ -491,12 +565,14 @@ public:
     %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();
@@ -700,6 +776,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:
 };
@@ -752,4 +837,11 @@ public:
 
 //----------------------------------------------------------------------
 
+%init %{
+    wxPyPtrTypeMap_Add("wxTreeItemData", "wxPyTreeItemData");
+    wxPyPtrTypeMap_Add("wxTreeCtrl", "wxPyTreeCtrl");
+%}
+
+//----------------------------------------------------------------------
+