void CNBTreeView::Visit(CDiskObjectPtr o) { const CObjectUIHandler *pHandler = CObjectUIHandler::GetUIHandler(o); switch ( m_nAction ) { case NDASBINDVIEW_INSERT_OBJECT: { m_htiLast = CTreeViewCtrlEx::InsertItem( pHandler->GetTitle(o), pHandler->GetIconIndex(o), pHandler->GetSelectedIconIndex(o), m_htiParent, TVI_LAST ); m_htiLast.SetData( o->GetUniqueID() ); m_mapIDToTreeItem[o->GetUniqueID()] = m_htiLast; Expand(m_htiParent, TVE_EXPAND); } break; case NDASBINDVIEW_UPDATE_OBJECT: { CTreeItem htiUpdate = m_mapIDToTreeItem[o->GetUniqueID()]; htiUpdate.SetText( pHandler->GetTitle(o) ); htiUpdate.SetImage( pHandler->GetIconIndex(o), pHandler->GetSelectedIconIndex(o) ); } } };
void CNBListViewCtrl::DeleteDiskObject(CDiskObjectPtr o) { int nItemCount = CListViewCtrl::GetItemCount(); for (int i=0; i < nItemCount; i++ ) { if ( GetItemData(i) == o->GetUniqueID() ) { CListViewCtrl::DeleteItem( i ); break; } } m_mapObject.erase( o->GetUniqueID() ); }
int CNBListViewCtrl::FindDiskObjectItem(CDiskObjectPtr o) { LVFINDINFO info; info.flags = LVFI_PARAM; info.lParam = o->GetUniqueID(); return CListViewCtrl::FindItem(&info, -1); }
void CNBListViewCtrl::AddDiskObject(CDiskObjectPtr o) { LVITEM lvItem = { 0 }; const CObjectUIHandler *pHandler = CObjectUIHandler::GetUIHandler(o); WTL::CString strName = pHandler->GetTitle(o); WTL::CString strCapacity; strCapacity.FormatMessage( IDS_DISKPROPERTYPAGE_SIZE_IN_GB, pHandler->GetSizeInMB( o ) / 1024, (pHandler->GetSizeInMB( o ) % 1024) / 10 ); lvItem.mask = LVIF_TEXT | LVIF_PARAM; lvItem.iItem = GetItemCount(); lvItem.pszText = strName.LockBuffer(); //LPSTR_TEXTCALLBACK; lvItem.lParam = static_cast<LPARAM>(o->GetUniqueID()); CListViewCtrl::InsertItem( &lvItem ); CListViewCtrl::SetItemText(lvItem.iItem, 1, strCapacity.LockBuffer() ); m_mapObject[o->GetUniqueID()] = o; }
void CNBTreeView::InsertDiskObject(CDiskObjectPtr o, CDiskObjectPtr parent) { if ( parent.get() == NULL ) { m_htiParent = TVI_ROOT; m_htiLast = m_htiParent; } else { m_htiParent = m_mapIDToTreeItem[parent->GetUniqueID()]; if ( m_htiParent.IsNull() ) m_htiParent = TVI_ROOT; m_htiLast = m_htiParent; } m_nAction = NDASBINDVIEW_INSERT_OBJECT; o->Accept( o, this ); }
void CMainFrame::Visit(CDiskObjectPtr o) { m_mapObject.insert( std::make_pair(o->GetUniqueID(), o) ); }
void CNBTreeView::DeleteDiskObject(CDiskObjectPtr o) { CTreeItem htiDelete = m_mapIDToTreeItem[o->GetUniqueID()]; CTreeViewCtrlEx::DeleteItem( htiDelete ); }