wxMenu* EditorBase::CreateContextSubMenu(int id) // For context menus { wxMenu* menu = 0; if(id == idSwitchTo) { menu = new wxMenu; m_SwitchTo.clear(); for (int i = 0; i < EditorMaxSwitchTo && i < Manager::Get()->GetEditorManager()->GetEditorsCount(); ++i) { EditorBase* other = Manager::Get()->GetEditorManager()->GetEditor(i); if (!other || other == this) continue; int id = idSwitchFile1+i; m_SwitchTo[id] = other; wxString sn =other->GetShortName(); menu->Append(id, other->GetShortName()); } if(!menu->GetMenuItemCount()) { delete menu; menu = 0; } } // EditorBase* tt = Manager::Get()->GetEditorManager()->GetActiveEditor(); // // menu->AppendCheckItem(tt->GetId(),tt->GetShortName()); return menu; }
void OpenFilesListPlugin::RebuildOpenFilesTree() { if (Manager::IsAppShuttingDown()) return; EditorManager* mgr = Manager::Get()->GetEditorManager(); m_pTree->Freeze(); m_pTree->DeleteChildren(m_pTree->GetRootItem()); if (!mgr->GetEditorsCount()) { m_pTree->Thaw(); return; } // loop all open editors for (int i = 0; i < mgr->GetEditorsCount(); ++i) { EditorBase* ed = mgr->GetEditor(i); if (!ed || !ed->VisibleToTree()) continue; wxString shortname = ed->GetShortName(); int mod = GetOpenFilesListIcon(ed); wxTreeItemId item = m_pTree->AppendItem(m_pTree->GetRootItem(), shortname, mod, mod, new OpenFilesListData(ed)); if (mgr->GetActiveEditor() == ed) m_pTree->SelectItem(item); } m_pTree->SortChildren(m_pTree->GetRootItem()); m_pTree->Expand(m_pTree->GetRootItem()); m_pTree->Thaw(); }
wxMenu* EditorBase::CreateContextSubMenu(long id) // For context menus { wxMenu* menu = nullptr; if (id == idSwitchTo) { menu = new wxMenu; m_SwitchTo.clear(); for (int i = 0; i < EditorMaxSwitchTo && i < Manager::Get()->GetEditorManager()->GetEditorsCount(); ++i) { EditorBase* other = Manager::Get()->GetEditorManager()->GetEditor(i); if (!other || other == this) continue; id = idSwitchFile1+i; m_SwitchTo[id] = other; menu->Append(id, (other->GetModified() ? wxT("*") : wxEmptyString) + other->GetShortName()); } if (!menu->GetMenuItemCount()) { delete menu; menu = nullptr; } } return menu; }
// ---------------------------------------------------------------------------- void JumpTracker::OnEditorActivated(CodeBlocksEvent& event) // ---------------------------------------------------------------------------- { // Record this activation event and place activation in history event.Skip(); if (m_bShuttingDown) return; if (not IsAttached()) return; // Don't record closing editor activations if (m_bProjectClosing) return; EditorBase* eb = event.GetEditor(); wxString edFilename = eb->GetFilename(); cbEditor* cbed = Manager::Get()->GetEditorManager()->GetBuiltinEditor(eb); if (not cbed) { // Since wxAuiNotebook added, there's no cbEditor associated during // an initial cbEVT_EDITOR_ACTIVATED event. So we ignore the inital // call and get OnEditorOpened() to re-issue OnEditorActivated() when // it does have a cbEditor, but no cbProject associated; #if defined(LOGGING) LOGIT( _T("JT [OnEditorActivated ignored:no cbEditor[%s]"), edFilename.c_str()); #endif return; } #if defined(LOGGING) LOGIT( _T("JT Editor Activated[%s]"), eb->GetShortName().c_str() ); #endif cbStyledTextCtrl* edstc = cbed->GetControl(); if(edstc->GetCurrentLine() == wxSCI_INVALID_POSITION) return; long edPosn = edstc->GetCurrentPos(); //if ( m_Cursor not_eq JumpDataContains(edFilename, edPosn) ) JumpDataAdd(edFilename, edPosn); return; }//OnEditorActivated