]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/controls2.py
wxUniversal fixes:
[wxWidgets.git] / wxPython / src / msw / controls2.py
index fa3a1681aa0f3f9d55b2f6ea64a8965fd60f3463..a972112caae6e8bc6b535a574efced401a789d1a 100644 (file)
@@ -7,6 +7,8 @@ from windows import *
 
 from gdi import *
 
 
 from gdi import *
 
+from fonts import *
+
 from clip_dnd import *
 
 from events import *
 from clip_dnd import *
 
 from events import *
@@ -53,6 +55,18 @@ def EVT_LIST_INSERT_ITEM(win, id, func):
 def EVT_LIST_COL_CLICK(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_CLICK, func)
 
 def EVT_LIST_COL_CLICK(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_CLICK, func)
 
+def EVT_LIST_COL_RIGHT_CLICK(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_RIGHT_CLICK, func)
+
+def EVT_LIST_COL_BEGIN_DRAG(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, func)
+
+def EVT_LIST_COL_DRAGGING(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_DRAGGING, func)
+
+def EVT_LIST_COL_END_DRAG(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_END_DRAG, func)
+
 def EVT_LIST_ITEM_RIGHT_CLICK(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, func)
 
 def EVT_LIST_ITEM_RIGHT_CLICK(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, func)
 
@@ -65,6 +79,65 @@ def EVT_LIST_ITEM_ACTIVATED(win, id, func):
 def EVT_LIST_CACHE_HINT(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_LIST_CACHE_HINT, func)
 
 def EVT_LIST_CACHE_HINT(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_LIST_CACHE_HINT, func)
 
+def EVT_LIST_ITEM_FOCUSED(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_FOCUSED, func)
+
+
+# wxTreeCtrl events
+def EVT_TREE_BEGIN_DRAG(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_DRAG, func)
+
+def EVT_TREE_BEGIN_RDRAG(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_RDRAG, func)
+
+def EVT_TREE_END_DRAG(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_END_DRAG, func)
+
+def EVT_TREE_BEGIN_LABEL_EDIT(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, func)
+
+def EVT_TREE_END_LABEL_EDIT(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_END_LABEL_EDIT, func)
+
+def EVT_TREE_GET_INFO(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_GET_INFO, func)
+
+def EVT_TREE_SET_INFO(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_SET_INFO, func)
+
+def EVT_TREE_ITEM_EXPANDED(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_EXPANDED, func)
+
+def EVT_TREE_ITEM_EXPANDING(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_EXPANDING, func)
+
+def EVT_TREE_ITEM_COLLAPSED(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_COLLAPSED, func)
+
+def EVT_TREE_ITEM_COLLAPSING(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_COLLAPSING, func)
+
+def EVT_TREE_SEL_CHANGED(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_SEL_CHANGED, func)
+
+def EVT_TREE_SEL_CHANGING(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_SEL_CHANGING, func)
+
+def EVT_TREE_KEY_DOWN(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_KEY_DOWN, func)
+
+def EVT_TREE_DELETE_ITEM(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_DELETE_ITEM, func)
+
+def EVT_TREE_ITEM_ACTIVATED(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_ACTIVATED, func)
+
+def EVT_TREE_ITEM_RIGHT_CLICK(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK, func)
+
+def EVT_TREE_ITEM_MIDDLE_CLICK(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK, func)
+
 class wxListItemAttrPtr :
     def __init__(self,this):
         self.this = this
 class wxListItemAttrPtr :
     def __init__(self,this):
         self.this = this
@@ -89,15 +162,15 @@ class wxListItemAttrPtr :
         return val
     def GetTextColour(self, *_args, **_kwargs):
         val = apply(controls2c.wxListItemAttr_GetTextColour,(self,) + _args, _kwargs)
         return val
     def GetTextColour(self, *_args, **_kwargs):
         val = apply(controls2c.wxListItemAttr_GetTextColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
+        if val: val = wxColourPtr(val) ; val.thisown = 1
         return val
     def GetBackgroundColour(self, *_args, **_kwargs):
         val = apply(controls2c.wxListItemAttr_GetBackgroundColour,(self,) + _args, _kwargs)
         return val
     def GetBackgroundColour(self, *_args, **_kwargs):
         val = apply(controls2c.wxListItemAttr_GetBackgroundColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
+        if val: val = wxColourPtr(val) ; val.thisown = 1
         return val
     def GetFont(self, *_args, **_kwargs):
         val = apply(controls2c.wxListItemAttr_GetFont,(self,) + _args, _kwargs)
         return val
     def GetFont(self, *_args, **_kwargs):
         val = apply(controls2c.wxListItemAttr_GetFont,(self,) + _args, _kwargs)
-        if val: val = wxFontPtr(val) 
+        if val: val = wxFontPtr(val) ; val.thisown = 1
         return val
     def __repr__(self):
         return "<C wxListItemAttr instance at %s>" % (self.this,)
         return val
     def __repr__(self):
         return "<C wxListItemAttr instance at %s>" % (self.this,)
@@ -281,18 +354,9 @@ class wxListEventPtr(wxNotifyEventPtr):
     def GetIndex(self, *_args, **_kwargs):
         val = apply(controls2c.wxListEvent_GetIndex,(self,) + _args, _kwargs)
         return val
     def GetIndex(self, *_args, **_kwargs):
         val = apply(controls2c.wxListEvent_GetIndex,(self,) + _args, _kwargs)
         return val
-    def GetOldIndex(self, *_args, **_kwargs):
-        val = apply(controls2c.wxListEvent_GetOldIndex,(self,) + _args, _kwargs)
-        return val
-    def GetOldItem(self, *_args, **_kwargs):
-        val = apply(controls2c.wxListEvent_GetOldItem,(self,) + _args, _kwargs)
-        return val
     def GetColumn(self, *_args, **_kwargs):
         val = apply(controls2c.wxListEvent_GetColumn,(self,) + _args, _kwargs)
         return val
     def GetColumn(self, *_args, **_kwargs):
         val = apply(controls2c.wxListEvent_GetColumn,(self,) + _args, _kwargs)
         return val
-    def Cancelled(self, *_args, **_kwargs):
-        val = apply(controls2c.wxListEvent_Cancelled,(self,) + _args, _kwargs)
-        return val
     def GetPoint(self, *_args, **_kwargs):
         val = apply(controls2c.wxListEvent_GetPoint,(self,) + _args, _kwargs)
         if val: val = wxPointPtr(val) ; val.thisown = 1
     def GetPoint(self, *_args, **_kwargs):
         val = apply(controls2c.wxListEvent_GetPoint,(self,) + _args, _kwargs)
         if val: val = wxPointPtr(val) ; val.thisown = 1
@@ -315,22 +379,25 @@ class wxListEventPtr(wxNotifyEventPtr):
     def GetItem(self, *_args, **_kwargs):
         val = apply(controls2c.wxListEvent_GetItem,(self,) + _args, _kwargs)
         return val
     def GetItem(self, *_args, **_kwargs):
         val = apply(controls2c.wxListEvent_GetItem,(self,) + _args, _kwargs)
         return val
+    def GetCacheFrom(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListEvent_GetCacheFrom,(self,) + _args, _kwargs)
+        return val
+    def GetCacheTo(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListEvent_GetCacheTo,(self,) + _args, _kwargs)
+        return val
     def __setattr__(self,name,value):
         if name == "m_code" :
             controls2c.wxListEvent_m_code_set(self,value)
             return
     def __setattr__(self,name,value):
         if name == "m_code" :
             controls2c.wxListEvent_m_code_set(self,value)
             return
-        if name == "m_itemIndex" :
-            controls2c.wxListEvent_m_itemIndex_set(self,value)
-            return
         if name == "m_oldItemIndex" :
             controls2c.wxListEvent_m_oldItemIndex_set(self,value)
             return
         if name == "m_oldItemIndex" :
             controls2c.wxListEvent_m_oldItemIndex_set(self,value)
             return
+        if name == "m_itemIndex" :
+            controls2c.wxListEvent_m_itemIndex_set(self,value)
+            return
         if name == "m_col" :
             controls2c.wxListEvent_m_col_set(self,value)
             return
         if name == "m_col" :
             controls2c.wxListEvent_m_col_set(self,value)
             return
-        if name == "m_cancelled" :
-            controls2c.wxListEvent_m_cancelled_set(self,value)
-            return
         if name == "m_pointDrag" :
             controls2c.wxListEvent_m_pointDrag_set(self,value.this)
             return
         if name == "m_pointDrag" :
             controls2c.wxListEvent_m_pointDrag_set(self,value.this)
             return
@@ -341,14 +408,12 @@ class wxListEventPtr(wxNotifyEventPtr):
     def __getattr__(self,name):
         if name == "m_code" : 
             return controls2c.wxListEvent_m_code_get(self)
     def __getattr__(self,name):
         if name == "m_code" : 
             return controls2c.wxListEvent_m_code_get(self)
-        if name == "m_itemIndex" : 
-            return controls2c.wxListEvent_m_itemIndex_get(self)
         if name == "m_oldItemIndex" : 
             return controls2c.wxListEvent_m_oldItemIndex_get(self)
         if name == "m_oldItemIndex" : 
             return controls2c.wxListEvent_m_oldItemIndex_get(self)
+        if name == "m_itemIndex" : 
+            return controls2c.wxListEvent_m_itemIndex_get(self)
         if name == "m_col" : 
             return controls2c.wxListEvent_m_col_get(self)
         if name == "m_col" : 
             return controls2c.wxListEvent_m_col_get(self)
-        if name == "m_cancelled" : 
-            return controls2c.wxListEvent_m_cancelled_get(self)
         if name == "m_pointDrag" : 
             return wxPointPtr(controls2c.wxListEvent_m_pointDrag_get(self))
         if name == "m_item" : 
         if name == "m_pointDrag" : 
             return wxPointPtr(controls2c.wxListEvent_m_pointDrag_get(self))
         if name == "m_item" : 
@@ -357,8 +422,9 @@ class wxListEventPtr(wxNotifyEventPtr):
     def __repr__(self):
         return "<C wxListEvent instance at %s>" % (self.this,)
 class wxListEvent(wxListEventPtr):
     def __repr__(self):
         return "<C wxListEvent instance at %s>" % (self.this,)
 class wxListEvent(wxListEventPtr):
-    def __init__(self,this):
-        self.this = this
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(controls2c.new_wxListEvent,_args,_kwargs)
+        self.thisown = 1
 
 
 
 
 
 
@@ -367,8 +433,11 @@ class wxListCtrlPtr(wxControlPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(controls2c.wxListCtrl__setSelf,(self,) + _args, _kwargs)
+    def Create(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListCtrl_Create,(self,) + _args, _kwargs)
+        return val
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListCtrl__setCallbackInfo,(self,) + _args, _kwargs)
         return val
     def SetForegroundColour(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_SetForegroundColour,(self,) + _args, _kwargs)
         return val
     def SetForegroundColour(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_SetForegroundColour,(self,) + _args, _kwargs)
@@ -554,17 +623,162 @@ class wxListCtrlPtr(wxControlPtr):
     def __repr__(self):
         return "<C wxListCtrl instance at %s>" % (self.this,)
     
     def __repr__(self):
         return "<C wxListCtrl instance at %s>" % (self.this,)
     
+    def GetItem(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListCtrl_GetColumn,(self,) + _args, _kwargs)
+        if val is not None: val.thisown = 1
+        return val
+    
+    
     def GetItem(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_GetItem,(self,) + _args, _kwargs)
         val.thisown = 1
         return val
     
     def GetItem(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_GetItem,(self,) + _args, _kwargs)
         val.thisown = 1
         return val
     
+    
+    # Some helpers...
+
+    def Select(self, idx, on=1):
+        '''[de]select an item'''
+        if on: state = wxLIST_STATE_SELECTED
+        else: state = 0
+        self.SetItemState(idx, state, wxLIST_STATE_SELECTED)
+
+    def Focus(self, idx):
+        '''Focus and show the given item'''
+        self.SetItemState(idx, wxLIST_STATE_FOCUSED, wxLIST_STATE_FOCUSED)
+        self.EnsureVisible(idx)
+
+    def GetFocusedItem(self):
+        '''get the currently focused item or -1 if none'''
+        return self.GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_FOCUSED)
+
+    def IsSelected(self, idx):
+        '''return TRUE if the item is selected'''
+        return self.GetItemState(idx, wxLIST_STATE_SELECTED) != 0
+
+    def SetColumnImage(self, col, image):
+        item = wxListItem()
+        item.SetMask(wxLIST_MASK_IMAGE)
+        item.SetImage(image)
+        self.SetColumn(col, item)
+
+    def ClearColumnImage(self, col):
+        self.SetColumnImage(col, -1)
+
+    def Append(self, entry):
+        '''Append an item to the list control.  The entry parameter should be a
+           sequence with an item for each column'''
+        if len(entry):
+            pos = self.GetItemCount()
+            self.InsertStringItem(pos, str(entry[0]))
+            for i in range(1, len(entry)):
+                self.SetStringItem(pos, i, str(entry[i]))
+            return pos
+    
 class wxListCtrl(wxListCtrlPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(controls2c.new_wxListCtrl,_args,_kwargs)
         self.thisown = 1
 class wxListCtrl(wxListCtrlPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(controls2c.new_wxListCtrl,_args,_kwargs)
         self.thisown = 1
-        #wx._StdWindowCallbacks(self)
-        self._setSelf(self, wxListCtrl)
+        self._setCallbackInfo(self, wxListCtrl)
+        self._setOORInfo(self)
+
+
+
+def wxPreListCtrl(*_args,**_kwargs):
+    val = wxListCtrlPtr(apply(controls2c.new_wxPreListCtrl,_args,_kwargs))
+    val.thisown = 1
+    val._setOORInfo(val)
+    return val
+
+
+class wxListViewPtr(wxListCtrlPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def Create(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListView_Create,(self,) + _args, _kwargs)
+        return val
+    def Select(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListView_Select,(self,) + _args, _kwargs)
+        return val
+    def Focus(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListView_Focus,(self,) + _args, _kwargs)
+        return val
+    def GetFocusedItem(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListView_GetFocusedItem,(self,) + _args, _kwargs)
+        return val
+    def GetNextSelected(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListView_GetNextSelected,(self,) + _args, _kwargs)
+        return val
+    def GetFirstSelected(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListView_GetFirstSelected,(self,) + _args, _kwargs)
+        return val
+    def IsSelected(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListView_IsSelected,(self,) + _args, _kwargs)
+        return val
+    def SetColumnImage(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListView_SetColumnImage,(self,) + _args, _kwargs)
+        return val
+    def ClearColumnImage(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListView_ClearColumnImage,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxListView instance at %s>" % (self.this,)
+class wxListView(wxListViewPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(controls2c.new_wxListView,_args,_kwargs)
+        self.thisown = 1
+        self._setOORInfo(self)
+
+
+
+def wxPreListView(*_args,**_kwargs):
+    val = wxListViewPtr(apply(controls2c.new_wxPreListView,_args,_kwargs))
+    val.thisown = 1
+    val._setOORInfo(val)
+    return val
+
+
+class wxTreeItemAttrPtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def SetTextColour(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeItemAttr_SetTextColour,(self,) + _args, _kwargs)
+        return val
+    def SetBackgroundColour(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeItemAttr_SetBackgroundColour,(self,) + _args, _kwargs)
+        return val
+    def SetFont(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeItemAttr_SetFont,(self,) + _args, _kwargs)
+        return val
+    def HasTextColour(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeItemAttr_HasTextColour,(self,) + _args, _kwargs)
+        return val
+    def HasBackgroundColour(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeItemAttr_HasBackgroundColour,(self,) + _args, _kwargs)
+        return val
+    def HasFont(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeItemAttr_HasFont,(self,) + _args, _kwargs)
+        return val
+    def GetTextColour(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeItemAttr_GetTextColour,(self,) + _args, _kwargs)
+        if val: val = wxColourPtr(val) ; val.thisown = 1
+        return val
+    def GetBackgroundColour(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeItemAttr_GetBackgroundColour,(self,) + _args, _kwargs)
+        if val: val = wxColourPtr(val) ; val.thisown = 1
+        return val
+    def GetFont(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeItemAttr_GetFont,(self,) + _args, _kwargs)
+        if val: val = wxFontPtr(val) ; val.thisown = 1
+        return val
+    def __repr__(self):
+        return "<C wxTreeItemAttr instance at %s>" % (self.this,)
+class wxTreeItemAttr(wxTreeItemAttrPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(controls2c.new_wxTreeItemAttr,_args,_kwargs)
+        self.thisown = 1
 
 
 
 
 
 
@@ -584,6 +798,7 @@ class wxTreeItemIdPtr :
         return val
     def __repr__(self):
         return "<C wxTreeItemId instance at %s>" % (self.this,)
         return val
     def __repr__(self):
         return "<C wxTreeItemId instance at %s>" % (self.this,)
+    Ok = IsOk
 class wxTreeItemId(wxTreeItemIdPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(controls2c.new_wxTreeItemId,_args,_kwargs)
 class wxTreeItemId(wxTreeItemIdPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(controls2c.new_wxTreeItemId,_args,_kwargs)
@@ -635,6 +850,10 @@ class wxTreeEventPtr(wxNotifyEventPtr):
         val = apply(controls2c.wxTreeEvent_GetPoint,(self,) + _args, _kwargs)
         if val: val = wxPointPtr(val) ; val.thisown = 1
         return val
         val = apply(controls2c.wxTreeEvent_GetPoint,(self,) + _args, _kwargs)
         if val: val = wxPointPtr(val) ; val.thisown = 1
         return val
+    def GetKeyEvent(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeEvent_GetKeyEvent,(self,) + _args, _kwargs)
+        if val: val = wxKeyEventPtr(val) 
+        return val
     def GetCode(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeEvent_GetCode,(self,) + _args, _kwargs)
         return val
     def GetCode(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeEvent_GetCode,(self,) + _args, _kwargs)
         return val
@@ -644,8 +863,9 @@ class wxTreeEventPtr(wxNotifyEventPtr):
     def __repr__(self):
         return "<C wxTreeEvent instance at %s>" % (self.this,)
 class wxTreeEvent(wxTreeEventPtr):
     def __repr__(self):
         return "<C wxTreeEvent instance at %s>" % (self.this,)
 class wxTreeEvent(wxTreeEventPtr):
-    def __init__(self,this):
-        self.this = this
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(controls2c.new_wxTreeEvent,_args,_kwargs)
+        self.thisown = 1
 
 
 
 
 
 
@@ -654,12 +874,11 @@ class wxTreeCtrlPtr(wxControlPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(controls2c.wxTreeCtrl__setSelf,(self,) + _args, _kwargs)
+    def Create(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeCtrl_Create,(self,) + _args, _kwargs)
         return val
         return val
-    def AssignImageList(self, *_args, **_kwargs):
-        val = apply(controls2c.wxTreeCtrl_AssignImageList,(self,) + _args, _kwargs)
-        _args[0].thisown = 0
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeCtrl__setCallbackInfo,(self,) + _args, _kwargs)
         return val
     def GetCount(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_GetCount,(self,) + _args, _kwargs)
         return val
     def GetCount(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_GetCount,(self,) + _args, _kwargs)
@@ -682,6 +901,14 @@ class wxTreeCtrlPtr(wxControlPtr):
     def SetStateImageList(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_SetStateImageList,(self,) + _args, _kwargs)
         return val
     def SetStateImageList(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_SetStateImageList,(self,) + _args, _kwargs)
         return val
+    def AssignImageList(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeCtrl_AssignImageList,(self,) + _args, _kwargs)
+        _args[0].thisown = 0
+        return val
+    def AssignStateImageList(self, *_args, **_kwargs):
+        val = apply(controls2c.wxTreeCtrl_AssignStateImageList,(self,) + _args, _kwargs)
+        _args[0].thisown = 0
+        return val
     def GetSpacing(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_GetSpacing,(self,) + _args, _kwargs)
         return val
     def GetSpacing(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_GetSpacing,(self,) + _args, _kwargs)
         return val
@@ -898,10 +1125,160 @@ class wxTreeCtrl(wxTreeCtrlPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(controls2c.new_wxTreeCtrl,_args,_kwargs)
         self.thisown = 1
     def __init__(self,*_args,**_kwargs):
         self.this = apply(controls2c.new_wxTreeCtrl,_args,_kwargs)
         self.thisown = 1
-        #wx._StdWindowCallbacks(self)
-        self._setSelf(self, wxTreeCtrl)
+        self._setCallbackInfo(self, wxTreeCtrl)
+        self._setOORInfo(self)
+
+
+
+def wxPreTreeCtrl(*_args,**_kwargs):
+    val = wxTreeCtrlPtr(apply(controls2c.new_wxPreTreeCtrl,_args,_kwargs))
+    val.thisown = 1
+    val._setOORInfo(val)
+    return val
+
+
+class wxDirItemDataPtr(wxObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def SetNewDirName(self, *_args, **_kwargs):
+        val = apply(controls2c.wxDirItemData_SetNewDirName,(self,) + _args, _kwargs)
+        return val
+    def __setattr__(self,name,value):
+        if name == "m_path" :
+            controls2c.wxDirItemData_m_path_set(self,value)
+            return
+        if name == "m_name" :
+            controls2c.wxDirItemData_m_name_set(self,value)
+            return
+        if name == "m_isHidden" :
+            controls2c.wxDirItemData_m_isHidden_set(self,value)
+            return
+        if name == "m_isExpanded" :
+            controls2c.wxDirItemData_m_isExpanded_set(self,value)
+            return
+        if name == "m_isDir" :
+            controls2c.wxDirItemData_m_isDir_set(self,value)
+            return
+        self.__dict__[name] = value
+    def __getattr__(self,name):
+        if name == "m_path" : 
+            return controls2c.wxDirItemData_m_path_get(self)
+        if name == "m_name" : 
+            return controls2c.wxDirItemData_m_name_get(self)
+        if name == "m_isHidden" : 
+            return controls2c.wxDirItemData_m_isHidden_get(self)
+        if name == "m_isExpanded" : 
+            return controls2c.wxDirItemData_m_isExpanded_get(self)
+        if name == "m_isDir" : 
+            return controls2c.wxDirItemData_m_isDir_get(self)
+        raise AttributeError,name
+    def __repr__(self):
+        return "<C wxDirItemData instance at %s>" % (self.this,)
+class wxDirItemData(wxDirItemDataPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(controls2c.new_wxDirItemData,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxGenericDirCtrlPtr(wxControlPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def Create(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_Create,(self,) + _args, _kwargs)
+        return val
+    def ExpandPath(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_ExpandPath,(self,) + _args, _kwargs)
+        return val
+    def GetDefaultPath(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_GetDefaultPath,(self,) + _args, _kwargs)
+        return val
+    def SetDefaultPath(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_SetDefaultPath,(self,) + _args, _kwargs)
+        return val
+    def GetPath(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_GetPath,(self,) + _args, _kwargs)
+        return val
+    def GetFilePath(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_GetFilePath,(self,) + _args, _kwargs)
+        return val
+    def SetPath(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_SetPath,(self,) + _args, _kwargs)
+        return val
+    def ShowHidden(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_ShowHidden,(self,) + _args, _kwargs)
+        return val
+    def GetShowHidden(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_GetShowHidden,(self,) + _args, _kwargs)
+        return val
+    def GetFilter(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_GetFilter,(self,) + _args, _kwargs)
+        return val
+    def SetFilter(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_SetFilter,(self,) + _args, _kwargs)
+        return val
+    def GetFilterIndex(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_GetFilterIndex,(self,) + _args, _kwargs)
+        return val
+    def SetFilterIndex(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_SetFilterIndex,(self,) + _args, _kwargs)
+        return val
+    def GetRootId(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_GetRootId,(self,) + _args, _kwargs)
+        if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1
+        return val
+    def GetTreeCtrl(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_GetTreeCtrl,(self,) + _args, _kwargs)
+        return val
+    def GetFilterListCtrl(self, *_args, **_kwargs):
+        val = apply(controls2c.wxGenericDirCtrl_GetFilterListCtrl,(self,) + _args, _kwargs)
+        if val: val = wxDirFilterListCtrlPtr(val) 
+        return val
+    def __repr__(self):
+        return "<C wxGenericDirCtrl instance at %s>" % (self.this,)
+class wxGenericDirCtrl(wxGenericDirCtrlPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(controls2c.new_wxGenericDirCtrl,_args,_kwargs)
+        self.thisown = 1
+        self._setOORInfo(self)
+
+
+
+def wxPreGenericDirCtrl(*_args,**_kwargs):
+    val = wxGenericDirCtrlPtr(apply(controls2c.new_wxPreGenericDirCtrl,_args,_kwargs))
+    val.thisown = 1
+    val._setOORInfo(val)
+    return val
+
+
+class wxDirFilterListCtrlPtr(wxChoicePtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def Create(self, *_args, **_kwargs):
+        val = apply(controls2c.wxDirFilterListCtrl_Create,(self,) + _args, _kwargs)
+        return val
+    def FillFilterList(self, *_args, **_kwargs):
+        val = apply(controls2c.wxDirFilterListCtrl_FillFilterList,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxDirFilterListCtrl instance at %s>" % (self.this,)
+class wxDirFilterListCtrl(wxDirFilterListCtrlPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(controls2c.new_wxDirFilterListCtrl,_args,_kwargs)
+        self.thisown = 1
+        self._setOORInfo(self)
+
 
 
 
 
+def wxPreDirFilterListCtrl(*_args,**_kwargs):
+    val = wxDirFilterListCtrlPtr(apply(controls2c.new_wxPreDirFilterListCtrl,_args,_kwargs))
+    val.thisown = 1
+    val._setOORInfo(val)
+    return val
 
 
 
 
 
 
@@ -929,6 +1306,11 @@ wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK = controls2c.wxEVT_COMMAND_LIST_ITEM_RIGHT_C
 wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK = controls2c.wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK
 wxEVT_COMMAND_LIST_ITEM_ACTIVATED = controls2c.wxEVT_COMMAND_LIST_ITEM_ACTIVATED
 wxEVT_COMMAND_LIST_CACHE_HINT = controls2c.wxEVT_COMMAND_LIST_CACHE_HINT
 wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK = controls2c.wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK
 wxEVT_COMMAND_LIST_ITEM_ACTIVATED = controls2c.wxEVT_COMMAND_LIST_ITEM_ACTIVATED
 wxEVT_COMMAND_LIST_CACHE_HINT = controls2c.wxEVT_COMMAND_LIST_CACHE_HINT
+wxEVT_COMMAND_LIST_COL_RIGHT_CLICK = controls2c.wxEVT_COMMAND_LIST_COL_RIGHT_CLICK
+wxEVT_COMMAND_LIST_COL_BEGIN_DRAG = controls2c.wxEVT_COMMAND_LIST_COL_BEGIN_DRAG
+wxEVT_COMMAND_LIST_COL_DRAGGING = controls2c.wxEVT_COMMAND_LIST_COL_DRAGGING
+wxEVT_COMMAND_LIST_COL_END_DRAG = controls2c.wxEVT_COMMAND_LIST_COL_END_DRAG
+wxEVT_COMMAND_LIST_ITEM_FOCUSED = controls2c.wxEVT_COMMAND_LIST_ITEM_FOCUSED
 wxLC_VRULES = controls2c.wxLC_VRULES
 wxLC_HRULES = controls2c.wxLC_HRULES
 wxLC_ICON = controls2c.wxLC_ICON
 wxLC_VRULES = controls2c.wxLC_VRULES
 wxLC_HRULES = controls2c.wxLC_HRULES
 wxLC_ICON = controls2c.wxLC_ICON
@@ -948,6 +1330,7 @@ wxLC_SORT_DESCENDING = controls2c.wxLC_SORT_DESCENDING
 wxLC_MASK_TYPE = controls2c.wxLC_MASK_TYPE
 wxLC_MASK_ALIGN = controls2c.wxLC_MASK_ALIGN
 wxLC_MASK_SORT = controls2c.wxLC_MASK_SORT
 wxLC_MASK_TYPE = controls2c.wxLC_MASK_TYPE
 wxLC_MASK_ALIGN = controls2c.wxLC_MASK_ALIGN
 wxLC_MASK_SORT = controls2c.wxLC_MASK_SORT
+wxLC_USER_TEXT = controls2c.wxLC_USER_TEXT
 wxLIST_MASK_STATE = controls2c.wxLIST_MASK_STATE
 wxLIST_MASK_TEXT = controls2c.wxLIST_MASK_TEXT
 wxLIST_MASK_IMAGE = controls2c.wxLIST_MASK_IMAGE
 wxLIST_MASK_STATE = controls2c.wxLIST_MASK_STATE
 wxLIST_MASK_TEXT = controls2c.wxLIST_MASK_TEXT
 wxLIST_MASK_IMAGE = controls2c.wxLIST_MASK_IMAGE
@@ -992,6 +1375,22 @@ wxLIST_FORMAT_LEFT = controls2c.wxLIST_FORMAT_LEFT
 wxLIST_FORMAT_RIGHT = controls2c.wxLIST_FORMAT_RIGHT
 wxLIST_FORMAT_CENTRE = controls2c.wxLIST_FORMAT_CENTRE
 wxLIST_FORMAT_CENTER = controls2c.wxLIST_FORMAT_CENTER
 wxLIST_FORMAT_RIGHT = controls2c.wxLIST_FORMAT_RIGHT
 wxLIST_FORMAT_CENTRE = controls2c.wxLIST_FORMAT_CENTRE
 wxLIST_FORMAT_CENTER = controls2c.wxLIST_FORMAT_CENTER
+wxTR_NO_BUTTONS = controls2c.wxTR_NO_BUTTONS
+wxTR_HAS_BUTTONS = controls2c.wxTR_HAS_BUTTONS
+wxTR_TWIST_BUTTONS = controls2c.wxTR_TWIST_BUTTONS
+wxTR_NO_LINES = controls2c.wxTR_NO_LINES
+wxTR_MAC_BUTTONS = controls2c.wxTR_MAC_BUTTONS
+wxTR_AQUA_BUTTONS = controls2c.wxTR_AQUA_BUTTONS
+wxTR_SINGLE = controls2c.wxTR_SINGLE
+wxTR_MULTIPLE = controls2c.wxTR_MULTIPLE
+wxTR_EXTENDED = controls2c.wxTR_EXTENDED
+wxTR_FULL_ROW_HIGHLIGHT = controls2c.wxTR_FULL_ROW_HIGHLIGHT
+wxTR_EDIT_LABELS = controls2c.wxTR_EDIT_LABELS
+wxTR_LINES_AT_ROOT = controls2c.wxTR_LINES_AT_ROOT
+wxTR_HIDE_ROOT = controls2c.wxTR_HIDE_ROOT
+wxTR_ROW_LINES = controls2c.wxTR_ROW_LINES
+wxTR_HAS_VARIABLE_ROW_HEIGHT = controls2c.wxTR_HAS_VARIABLE_ROW_HEIGHT
+wxTR_DEFAULT_STYLE = controls2c.wxTR_DEFAULT_STYLE
 wxTreeItemIcon_Normal = controls2c.wxTreeItemIcon_Normal
 wxTreeItemIcon_Selected = controls2c.wxTreeItemIcon_Selected
 wxTreeItemIcon_Expanded = controls2c.wxTreeItemIcon_Expanded
 wxTreeItemIcon_Normal = controls2c.wxTreeItemIcon_Normal
 wxTreeItemIcon_Selected = controls2c.wxTreeItemIcon_Selected
 wxTreeItemIcon_Expanded = controls2c.wxTreeItemIcon_Expanded
@@ -1029,3 +1428,10 @@ wxEVT_COMMAND_TREE_ITEM_ACTIVATED = controls2c.wxEVT_COMMAND_TREE_ITEM_ACTIVATED
 wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK = controls2c.wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK
 wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK = controls2c.wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK
 wxEVT_COMMAND_TREE_END_DRAG = controls2c.wxEVT_COMMAND_TREE_END_DRAG
 wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK = controls2c.wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK
 wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK = controls2c.wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK
 wxEVT_COMMAND_TREE_END_DRAG = controls2c.wxEVT_COMMAND_TREE_END_DRAG
+wxDIRCTRL_DIR_ONLY = controls2c.wxDIRCTRL_DIR_ONLY
+wxDIRCTRL_SELECT_FIRST = controls2c.wxDIRCTRL_SELECT_FIRST
+wxDIRCTRL_SHOW_FILTERS = controls2c.wxDIRCTRL_SHOW_FILTERS
+wxDIRCTRL_3D_INTERNAL = controls2c.wxDIRCTRL_3D_INTERNAL
+wxDIRCTRL_EDIT_LABELS = controls2c.wxDIRCTRL_EDIT_LABELS
+wxID_TREECTRL = controls2c.wxID_TREECTRL
+wxID_FILTERLISTCTRL = controls2c.wxID_FILTERLISTCTRL