コード例 #1
0
        public void SetupDataProvider(string fileName)
        {
            IExpressionFinder expressionFinder;

            if (IntellisenseForm.SupportedLanguage == ESupportedLanguage.VisualBasic)
            {
                expressionFinder = new VBExpressionFinder();
            }
            else
            {
                expressionFinder = new CSharpExpressionFinder(iForm.ParseInformation);
            }

            //TextLocation position = m_textarea.Caret.Position;
            //ExpressionResult expression = expressionFinder.FindFullExpression(m_textarea.MotherTextEditorControl.Text, m_textarea.Document.PositionToOffset(position));
            //if (expression.Region.IsEmpty)
            //{
            //    expression.Region = new DomRegion(position.Line + 1, position.Column + 1);
            //}
            ExpressionResult expression = expressionFinder.FindFullExpression(
                m_textarea.MotherTextEditorControl.Text,
                m_textarea.MotherTextEditorControl.Document.PositionToOffset(m_textarea.Caret.Position) - 1);

            if (expression.Region.IsEmpty)
            {
                expression.Region = new DomRegion(m_textarea.Caret.Position.Line + 1, m_textarea.Caret.Position.Column + 1);
            }



            NRefactoryResolver resolver = new NRefactoryResolver(iForm.ProjectContent.Language);
            ResolveResult      rr       = resolver.Resolve(expression, iForm.ParseInformation, m_textarea.MotherTextEditorControl.Text);

            List <string> lines = new List <string>();

            if (rr is MethodGroupResolveResult)
            {
                MethodGroupResolveResult mrr = rr as MethodGroupResolveResult;
                IAmbience ambience           = IntellisenseForm.SupportedLanguage == ESupportedLanguage.VisualBasic ? (IAmbience) new VBNetAmbience() : new CSharpAmbience();
                ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.ShowAccessibility;

                foreach (MethodGroup methodgroup in mrr.Methods)
                {
                    foreach (IMethod method in methodgroup)
                    {
                        lines.Add(ToolTipProvider.GetMemberText(ambience, method));
                    }
                }
            }

            m_insighttext         = (lines.Count > 0) ? lines.ToArray() : null;
            m_argumentstartoffset = m_textarea.Caret.Offset;
        }
コード例 #2
0
        public void SetupDataProvider(string fileName)
        {
            IExpressionFinder expressionFinder;

            if (IntellisenseForm.SupportedLanguage == SupportedLanguage.VisualBasic)
            {
                expressionFinder = new VBExpressionFinder();
            }
            else
            {
                expressionFinder = new CSharpExpressionFinder(_iForm.ParseInformation);
            }

            //TextLocation position = _textArea.Caret.Position;
            //ExpressionResult expression = expressionFinder.FindFullExpression(_textArea.MotherTextEditorControl.Text, _textArea.Document.PositionToOffset(position));
            //if (expression.Region.IsEmpty)
            //{
            //    expression.Region = new DomRegion(position.Line + 1, position.Column + 1);
            //}
            var expression = expressionFinder.FindFullExpression(
                _textArea.MotherTextEditorControl.Text,
                _textArea.MotherTextEditorControl.Document.PositionToOffset(_textArea.Caret.Position) - 1);

            if (expression.Region.IsEmpty)
            {
                expression.Region = new DomRegion(_textArea.Caret.Position.Line + 1, _textArea.Caret.Position.Column + 1);
            }


            var resolver = new NRefactoryResolver(_iForm.ProjectContent.Language);
            var rr       = resolver.Resolve(expression, _iForm.ParseInformation, _textArea.MotherTextEditorControl.Text);

            var lines = new List <string>();

            if (rr is MethodGroupResolveResult)
            {
                var mrr      = rr as MethodGroupResolveResult;
                var ambience = IntellisenseForm.SupportedLanguage == SupportedLanguage.VisualBasic
                                        ? (IAmbience) new VBNetAmbience()
                                        : new CSharpAmbience();
                ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.ShowAccessibility;

                lines.AddRange(mrr.Methods.SelectMany(methodgroup => methodgroup,
                                                      (methodgroup, method) => ToolTipProvider.GetMemberText(ambience, method)));
            }

            _insighText         = lines.Count > 0 ? lines.ToArray() : null;
            ArgumentStartOffset = _textArea.Caret.Offset;
        }
コード例 #3
0
ファイル: ToolTipProvider.cs プロジェクト: zz0813/Reflexil
        public static void Attach(IntellisenseForm iForm, TextEditor.TextEditorControl editor)
        {
            var tp = new ToolTipProvider(iForm, editor);

            editor.ActiveTextAreaControl.TextArea.ToolTipRequest += tp.OnToolTipRequest;
        }
コード例 #4
0
		public static void Attach(IntellisenseForm iForm, TextEditor.TextEditorControl editor)
		{
			var tp = new ToolTipProvider(iForm, editor);
			editor.ActiveTextAreaControl.TextArea.ToolTipRequest += tp.OnToolTipRequest;
		}