void CMyTreeCtrl::EnumItem( HTREEITEM hItem, bool f ) { if( hItem == (HTREEITEM)NULL ) return; if( f == true ) { m_uSizeofEnumItem = 0; m_uIndexofEnumItem = 0; } PSrvrData pData = (PSrvrData)GetItemData( hItem ); ASSERT( pData ); if( pData->dwId < MAX_ID ) m_ahEnumItem[m_uSizeofEnumItem++] = hItem; if( TRUE == ItemHasChildren( hItem ) ) { if( f == false ) EnumItem( GetNextSiblingItem( hItem ), false ); EnumItem( GetChildItem( hItem ), false ); } else { if( f == false ) EnumItem( GetNextSiblingItem( hItem ), false ); } }
bool vsnet_addin::ExecVFCWizard() { if (m_fc.pvfc) { EnvDTE::ProjectPtr pProj; if (GetActiveProject(pProj) == S_FALSE || pProj == NULL) { m_fc.pvfc->load_project(NULL,NULL); return false; } EnvDTE::DocumentPtr pDoc; m_pDTE->get_ActiveDocument(&pDoc); CComBSTR active_file; if (pDoc != NULL) { pDoc->get_Name(&active_file); } m_files.RemoveAll(); EnumItem(pProj,m_files,NULL); this->SaveAllDocuments(); CComBSTR name; pProj->get_Name(&name); m_fc.pvfc->load_project((CString)name,(CString)active_file); } return true; }
void QsCodeParser::quickifyEnum(ClassNode *quickClass, EnumNode *enume) { EnumNode *quickEnum = new EnumNode(quickClass, enume->name()); quickEnum->setLocation(enume->location()); #if 0 // ### not yet quickEnum->setAccess(Node::Protected); #endif QList<EnumItem>::ConstIterator it = enume->items().begin(); while (it != enume->items().end()) { QString name = (*it).name(); QString value = (*it).value(); quickEnum->addItem(EnumItem(name, value)); ++it; } setQtDoc(quickEnum, enume->doc()); }
static EnvDTE::ProjectItemPtr EnumItem(EnvDTE::ProjectPtr & pProject, CSimpleArray<CString> & ar, EnvDTE::ProjectItemPtr pPrevElem) { EnvDTE::ProjectItemsPtr pItems = NULL; if (pPrevElem == NULL) { pProject->get_ProjectItems(&pItems); } else { pPrevElem->get_ProjectItems(&pItems); } if (pItems == NULL) return EnvDTE::ProjectItemPtr(NULL); long Count; pItems->get_Count(&Count); if (Count == 0) return EnvDTE::ProjectItemPtr(NULL); for (short i = 1; i <= Count; i++) { EnvDTE::ProjectItemPtr pItem; pItems->Item(_variant_t(i), &pItem); _bstr_t IName; //pItem->get_Name(IName.GetAddress()); pItem->get_FileNames(i,IName.GetAddress()); /* if (!_wcsicmp(IName, ItemName)) { return pItem; } */ CString Name = (LPCTSTR)IName; ar.Add(Name); EnvDTE::ProjectItemPtr pItem2 = EnumItem(pProject, ar,pItem); if (pItem2 != NULL) return pItem2; } return EnvDTE::ProjectItemPtr(NULL); }