Esempio n. 1
0
        public void ExecuteSourceLocationAction(PascalABCCompiler.SourceLocation
                                                SourceLocation, VisualPascalABCPlugins.SourceLocationAction Action)
        {
            if (Action != SourceLocationAction.NavigationGoto)
            {
                NavigationLocationChanged();
            }
            if (SourceLocation.FileName != null)
            {
                WorkbenchServiceFactory.FileService.OpenFile(SourceLocation.FileName, null, true);
            }
            CodeFileDocumentTextEditorControl editor = CurrentSyntaxEditor.TextEditor;

            editor.ActiveTextAreaControl.SelectionManager.ClearSelection();

            //Point Beg = new Point(SourceLocation.BeginPosition.Column - 1, SourceLocation.BeginPosition.Line - 1);
            //Point End = new Point(SourceLocation.EndPosition.Column, SourceLocation.EndPosition.Line - 1);
            ICSharpCode.TextEditor.TextLocation Beg = new ICSharpCode.TextEditor.TextLocation(SourceLocation.BeginPosition.Column - 1, SourceLocation.BeginPosition.Line - 1);
            ICSharpCode.TextEditor.TextLocation End = new ICSharpCode.TextEditor.TextLocation(SourceLocation.EndPosition.Column, SourceLocation.EndPosition.Line - 1);
            switch (Action)
            {
            case SourceLocationAction.SelectAndGotoBeg:
            case SourceLocationAction.SelectAndGotoEnd:
            case SourceLocationAction.FindSelection:
                if (Action == SourceLocationAction.SelectAndGotoBeg)
                {
                    editor.ActiveTextAreaControl.Caret.Position = Beg;
                }
                else
                {
                    editor.ActiveTextAreaControl.Caret.Position = End;
                }
                editor.ActiveTextAreaControl.SelectionManager.SetSelection(Beg, End);
                if (Action != SourceLocationAction.FindSelection)
                {
                    SetFocusToEditor();
                }
                break;

            case SourceLocationAction.NavigationGoto:
            case SourceLocationAction.GotoBeg:
            case SourceLocationAction.GotoEnd:
                if (Action == SourceLocationAction.GotoBeg || Action == SourceLocationAction.NavigationGoto)
                {
                    editor.ActiveTextAreaControl.Caret.Position = Beg;
                }
                else
                {
                    editor.ActiveTextAreaControl.Caret.Position = End;
                }
                SetFocusToEditor();
                break;
            }
            if (Action != SourceLocationAction.NavigationGoto)
            {
                NavigationLocationChanged();
                CurrentSyntaxEditor.CenterView();
            }
        }
Esempio n. 2
0
 public override void NavigateToFileAndPosition(string file, int line, int col, int lineEnd = 0, int columnEnd = 0)
 {
     if (lineEnd == 0)
         lineEnd = line;
     if (columnEnd == 0)
         columnEnd = col;
     PascalABCCompiler.SourceLocation sl = new PascalABCCompiler.SourceLocation(file, line, col + 1, lineEnd, columnEnd);
     _wb.VisualEnvironmentCompiler.ExecuteSourceLocationAction(sl, SourceLocationAction.SelectAndGotoBeg);
 }
Esempio n. 3
0
 public override void NavigateToFileAndPosition(string file, int line, int col, int lineEnd = 0, int columnEnd = 0)
 {
     if (lineEnd == 0)
     {
         lineEnd = line;
     }
     if (columnEnd == 0)
     {
         columnEnd = col;
     }
     PascalABCCompiler.SourceLocation sl = new PascalABCCompiler.SourceLocation(file, line, col + 1, lineEnd, columnEnd);
     _wb.VisualEnvironmentCompiler.ExecuteSourceLocationAction(sl, SourceLocationAction.SelectAndGotoBeg);
 }
Esempio n. 4
0
 internal void ExecuteErrorPos(PascalABCCompiler.SourceLocation sl, int imageindex)
 {
     if (CurrentCodeFileDocument.DesignerAndCodeTabs != null)
     {
         CurrentCodeFileDocument.DesignerAndCodeTabs.SelectedTab = CurrentCodeFileDocument.TextPage;
     }
     ExecuteSourceLocationAction(sl, ErrorCursorPosStrategy);
     if (imageindex == 1)
     {
         ErrorLineBookmark.SetPosition(CurrentSyntaxEditor.TextEditor, sl.BeginPosition.Line);
     }
     else if (imageindex == 2)
     {
         RuntimeErrorBookmark.SetPosition(CurrentSyntaxEditor.TextEditor, sl.BeginPosition.Line);
     }
 }
Esempio n. 5
0
 public RuntimeException(string Message, string FileName, int ColNumber, int LineNumber)
 {
     this.fileName  = FileName;
     this.message   = Message;
     sourceLocation = new PascalABCCompiler.SourceLocation(fileName, LineNumber, ColNumber, LineNumber, ColNumber);
 }
 public void ExecuteSourceLocationAction(PascalABCCompiler.SourceLocation SourceLocation, SourceLocationAction Action)
 {
     ExecuteSLAction(SourceLocation, Action);
 }
Esempio n. 7
0
 public RuntimeException(string Message, string FileName, int ColNumber, int LineNumber)
 {
     this.fileName = FileName;
     this.message = Message;
     sourceLocation = new PascalABCCompiler.SourceLocation(fileName, LineNumber, ColNumber, LineNumber, ColNumber);
 }