Hello!
I want to move a branch with drag&drop in a wxtreectrl.
Here is the function, that I use:
Code:typedef struct sItemRepresentation { wxTreeItemId pTreeItem; } sItemRepresentation; void MoveTree(wxTreeItemId &source, wxTreeItemId &dest) { wxTreeItemIdValue cookie; wxTreeItemId cdest; // 1. Child wxTreeItemId child = WxTreeCtrl1->GetFirstChild(source, cookie); if (child.IsOk()) { // Add child to destination sItemRepresentation selItemRep = m_vItems[child]; selItemRep.pTreeItem = WxTreeCtrl1->InsertItem(dest,WxTreeCtrl1->GetItemText(selItemRep.pTreeItem)); m_vItems[selItemRep.pTreeItem] = selItemRep; MoveTree(child,selItemRep.pTreeItem); // Get next children while ((child = WxTreeCtrl1->GetNextChild(child, cookie)).IsOk()) { selItemRep = m_vItems[child]; wxMessageBox(WxTreeCtrl1->GetItemText(selItemRep.pTreeItem), _T("Error"),wxOK | wxICON_ERROR, this); selItemRep.pTreeItem = WxTreeCtrl1->InsertItem(dest,WxTreeCtrl1->GetItemText(selItemRep.pTreeItem)); m_vItems[selItemRep.pTreeItem] = selItemRep; MoveTree(child,selItemRep.pTreeItem); child = WxTreeCtrl1->GetNextChild(child, cookie); } } }
But the moving of a branch does not work correctly. Some treeitems are just not moved (and I do not see a reason therefore).
I already posted it in the wxwidgets forum, but nobody seems to answer.
Can someone please give me a hint?



LinkBack URL
About LinkBacks


