ULONG VorticalLayerCtrl::getLayer(ULONG nItem) const { if (m_bCached) { WFX_CONDITION(nItem < m_rgCacheInfo.size()); return m_rgCacheInfo[nItem].m_nLayer; } TNode* pNode = m_pRoot->getAt(nItem); if (pNode != NULL) { return pNode->getMyLayer(); } return 0; }
ULONG VorticalLayerCtrl::insertSubItem(ULONG nItem) { TNode* pNode = m_pRoot->getAt(nItem); if (pNode != NULL) { setVirtualSizeCached(FALSE); pNode->addChild(SPTNode(new TNode)); if (pNode->isExpanded()) { CacheInfo chinfo(pNode->getMyLayer() + 1, TRUE); WFX_CONDITION(nItem + 1 <= m_rgCacheInfo.size()); m_rgCacheInfo.insert(m_rgCacheInfo.begin() + nItem + 1, chinfo); } } return m_rgCacheInfo.size(); }