Why does wxTreeCtrl::GetItemData() returns wxTreeItemData rather than my
subclass of wxTreeItemData?
I've inherited from wxTreeItemData as follows:
class CNsiData( wx.wxTreeItemData ):
Now I handle tree expanding events as follows:
def OnItemExpanding(self,event):
ParItemId = event.GetItem();
ParItemData = self.GetItemData(ParItemId);
But I find that the instance returned to ParItemData by GetItemData is of
type wxTreeItemDataPtr (which I assume I can read as wxTreeItemData), rather
than my user class CNsiData.
In case it's relevant, here's the ctor of my wxTreeCtrl derived class:
def __init__(self, parent, id ):
wx.wxTreeCtrl.__init__(self, parent, id);
RootPyObj = ns.ObjStore.GetRoot();
RootItemData = CNsiData( "Names", RootPyObj );
self.Root = self.AddRoot( RootItemData.GetDispStr(), -1, -1,
RootItemData );
self.SetItemHasChildren(self.Root, wx.TRUE);
wx.EVT_TREE_ITEM_EXPANDING(self, self.GetId(),
self.OnItemExpanding);
Thanks for the help,
Tom.