void OnToolTipRequest(object sender, TextEditor.ToolTipRequestEventArgs e) { if (e.InDocument && !e.ToolTipShown) { IExpressionFinder expressionFinder; if (MainForm.IsVisualBasic) { expressionFinder = new VBExpressionFinder(); } else { expressionFinder = new CSharpExpressionFinder(mainForm.parseInformation); } ExpressionResult expression = expressionFinder.FindFullExpression( editor.Text, editor.Document.PositionToOffset(e.LogicalPosition)); if (expression.Region.IsEmpty) { expression.Region = new DomRegion(e.LogicalPosition.Line + 1, e.LogicalPosition.Column + 1); } TextEditor.TextArea textArea = editor.ActiveTextAreaControl.TextArea; NRefactoryResolver resolver = new NRefactoryResolver(mainForm.myProjectContent.Language); ResolveResult rr = resolver.Resolve(expression, mainForm.parseInformation, textArea.MotherTextEditorControl.Text); string toolTipText = GetText(rr); if (toolTipText != null) { e.ShowToolTip(toolTipText); } } }
private void OnToolTipRequest(object sender, TextEditor.ToolTipRequestEventArgs e) { if (!e.InDocument || e.ToolTipShown) return; IExpressionFinder expressionFinder; if (IntellisenseForm.SupportedLanguage == SupportedLanguage.VisualBasic) { expressionFinder = new VBExpressionFinder(); } else { expressionFinder = new CSharpExpressionFinder(_iForm.ParseInformation); } var expression = expressionFinder.FindFullExpression( _editor.Text, _editor.Document.PositionToOffset(e.LogicalPosition)); if (expression.Region.IsEmpty) { expression.Region = new DomRegion(e.LogicalPosition.Line + 1, e.LogicalPosition.Column + 1); } var textArea = _editor.ActiveTextAreaControl.TextArea; var resolver = new NRefactoryResolver(_iForm.ProjectContent.Language); var rr = resolver.Resolve(expression, _iForm.ParseInformation, textArea.MotherTextEditorControl.Text); var toolTipText = GetText(rr); if (toolTipText != null) { e.ShowToolTip(toolTipText); } }
public static void Attach(MainForm mainForm, TextEditor.TextEditorControl editor) { ToolTipProvider tp = new ToolTipProvider(mainForm, editor); editor.ActiveTextAreaControl.TextArea.ToolTipRequest += tp.OnToolTipRequest; }
private ToolTipProvider(MainForm mainForm, TextEditor.TextEditorControl editor) { this.mainForm = mainForm; this.editor = editor; }
public static void Attach(IntellisenseForm iForm, TextEditor.TextEditorControl editor) { var tp = new ToolTipProvider(iForm, editor); editor.ActiveTextAreaControl.TextArea.ToolTipRequest += tp.OnToolTipRequest; }
private ToolTipProvider(IntellisenseForm iForm, TextEditor.TextEditorControl editor) { _iForm = iForm; _editor = editor; }