void MainBook::CreateSession(SessionEntry& session, wxArrayInt* excludeArr) { std::vector<LEditor*> editors; GetAllEditors(editors, kGetAll_RetainOrder); session.SetSelectedTab(0); std::vector<TabInfo> vTabInfoArr; for(size_t i = 0; i < editors.size(); i++) { if(excludeArr && (excludeArr->GetCount() > i) && (!excludeArr->Item(i))) { // If we're saving only selected editors, and this isn't one of them... continue; } if(editors[i] == GetActiveEditor()) { session.SetSelectedTab(vTabInfoArr.size()); } TabInfo oTabInfo; oTabInfo.SetFileName(editors[i]->GetFileName().GetFullPath()); oTabInfo.SetFirstVisibleLine(editors[i]->GetFirstVisibleLine()); oTabInfo.SetCurrentLine(editors[i]->GetCurrentLine()); wxArrayString astrBookmarks; editors[i]->StoreMarkersToArray(astrBookmarks); oTabInfo.SetBookmarks(astrBookmarks); std::vector<int> folds; editors[i]->StoreCollapsedFoldsToArray(folds); oTabInfo.SetCollapsedFolds(folds); vTabInfoArr.push_back(oTabInfo); } session.SetTabInfoArr(vTabInfoArr); }