void vmsDownloadsGroupsMgr::DeleteGroup(vmsDownloadsGroupSmartPtr pGroup) { PDLDS_GROUPS_TREE pGrp = FindGroupInTree (pGroup); PDLDS_GROUPS_TREE pRoot = pGrp->GetRoot (); for (int i = 0; i < pRoot->GetLeafCount (); i++) { if (pRoot->GetLeaf (i) == pGrp) { pRoot->DeleteLeaf (i); RebuildGroupsList (); if (pRoot == m_tGroups) { setDirty(); getPersistObjectChildren ()->removePersistObject (i); } else { vmsDownloadsGroupSmartPtr pRootGroupPtr = pRoot->GetData(); if ((vmsDownloadsGroup*)pRootGroupPtr != 0) { pRootGroupPtr->nChildren--; pRootGroupPtr->getPersistObjectChildren ()->removePersistObject (i); pRootGroupPtr->setDirty(); } } return; } } }
fsString vmsDownloadsGroupsMgr::GetGroupFullName(UINT nId) { vmsDownloadsGroupSmartPtr pGroup = FindGroup (nId); if (pGroup == NULL) return ""; PDLDS_GROUPS_TREE p = FindGroupInTree (pGroup); fsString strName; while (p && p->GetData () != NULL) { fsString str = p->GetData ()->strName; if (strName.IsEmpty ()) { strName = str; } else { str += '\\'; str += strName; strName = str; } p = p->GetRoot (); } return strName; }
void vmsDownloadsGroupsMgr::GetGroupWithSubgroups(vmsDownloadsGroupSmartPtr pGroup, std::vector <vmsDownloadsGroupSmartPtr> &v) { PDLDS_GROUPS_TREE pGrp = FindGroupInTree (pGroup); if (pGrp != NULL) { v.push_back (pGrp->GetData ()); GetSubgroups (pGrp, v); } }
void vmsDownloadsGroupsMgr::DeleteGroup(vmsDownloadsGroupSmartPtr pGroup) { PDLDS_GROUPS_TREE pGrp = FindGroupInTree (pGroup); PDLDS_GROUPS_TREE pRoot = pGrp->GetRoot (); for (int i = 0; i < pRoot->GetLeafCount (); i++) { if (pRoot->GetLeaf (i) == pGrp) { pRoot->DeleteLeaf (i); RebuildGroupsList (); QueryStoringGroupsInformation(); return; } } }
PDLDS_GROUPS_TREE vmsDownloadsGroupsMgr::Add(vmsDownloadsGroupSmartPtr grp, vmsDownloadsGroupSmartPtr pParentGroup, BOOL bKeepIdAsIs, bool bDontQueryStoringGroupsInformation) { PDLDS_GROUPS_TREE pParent = pParentGroup == NULL ? m_tGroups : FindGroupInTree (pParentGroup); return Add (grp, pParent, bKeepIdAsIs, bDontQueryStoringGroupsInformation); }