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):
     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
         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_col" :
             controls2c.wxListEvent_m_col_set(self,value)
             return
             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_col" : 
             return controls2c.wxListEvent_m_col_get(self)
         if name == "m_cancelled" : 
     def Create(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_Create,(self,) + _args, _kwargs)
         return val
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(controls2c.wxListCtrl__setSelf,(self,) + _args, _kwargs)
+    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)
     def __init__(self,*_args,**_kwargs):
         self.this = apply(controls2c.new_wxListCtrl,_args,_kwargs)
         self.thisown = 1
-        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
 
 
     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
 
 
         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 Create(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_Create,(self,) + _args, _kwargs)
         return val
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(controls2c.wxTreeCtrl__setSelf,(self,) + _args, _kwargs)
+    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)
     def __init__(self,*_args,**_kwargs):
         self.this = apply(controls2c.new_wxTreeCtrl,_args,_kwargs)
         self.thisown = 1
-        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
 
 
 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