Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 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);
     }
 }