void OpenWindowsPanel::OnEditorModified(clCommandEvent& event) { event.Skip(); if(!m_initDone) return; IEditor* editor = m_mgr->FindEditor(event.GetFileName()); if(editor) { DoMarkModify(event.GetFileName(), editor->IsModified()); } }
void CodeCompletionManager::OnFileSaved(clCommandEvent& event) { event.Skip(); if(TagsManagerST::Get()->GetCtagsOptions().GetCcColourFlags() & CC_COLOUR_MACRO_BLOCKS) { ProcessMacros(clMainFrame::Get()->GetMainBook()->FindEditor(event.GetFileName())); } }
void clTabTogglerHelper::OnToggleWorkspaceTab(clCommandEvent& event) { if(event.GetString() != m_workspaceTabName) { event.Skip(); return; } Notebook* book = clGetManager()->GetWorkspacePaneNotebook(); if(event.IsSelected()) { // show it int where = IsTabInNotebook(book, m_workspaceTabName); if(where == wxNOT_FOUND) { // Only show it if it does not exists in the notebook clGetManager()->GetWorkspacePaneNotebook()->AddPage(m_workspaceTab, m_workspaceTabName, false, m_workspaceTabBmp); } else { // The tab already in the notebook, just select it clGetManager()->GetWorkspacePaneNotebook()->SetSelection(where); } } else { int where = clGetManager()->GetWorkspacePaneNotebook()->GetPageIndex(m_workspaceTabName); if(where != wxNOT_FOUND) { clGetManager()->GetWorkspacePaneNotebook()->RemovePage(where); } } }
void PhpPlugin::OnFileSaved(clCommandEvent& e) { e.Skip(); // Check to see if we got a remote-upload setup SSHWorkspaceSettings settings; settings.Load(); if(settings.IsRemoteUploadSet() && settings.IsRemoteUploadEnabled()) { // Post an event to the SFTP plugin and ask it to save our file wxFileName fnLocalFile(e.GetString()); fnLocalFile.MakeRelativeTo(PHPWorkspace::Get()->GetFilename().GetPath()); fnLocalFile.MakeAbsolute(wxFileName(settings.GetRemoteFolder(), "", wxPATH_UNIX).GetPath()); wxString remoteFile = fnLocalFile.GetFullPath(wxPATH_UNIX); wxString localFile = e.GetString(); JSONRoot root(cJSON_Object); root.toElement().addProperty("account", settings.GetAccount()); root.toElement().addProperty("local_file", localFile); root.toElement().addProperty("remote_file", remoteFile); clCommandEvent eventSave(XRCID("wxEVT_SFTP_SAVE_FILE")); eventSave.SetString(root.toElement().format()); EventNotifier::Get()->AddPendingEvent(eventSave); } }
void NodeJSWorkspace::OnNewWorkspace(clCommandEvent& e) { e.Skip(); if(e.GetString() == GetWorkspaceType()) { e.Skip(false); // Create a new NodeJS workspace NodeJSNewWorkspaceDlg dlg(NULL); if(dlg.ShowModal() != wxID_OK) return; wxFileName workspaceFile = dlg.GetWorkspaceFilename(); if(!workspaceFile.GetDirCount()) { ::wxMessageBox( _("Can not create workspace in the root folder"), _("New Workspace"), wxICON_ERROR | wxOK | wxCENTER); return; } // Ensure that the path the workspace exists workspaceFile.Mkdir(wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL); if(!Create(workspaceFile)) { ::wxMessageBox(_("Failed to create workspace\nWorkspace already exists"), _("New Workspace"), wxICON_ERROR | wxOK | wxCENTER); return; } Open(workspaceFile); } }
void DebuggerDisassemblyTab::OnOutput(clCommandEvent& e) { e.Skip(); DoClearDisassembleView(); m_stc->SetReadOnly(false); BreakpointInfoVec_t memBps; wxStringSet_t addressSet; ManagerST::Get()->GetBreakpointsMgr()->GetAllMemoryBreakpoints(memBps); for(size_t i = 0; i < memBps.size(); ++i) { addressSet.insert(memBps.at(i).memory_address); } // Parse the output DebuggerEventData* ded = dynamic_cast<DebuggerEventData*>(e.GetClientObject()); if(ded) { m_lines.insert(m_lines.end(), ded->m_disassembleLines.begin(), ded->m_disassembleLines.end()); for(size_t i = 0; i < ded->m_disassembleLines.size(); ++i) { m_stc->AppendText(ded->m_disassembleLines.at(i).m_address + " " + ded->m_disassembleLines.at(i).m_inst + "\n"); // restore breakpoints if(addressSet.count(ded->m_disassembleLines.at(i).m_address)) { m_stc->MarkerAdd(i, BREAKPOINT_MARKER); } } } clMainFrame::Get()->GetDebuggerPane()->GetBreakpointView()->Initialize(); m_stc->SetReadOnly(true); }
void DebuggerDisassemblyTab::OnCurLine(clCommandEvent& e) { e.Skip(); size_t curline = wxString::npos; DebuggerEventData* ded = dynamic_cast<DebuggerEventData*>(e.GetClientObject()); if(ded && ded->m_disassembleLines.size()) { DisassembleEntry entry = ded->m_disassembleLines.at(0); for(size_t i = 0; i < m_lines.size(); ++i) { if(m_lines.at(i).m_address == entry.m_address) { curline = i; break; } } if(curline != wxString::npos) { m_stc->MarkerAdd(curline, CURLINE_MARKER); int pos = m_stc->PositionFromLine(curline); m_stc->SetCurrentPos(pos); m_stc->SetSelection(pos, pos); DoCentrLine(curline); // m_stc->EnsureCaretVisible(); m_textCtrlCurFunction->ChangeValue(entry.m_function); } } }
void WorkspacePane::OnToggleWorkspaceTab(clCommandEvent& event) { // Handle the core tabs if(m_tabs.count(event.GetString()) == 0) { event.Skip(); return; } const Tab& t = m_tabs.find(event.GetString())->second; if(event.IsSelected()) { // Insert the page int where = clTabTogglerHelper::IsTabInNotebook(GetNotebook(), t.m_label); if(where == wxNOT_FOUND) { GetNotebook()->AddPage(t.m_window, t.m_label, false, t.m_bmp); } else { GetNotebook()->SetSelection(where); } } else { // hide the tab int where = GetNotebook()->GetPageIndex(t.m_label); if(where != wxNOT_FOUND) { GetNotebook()->RemovePage(where); } } }
void wxFormBuilder::OnOpenFile(clCommandEvent& e) { e.Skip(); // launch it with the default application wxFileName fullpath(e.GetFileName()); if(fullpath.GetExt().MakeLower() != wxT("fbp")) { return; } #ifdef __WXGTK__ e.Skip(false); // Under Linux, use xdg-open wxString cmd; cmd << wxT("/bin/sh -c 'xdg-open \"") << fullpath.GetFullPath() << wxT("\"' 2> /dev/null"); wxExecute(cmd); return; #else wxMimeTypesManager* mgr = wxTheMimeTypesManager; wxFileType* type = mgr->GetFileTypeFromExtension(fullpath.GetExt()); if(type) { wxString cmd = type->GetOpenCommand(fullpath.GetFullPath()); wxDELETE(type); if(cmd.IsEmpty() == false) { e.Skip(false); wxExecute(cmd); } } #endif }
void PHPWorkspace::OnProjectSyncEnd(clCommandEvent& event) { const wxString& name = event.GetString(); if(m_inSyncProjects.count(name) == 0) { clWARNING() << "PHPWorkspace::OnProjectSyncEnd: unable to find project '" << name << "' in the workspace..." << clEndl; return; } clDEBUG() << "PHPWorkspace::OnProjectSyncEnd: project" << name << "completed sync" << clEndl; m_inSyncProjects.erase(name); // Load the project PHPProject::Ptr_t pProj = GetProject(name); CHECK_PTR_RET(pProj); // Update the project files pProj->SetFiles(event.GetStrings()); if(m_inSyncProjects.empty()) { clDEBUG() << "PHPWorkspace::OnProjectSyncEnd: all projects completed sync" << clEndl; if(m_projectSyncOwner) { clCommandEvent endEvent(wxEVT_PHP_WORKSPACE_FILES_SYNC_END); m_projectSyncOwner->AddPendingEvent(endEvent); } } }
void PhpPlugin::OnGetFiFMask(clCommandEvent& e) { // always skip this event so other plugins could modify it as well e.Skip(); if(PHPWorkspace::Get()->IsOpen()) { e.GetStrings().Add("*.php;*.inc;*.phtml;*.js;*.html;*.css"); } }
void OutlineTab::OnEditorSaved(clCommandEvent& event) { event.Skip(); wxFileName filename(event.GetFileName()); if(FileExtManager::IsPHPFile(filename)) { m_treeCtrlPhp->BuildTree(filename); } }
void NodeJSWorkspace::OnCloseWorkspace(clCommandEvent& e) { e.Skip(); if(IsOpen()) { e.Skip(false); Close(); } }
void WebTools::OnFileSaved(clCommandEvent& event) { event.Skip(); DoRefreshColours(event.GetFileName()); IEditor* editor = m_mgr->GetActiveEditor(); if(editor && m_jsCodeComplete && IsJavaScriptFile(editor) && !InsideJSComment(editor)) { m_jsCodeComplete->ResetTern(editor); } }
void NodeJSDebugger::OnNodeOutput(clCommandEvent& event) { wxUnusedVar(event); CL_DEBUG("Node debugger:\n%s", event.GetString()); clDebugEvent eventLog(wxEVT_NODEJS_DEBUGGER_CONSOLE_LOG); eventLog.SetString(event.GetString()); EventNotifier::Get()->AddPendingEvent(eventLog); }
void PhpPlugin::OnFindInFilesDismissed(clCommandEvent& e) { e.Skip(); if(PHPWorkspace::Get()->IsOpen()) { // store the find in files mask PHPConfigurationData conf; conf.Load().SetFindInFilesMask(e.GetString()).Save(); } }
void NodeJSWorkspace::OnSaveSession(clCommandEvent& event) { event.Skip(); if(IsOpen()) { // Call event.Skip(false) so no other session are kept beside ours event.Skip(false); clGetManager()->StoreWorkspaceSession(m_filename); } }
void DatabaseExplorer::OnOpenWithDBE(clCommandEvent& e) { // get the file name e.Skip(); const wxFileName& filename = e.GetFileName(); if(filename.GetExt() == wxT("erd")) { e.Skip(false); DoOpenFile(filename); } }
void PhpPlugin::OnIsWorkspaceOpen(clCommandEvent& e) { e.Skip(); bool isOpen = PHPWorkspace::Get()->IsOpen(); e.SetAnswer(isOpen); if(isOpen) { e.SetFileName(PHPWorkspace::Get()->GetFilename().GetFullPath()); e.SetString(e.GetFileName()); } }
void DatabaseExplorer::OnOpenWithDBE(clCommandEvent& e) { // get the file name e.Skip(); if(FileExtManager::IsFileType(e.GetFileName(), FileExtManager::TypeDatabase)) { e.Skip(false); // Open the databse file DoOpenFile(e.GetFileName()); } }
void ZoomNavigator::OnFileSaved(clCommandEvent& e) { e.Skip(); if(e.GetString() == m_curfile) { // Update the file content m_curfile.Clear(); DoUpdate(); } }
void SFTP::OnFileSaved(clCommandEvent& e) { e.Skip(); // -------------------------------------- // Sanity // -------------------------------------- wxString local_file = e.GetString(); local_file.Trim().Trim(false); DoFileSaved(local_file); }
void WorkspaceTab::OnProjectAdded(clCommandEvent& e) { e.Skip(); const wxString& projName = e.GetString(); m_fileView->BuildTree(); if(!projName.IsEmpty()) { m_fileView->ExpandToPath(projName, wxFileName()); } DoUpdateChoiceWithProjects(); SendCmdEvent(wxEVT_FILE_VIEW_REFRESHED); }
void MainBook::OnProjectFileRemoved(clCommandEvent& e) { e.Skip(); const wxArrayString& files = e.GetStrings(); for(size_t i = 0; i < files.GetCount(); ++i) { LEditor* editor = FindEditor(files.Item(i)); if(editor && files.Index(editor->GetFileName().GetFullPath()) != wxNOT_FOUND) { editor->SetProject(wxEmptyString); } } }
void PHPCodeCompletion::OnFileSaved(clCommandEvent& event) { event.Skip(); // check if the saved file is a PHP file // In case it is, then re-parse the file and store the results if(::IsPHPFile(event.GetFileName())) { PHPParserThreadRequest* req = new PHPParserThreadRequest(PHPParserThreadRequest::kParseSingleFile); req->file = event.GetFileName(); req->workspaceFile = PHPWorkspace::Get()->GetFilename().GetFullPath(); PHPParserThread::Instance()->Add(req); } }
void TerminalEmulatorUI::OnProcessOutput(clCommandEvent& e) { e.Skip(); m_stc->SetReadOnly(false); m_stc->AppendText(e.GetString()); m_stc->SetReadOnly(true); int lastPos = m_stc->GetLastPosition(); m_stc->SetCurrentPos(lastPos); m_stc->SetSelectionStart(lastPos); m_stc->SetSelectionEnd(lastPos); m_stc->ScrollToEnd(); }
void PhpPlugin::OnNewWorkspace(clCommandEvent& e) { e.Skip(); if(e.GetString() == PHPWorkspace::Get()->GetWorkspaceType()) { e.Skip(false); // Create a PHP workspace NewPHPWorkspaceDlg newWspDlg(m_mgr->GetTheApp()->GetTopWindow()); if(newWspDlg.ShowModal() == wxID_OK) { PHPWorkspace::Get()->Create(newWspDlg.GetWorkspacePath()); DoOpenWorkspace(newWspDlg.GetWorkspacePath(), false /* create if missing */, newWspDlg.IsCreateProject()); } } }
void MainBook::OnProjectFileAdded(clCommandEvent& e) { e.Skip(); const wxArrayString& files = e.GetStrings(); for(size_t i = 0; i < files.GetCount(); i++) { LEditor* editor = FindEditor(files.Item(i)); if(editor) { wxString fileName = editor->GetFileName().GetFullPath(); if(files.Index(fileName) != wxNOT_FOUND) { editor->SetProject(ManagerST::Get()->GetProjectNameByFile(fileName)); } } } }
void CodeFormatter::OnBeforeFileSave(clCommandEvent& e) { e.Skip(); FormatOptions fmtroptions; m_mgr->GetConfigTool()->ReadObject(wxT("FormatterOptions"), &fmtroptions); if(fmtroptions.HasFlag(kCF_AutoFormatOnFileSave)) { // format the file before we save it IEditor* editor = m_mgr->FindEditor(e.GetFileName()); if(editor && m_mgr->GetActiveEditor() == editor) { // we have our editor, format it DoFormatFile(editor); } } }
void DatabaseExplorer::OnToggleTab(clCommandEvent& event) { if(event.GetString() != _("DbExplorer")) { event.Skip(); return; } if(event.IsSelected()) { // show it clGetManager()->GetWorkspacePaneNotebook()->AddPage(m_dbViewerPanel, _("DbExplorer"), true); } else { int where = m_mgr->GetWorkspacePaneNotebook()->GetPageIndex(_("DbExplorer")); if(where != wxNOT_FOUND) { clGetManager()->GetWorkspacePaneNotebook()->RemovePage(where); } } }