bool GoTo(IFileTab tab, MethodDef method, uint?ilOffset, object @ref) { if (method == null || ilOffset == null) { return(false); } var uiContext = tab.TryGetTextEditorUIContext(); if (uiContext == null) { return(false); } var cm = uiContext.GetCodeMappings(); var mapping = cm.Find(method, ilOffset.Value); if (mapping == null) { return(false); } var location = mapping.StartPosition; var loc = FindLocation(uiContext.GetCodeReferences(location.Line, location.Column), mapping.EndPosition, @ref); if (loc == null) { loc = new TextEditorLocation(location.Line, location.Column); } uiContext.ScrollAndMoveCaretTo(loc.Value.Line, loc.Value.Column); return(true); }
static int Compare(TextEditorLocation a, TextPosition b) { if (a.Line > b.Line) { return(1); } if (a.Line == b.Line) { return(a.Column.CompareTo(b.Column)); } return(-1); }
private void TextEditor_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog { InitialDirectory = Form1.TextEditorLoc != "" ? Path.GetDirectoryName(Form1.TextEditorLoc) : "C:\\", Filter = "All files (*.exe)|*.*", FilterIndex = 1, RestoreDirectory = true, FileName = Path.GetFileName(Form1.TextEditorLoc) }; DialogResult result = openFileDialog.ShowDialog(); // Show the dialog. if (result == DialogResult.OK) // Test result. { TextEditorLocation.Items.Clear(); TextEditorLocation.Items.Add(openFileDialog.FileName); TextEditorLocation.Hide(); TextEditorLocation.Show(); TextEditorLocation.Text = openFileDialog.FileName; TextEditorLocation.Update(); Application.DoEvents(); } }
static int Compare(TextEditorLocation a, TextPosition b) { if (a.Line > b.Line) return 1; if (a.Line == b.Line) return a.Column.CompareTo(b.Column); return -1; }
bool GoTo(IFileTab tab, MethodDef method, uint? ilOffset, object @ref) { if (method == null || ilOffset == null) return false; var uiContext = tab.TryGetTextEditorUIContext(); if (uiContext == null) return false; var cm = uiContext.GetCodeMappings(); var mapping = cm.Find(method, ilOffset.Value); if (mapping == null) return false; var location = mapping.StartPosition; var loc = FindLocation(uiContext.GetCodeReferences(location.Line, location.Column), mapping.EndPosition, @ref); if (loc == null) loc = new TextEditorLocation(location.Line, location.Column); uiContext.ScrollAndMoveCaretTo(loc.Value.Line, loc.Value.Column); return true; }