1 // SevenZip/Plugin.cpp 2 3 #include "StdAfx.h" 4 5 #include "Plugin.h" 6 7 /* 8 void CPlugin::AddRealIndexOfFile(const CArchiveFolderItem &aFolder, 9 int anIndexInVector, vector<int> &aRealIndexes) 10 { 11 const CArchiveFolderFileItem &anItem = aFolder.m_FileSubItems[anIndexInVector]; 12 int aHandlerItemIndex = m_ProxyHandler->GetHandlerItemIndex(anItem.m_Properties); 13 if (aHandlerItemIndex < 0) 14 throw "error"; 15 aRealIndexes.push_back(aHandlerItemIndex); 16 } 17 18 void CPlugin::AddRealIndexes(const CArchiveFolderItem &anItem, 19 vector<int> &aRealIndexes) 20 { 21 int aHandlerItemIndex = m_ProxyHandler->GetHandlerItemIndex(anItem.m_Properties); 22 if (aHandlerItemIndex >= 0) // test -1 value 23 aRealIndexes.push_back(aHandlerItemIndex); 24 for (int i = 0; i < anItem.m_DirSubItems.Size(); i++) 25 AddRealIndexes(anItem.m_DirSubItems[i], aRealIndexes); 26 for (i = 0; i < anItem.m_FileSubItems.Size(); i++) 27 AddRealIndexOfFile(anItem, i , aRealIndexes); 28 } 29 30 31 void CPlugin::GetRealIndexes(PluginPanelItem *aPanelItems, int anItemsNumber, 32 vector<int> &aRealIndexes) 33 { 34 aRealIndexes.clear(); 35 for (int i = 0; i < anItemsNumber; i++) 36 { 37 int anIndex = aPanelItems[i].UserData; 38 if (anIndex < m_FolderItem->m_DirSubItems.Size()) 39 { 40 const CArchiveFolderItem &anItem = m_FolderItem->m_DirSubItems[anIndex]; 41 AddRealIndexes(anItem, aRealIndexes); 42 } 43 else 44 AddRealIndexOfFile(*m_FolderItem, anIndex - m_FolderItem->m_DirSubItems.Size(), 45 aRealIndexes); 46 } 47 sort(aRealIndexes.begin(), aRealIndexes.end()); 48 } 49 50 */ 51