private CodeFileDocumentControl AddNewProgramToTab(DockPanel tabControl, string FileName) { CodeFileDocumentControl edit = AddNewTab(tabControl); edit.FileName = FileName; SetTabPageText(edit); edit.SetHighlightingStrategyForFile(FileName); OpenDocuments.Add(Tools.FileNameToLower(FileName), edit); //this.codeCompletionParserController.SetAsChanged(FileName); //ivan AddBreakPointHandler(edit, FileName); var RunService = WorkbenchServiceFactory.RunService; if (!RunService.HasRunArgument(FileName.ToLower())) { RunService.AddRunArgument(FileName.ToLower(), ""); } if (!WorkbenchServiceFactory.DebuggerManager.IsRunning) { AddEditorHandlers(edit); } CodeCompletionKeyHandler.Attach(edit.TextEditor); edit.TextEditor.ActiveTextAreaControl.TextArea.KeyEventHandler += TextArea_KeyEventHandler; //HostCallbackImplementation.Register(this); //\ivan return(edit); }
public void OpenTabWithText(string tabName, string Text) { CodeFileDocumentControl edit = FindTab(tabName + ".pas"); if (edit != null) { CurrentCodeFileDocument = edit; return; } edit = AddNewTab(MainDockPanel); edit.FromMetadata = true; OpenDocuments.Add(Tools.FileNameToLower(tabName + ".pas"), edit); CloseButtonsEnabled = OpenDocuments.Count > 1; edit.FileName = tabName + ".pas"; edit.Text = tabName; edit.SetHighlightingStrategyForFile("prog.pas"); edit.TextEditor.Document.Insert(0, Text); if (!WorkbenchServiceFactory.DebuggerManager.IsRunning) { AddEditorHandlers(edit); } WorkbenchServiceFactory.CodeCompletionParserController.RegisterFileForParsing(tabName + ".pas"); //edit.FileName = FileName; //SetTabPageText(edit); }
internal void SaveFileAs(CodeFileDocumentControl TbPage, string FileName) { try { if (TbPage.DesignerAndCodeTabs != null) { TbPage.GenerateDesignerCode(null); } CodeFileDocumentControl dt = TbPage; WatcherService.DisableWatcher(FileName); //dt.TextEditor.Encoding = VisualEnvironmentCompiler.DefaultFileEncoding; if (!dt.TextEditor.CanSaveWithCurrentEncoding()) { dt.TextEditor.Encoding = Encoding.UTF8; dt.TextEditor.SaveFile(FileName); dt.TextEditor.Encoding = VisualEnvironmentCompiler.DefaultFileEncoding; } else { dt.TextEditor.SaveFile(FileName); } WatcherService.EnableWatcher(FileName); OpenDocuments.Remove(Tools.FileNameToLower(dt.FileName)); OpenDocuments.Add(Tools.FileNameToLower(FileName), TbPage); WorkbenchServiceFactory.CodeCompletionParserController.RenameFile(dt.FileName, FileName); TbPage.SaveFormFile(FileName); dt.DocumentChanged = false; dt.FileName = FileName; dt.DocumentSavedToDisk = true; dt.SetHighlightingStrategyForFile(FileName); SetTabPageText(TbPage); if (!WorkbenchServiceFactory.RunService.HasRunArgument(FileName.ToLower())) { WorkbenchServiceFactory.RunService.AddRunArgument(FileName.ToLower(), ""); } if (TbPage == CurrentCodeFileDocument) { UpdateSaveButtonsEnabled(); } } catch (Exception ex) { MessageBox.Show(String.Format(Form1StringResources.Get("SAVE_FILE_ERROR_TEXT{0}"), FileName), PascalABCCompiler.StringResources.Get("!ERROR"), MessageBoxButtons.OK, MessageBoxIcon.Error); } }