I have another thing I would like your help:
I have two modus:
1. the expertmode where the intellipromptList is filled with everything (like I did in the replies above)
2. the normal mode where I want to create my own List without the Reflection, etc.
So I do following:
void cSharp_SyntaxEditorIntelliPromptMemberListPreFilter(object sender, ActiproSoftware.SyntaxEditor.IntelliPromptMemberListPreFilterEventArgs e)
{
if (((CSharpContext)e.Context).Items == null)
{
//----------------------------------------------------
//Erstelle alle Gruppen
//----------------------------------------------------
e.Items.Clear();
e.Items.Add("PV", new ActiproSoftware.SyntaxEditor.IntelliPromptMemberListItem("PV", (int)IconResource.PrivateClass)
{
Tag = new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.PropertyDeclaration(ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.Modifiers.None
, new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.QualifiedIdentifier("PV"))
{
Documentation = "<summary>Liste aller Planungsgrößen</summary>"
}
});
foreach (Shared.Data.FormulaEditorData.FN func in _data.FNs)
{
ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.MethodDeclaration tag =
new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.MethodDeclaration(ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.Modifiers.Public
, new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.QualifiedIdentifier(func.Name));
tag.Documentation = "<summary>Funktion " + func.Name + "</summary>";
foreach (Shared.Data.FormulaEditorData.PRM prm in func.Params)
{
tag.Parameters.Add(new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.ParameterDeclaration(ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.ParameterModifiers.None, prm.Name)
{
ParameterType = new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.TypeReference(prm.Type, new TextRange())
});
tag.Documentation += "<param name=\"" + prm.Name + "\">" + prm.Desc + "</param>";
}
tag.Documentation += "<returns></returns>";
tag.ReturnType = new ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.TypeReference(func.ReturnType, new TextRange());
tag.Modifiers = ActiproSoftware.SyntaxEditor.Addons.DotNet.Ast.Modifiers.Public;
e.Items.Add(func.Name, new ActiproSoftware.SyntaxEditor.IntelliPromptMemberListItem(func.Name, (int)IconResource.PublicMethod) { Tag = tag });
}
}
// Fill the PV-Group
Everything works fine and I get my Groups with the necessary Items. The problem are the functions.
If I open the Intellipromptlist I get (e.g. "Function1" - "decimal function(int x, int y)" with description below) but if I use the function and write "function(" in the editor, the editor won't show me the parameter which is necessary for the function which should be first "int x" and after I type "function(1," "int y".
So I want the IntelliSense to show me which parametertype is awaited.
I hope it's understandable.
Thanks for your help.
[Modified 12 years ago]