private void ConditionTextBox_PopulateAutoCompleteList(object sender, AutoCompletionEventArgs e)
 {
     e.AutoCompleteValues = this.ruleParser.GetExpressionCompletions(e.Prefix);
 }
 private void UpdateIntellisenceDropDown(string text)
 {
     AutoCompletionEventArgs e = new AutoCompletionEventArgs {
         Prefix = text
     };
     if (this.PopulateAutoCompleteList != null)
     {
         this.PopulateAutoCompleteList(this, e);
     }
     this.PopulateListBox(e.AutoCompleteValues);
 }
        private void ShowToolTip(int charIndex, string prefix)
        {
            Point clientPoint = this.GetPositionFromCharIndex(charIndex - 1);
            clientPoint.Y += (int)Math.Ceiling(this.Font.GetHeight()) + 2;
            clientPoint.X -= 6;

            AutoCompletionEventArgs autoCompletionEventArgs = new AutoCompletionEventArgs();
            autoCompletionEventArgs.Prefix = prefix;

            if (this.PopulateToolTipList != null)
            {
                this.PopulateToolTipList(this, autoCompletionEventArgs);

                if (autoCompletionEventArgs.AutoCompleteValues != null)
                {
                    StringBuilder toolTipText = new StringBuilder();
                    bool firstMethod = true;
                    foreach (MemberInfo memberInfo in autoCompletionEventArgs.AutoCompleteValues)
                    {
                        if (firstMethod)
                            firstMethod = false;
                        else
                            toolTipText.Append("\n");

                        ParameterInfo[] parameters = null;

                        MethodInfo methodInfo = memberInfo as MethodInfo;
                        if (methodInfo != null)
                        {
                            toolTipText.Append(RuleDecompiler.DecompileType(methodInfo.ReturnType));
                            toolTipText.Append(" ");
                            toolTipText.Append(methodInfo.Name);
                            toolTipText.Append("(");

                            parameters = methodInfo.GetParameters();
                        }
                        else
                        {
                            // Must be constructor... if not, the best thing to do is let it throw "invalid cast".
                            ConstructorInfo ctorInfo = (ConstructorInfo)memberInfo;

                            toolTipText.Append(RuleDecompiler.DecompileType(ctorInfo.DeclaringType));
                            toolTipText.Append("(");

                            parameters = ctorInfo.GetParameters();
                        }


                        if (parameters != null && parameters.Length > 0)
                        {
                            int lastParamIndex = parameters.Length - 1;

                            // Append the first parameter
                            AppendParameterInfo(toolTipText, parameters[0], 0 == lastParamIndex);
                            for (int i = 1; i < parameters.Length; ++i)
                            {
                                toolTipText.Append(", ");
                                AppendParameterInfo(toolTipText, parameters[i], i == lastParamIndex);
                            }
                        }

                        toolTipText.Append(")");
                    }
                    this.toolTip.Show(toolTipText.ToString(), this, clientPoint);
                }
            }
        }
 private void ShowToolTip(int charIndex, string prefix)
 {
     Point positionFromCharIndex = this.GetPositionFromCharIndex(charIndex - 1);
     positionFromCharIndex.Y += ((int) Math.Ceiling((double) this.Font.GetHeight())) + 2;
     positionFromCharIndex.X -= 6;
     AutoCompletionEventArgs e = new AutoCompletionEventArgs {
         Prefix = prefix
     };
     if (this.PopulateToolTipList != null)
     {
         this.PopulateToolTipList(this, e);
         if (e.AutoCompleteValues != null)
         {
             StringBuilder toolTipText = new StringBuilder();
             bool flag = true;
             foreach (MemberInfo info in e.AutoCompleteValues)
             {
                 if (flag)
                 {
                     flag = false;
                 }
                 else
                 {
                     toolTipText.Append("\n");
                 }
                 ParameterInfo[] parameters = null;
                 MethodInfo info2 = info as MethodInfo;
                 if (info2 != null)
                 {
                     toolTipText.Append(RuleDecompiler.DecompileType(info2.ReturnType));
                     toolTipText.Append(" ");
                     toolTipText.Append(info2.Name);
                     toolTipText.Append("(");
                     parameters = info2.GetParameters();
                 }
                 else
                 {
                     ConstructorInfo info3 = (ConstructorInfo) info;
                     toolTipText.Append(RuleDecompiler.DecompileType(info3.DeclaringType));
                     toolTipText.Append("(");
                     parameters = info3.GetParameters();
                 }
                 if ((parameters != null) && (parameters.Length > 0))
                 {
                     int num = parameters.Length - 1;
                     AppendParameterInfo(toolTipText, parameters[0], 0 == num);
                     for (int i = 1; i < parameters.Length; i++)
                     {
                         toolTipText.Append(", ");
                         AppendParameterInfo(toolTipText, parameters[i], i == num);
                     }
                 }
                 toolTipText.Append(")");
             }
             this.toolTip.Show(toolTipText.ToString(), this, positionFromCharIndex);
         }
     }
 }
        private void UpdateIntellisenceDropDown(string text)
        {
            AutoCompletionEventArgs autoCompletionEventArgs = new AutoCompletionEventArgs();
            autoCompletionEventArgs.Prefix = text;
            if (this.PopulateAutoCompleteList != null)
                this.PopulateAutoCompleteList(this, autoCompletionEventArgs);

            PopulateListBox(autoCompletionEventArgs.AutoCompleteValues);
        }