-class wxListItemPtr :
+class wxListItemPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
         return val
     def GetItem(self, *_args, **_kwargs):
         val = apply(controls2c.wxListEvent_GetItem,(self,) + _args, _kwargs)
-        if val: val = wxListItemPtr(val) 
         return val
     def __setattr__(self,name,value):
         if name == "m_code" :
         return val
     def AssignImageList(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_AssignImageList,(self,) + _args, _kwargs)
+        _args[0].thisown = 0
         return val
     def DeleteItem(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_DeleteItem,(self,) + _args, _kwargs)
         return val
     def GetImageList(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_GetImageList,(self,) + _args, _kwargs)
-        if val: val = wxImageListPtr(val) 
         return val
     def GetItemData(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_GetItemData,(self,) + _args, _kwargs)
         return val
     def GetItem(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_GetItem,(self,) + _args, _kwargs)
-        if val: val = wxListItemPtr(val) ; val.thisown = 1
         return val
     def GetItemPosition(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_GetItemPosition,(self,) + _args, _kwargs)
 
 
 
-class wxTreeItemDataPtr :
+class wxTreeItemDataPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
         return val
     def AssignImageList(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_AssignImageList,(self,) + _args, _kwargs)
+        _args[0].thisown = 0
         return val
     def GetCount(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_GetCount,(self,) + _args, _kwargs)
         return val
     def GetImageList(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_GetImageList,(self,) + _args, _kwargs)
-        if val: val = wxImageListPtr(val) 
         return val
     def GetStateImageList(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_GetStateImageList,(self,) + _args, _kwargs)
-        if val: val = wxImageListPtr(val) 
         return val
     def SetImageList(self, *_args, **_kwargs):
         val = apply(controls2c.wxTreeCtrl_SetImageList,(self,) + _args, _kwargs)
 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