void wxGxContentView::OnObjectAdded(wxGxCatalogEvent& event) { //wxLogDebug(wxT("ContentView Object %d Add"), event.GetObjectID()); wxGxObject* pGxObject = m_pCatalog->GetRegisterObject(event.GetObjectID()); if(pGxObject) { // wxLogDebug(wxT("ContentView Object %d '%s' Add"), pGxObject->GetId(), pGxObject->GetFullName()); const wxGxObject* pParentGxObject = pGxObject->GetParent(); if(!pParentGxObject) return; if(pParentGxObject->GetId() == m_nParentGxObjectID) { if(AddObject(pGxObject)) { wxGxAutoRenamer* pGxAutoRenamer = dynamic_cast<wxGxAutoRenamer*>(pGxObject->GetParent()); if(pGxAutoRenamer && pGxAutoRenamer->IsBeginRename(this, pGxObject->GetPath())) { BeginRename(pGxObject->GetId()); } else { SORTDATA sortdata = { m_bSortAsc, m_currentSortCol }; SortItems(GxObjectCVCompareFunction, (long)&sortdata); SetColumnImage(m_currentSortCol, m_bSortAsc ? 0 : 1); } } } } }
void wxGxTreeView::OnObjectAdded(wxGxCatalogEvent& event) { wxGxObject* pGxObject = m_pCatalog->GetRegisterObject(event.GetObjectID()); if(!pGxObject) return; wxGxObject* pParentObject = pGxObject->GetParent(); wxTreeItemId ParentTreeItemId = m_TreeMap[pParentObject->GetId()]; if(ParentTreeItemId.IsOk()) { wxGxTreeItemData* pData = (wxGxTreeItemData*)GetItemData(ParentTreeItemId); if(pData != NULL) { wxGxAutoRenamer* pGxAutoRenamer = dynamic_cast<wxGxAutoRenamer*>(pParentObject); if(pData->m_bExpandedOnce) { AddTreeItem(pGxObject, ParentTreeItemId); SortChildren(ParentTreeItemId); if(pGxAutoRenamer && pGxAutoRenamer->IsBeginRename(this, pGxObject->GetPath())) { BeginRename(pGxObject->GetId()); } } else { if(pGxAutoRenamer && pGxAutoRenamer->IsBeginRename(this, pGxObject->GetPath())) { Expand(ParentTreeItemId); AddTreeItem(pGxObject, ParentTreeItemId); SortChildren(ParentTreeItemId); BeginRename(pGxObject->GetId()); } else { SetItemHasChildren(ParentTreeItemId, true); } } } } }