public FunctionOrConstantCommand(string text, string toolTip, ITextProvider expressionTextProvider, IScriptProvider scriptingTextProvider, IScriptProvider customFunctionsTextProvider, ISharedViewState sharedViewState, IFunctionsDetails functionsDetails, IClickedMouseButtonsProvider clickedMouseButtonsProvider, IShowFunctionDetails showFunctionDetails) { Text = text; ToolTip = toolTip; _expressionTextProvider = expressionTextProvider; _scriptingTextProvider = scriptingTextProvider; _customFunctionsTextProvider = customFunctionsTextProvider; _sharedViewState = sharedViewState; this._functionsDetails = functionsDetails; _clickedMouseButtonsProvider = clickedMouseButtonsProvider; _showFunctionDetails = showFunctionDetails; }
public FunctionOrConstantCommand(AutocompleteItem autocompleteItem, ITextProvider expressionTextProvider, IScriptProvider scriptingTextProvider, IScriptProvider customFunctionsTextProvider, ISharedViewState sharedViewState, IClickedMouseButtonsProvider clickedMouseButtonsProvider, IShowFunctionDetails showFunctionDetails) { this._autocompleteItem = autocompleteItem; //TODO: do we really want to show signature as text and title as tooltip? Text = _autocompleteItem.Details.Signature; ToolTip = _autocompleteItem.Details.Title; _expressionTextProvider = expressionTextProvider; _scriptingTextProvider = scriptingTextProvider; _customFunctionsTextProvider = customFunctionsTextProvider; _sharedViewState = sharedViewState; _clickedMouseButtonsProvider = clickedMouseButtonsProvider; _showFunctionDetails = showFunctionDetails; }
public ConstantsCommand(ITextProvider expressionTextProvider, IScriptProvider scriptingTextProvider, IScriptProvider customFunctionsTextProvider, ISharedViewState sharedViewState, IAutocompleteProvider autocompleteProvider, IClickedMouseButtonsProvider clickedMouseButtonsProvider, IShowFunctionDetails showFunctionDetails) : base(MenuStrings.constantsToolStripMenuItem_Text, new Dictionary <string, string>() { { "MathematicalConstants", MenuStrings.mathematicalConstantsToolStripMenuItem_Text }, { "PhysicalConstants", MenuStrings.physicalConstantsToolStripMenuItem_Text } }, expressionTextProvider, scriptingTextProvider, customFunctionsTextProvider, sharedViewState, autocompleteProvider, clickedMouseButtonsProvider, showFunctionDetails) { }
public FunctionsCommand(ITextProvider expressionTextProvider, IScriptProvider scriptingTextProvider, IScriptProvider customFunctionsTextProvider, ISharedViewState sharedViewState, IFunctionsDetails functionsDetails, IClickedMouseButtonsProvider clickedMouseButtonsProvider, IShowFunctionDetails showFunctionDetails) : base(MenuStrings.functionsToolStripMenuItem_Text, new Dictionary <string, string>() { { "ElementaryFunctions", MenuStrings.elementaryFunctionsToolStripMenuItem_Text }, { "SpecialFunctions", MenuStrings.specialFunctionsToolStripMenuItem_Text } }, expressionTextProvider, scriptingTextProvider, customFunctionsTextProvider, sharedViewState, functionsDetails, clickedMouseButtonsProvider, showFunctionDetails) { }
private static List <IToolbarCommand> BuildFunctionsOrConstantsCommands(string key, ITextProvider expressionTextProvider, IScriptProvider scriptingTextProvider, IScriptProvider customFunctionsTextProvider, ISharedViewState sharedViewState, IAutocompleteProvider autocompleteProvider, IClickedMouseButtonsProvider mouseButtonsProvider, IShowFunctionDetails showFunctionDetails) { var dict = new Dictionary <string, IToolbarCommand>(); foreach (var f in autocompleteProvider.ExpressionAutocompleteItems) { if (f.Details.IsNullOrEmpty() || f.Details.Type != key) { continue; } //TODO: remove this code when made sure it does nothing: if (f.Details.Category == "") { f.Details.Category = "_empty_"; } if (!dict.ContainsKey(f.Details.Category)) { //var cat = new ToolStripMenuItem(f.Value.Category) { Name = f.Value.Category }; var command = new DummyCommand(f.Details.Category) { ChildrenCommands = new List <IToolbarCommand>() }; dict.Add(f.Details.Category, command); } (dict[f.Details.Category].ChildrenCommands as List <IToolbarCommand>).Add( new FunctionOrConstantCommand(f, expressionTextProvider, scriptingTextProvider, customFunctionsTextProvider, sharedViewState, mouseButtonsProvider, showFunctionDetails)); } return(dict.Values.ToList()); }
public FunctionDetailsBasedCommand(string name, Dictionary <string, string> KeyAndNameOfCommandCollection, ITextProvider expressionTextProvider, IScriptProvider scriptingTextProvider, IScriptProvider customFunctionsTextProvider, ISharedViewState sharedViewState, IAutocompleteProvider autocompleteProvider, IClickedMouseButtonsProvider mouseButtonsProvider, IShowFunctionDetails showFunctionDetails) : base(name) { var childrenCommands = new List <IToolbarCommand>(); foreach (var keyValue in KeyAndNameOfCommandCollection) { childrenCommands.Add(new DummyCommand(keyValue.Value) { ChildrenCommands = BuildFunctionsOrConstantsCommands(keyValue.Key, expressionTextProvider, scriptingTextProvider, customFunctionsTextProvider, sharedViewState, autocompleteProvider, mouseButtonsProvider, showFunctionDetails) }); } ChildrenCommands = childrenCommands; }
private static List <IToolbarCommand> BuildFunctionsOrConstantsCommands(string key, ITextProvider expressionTextProvider, IScriptProvider scriptingTextProvider, IScriptProvider customFunctionsTextProvider, ISharedViewState sharedViewState, IFunctionsDetails functionsDetails, IClickedMouseButtonsProvider mouseButtonsProvider, IShowFunctionDetails showFunctionDetails) { var dict = new Dictionary <string, IToolbarCommand>(); var functions = functionsDetails.ToArray(); foreach (var f in functions) { if (f.Value.Type != key) { continue; } if (f.Value.Category == "") { f.Value.Category = "_empty_"; } if (!dict.ContainsKey(f.Value.Category)) { //var cat = new ToolStripMenuItem(f.Value.Category) { Name = f.Value.Category }; var command = new DummyCommand(f.Value.Category) { ChildrenCommands = new List <IToolbarCommand>() }; dict.Add(f.Value.Category, command); } (dict[f.Value.Category].ChildrenCommands as List <IToolbarCommand>).Add( new FunctionOrConstantCommand(f.Value.Signature, f.Value.Title, expressionTextProvider, scriptingTextProvider, customFunctionsTextProvider, sharedViewState, functionsDetails, mouseButtonsProvider, showFunctionDetails)); } return(dict.Values.ToList()); }