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(); } }
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); }
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); }
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); } }
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); }
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); }