protected AutocompleteItem(IFunctionsDetails sharedViewState) { this.sharedViewState = sharedViewState; #if USE_TEXT_WIDTH TextWidth = 400; #endif }
private static void AddSignatureWithType(string name, string addition, string additionWithType, string typeName, List <AutocompleteItem> items, IFunctionsDetails functionDetails) { var imageIndex = GetImageIndexFromType(typeName); items.Add(new AutocompleteItem(name, addition, additionWithType, TypeNameToAlias(typeName), imageIndex, functionDetails)); }
GetFunctionsNamesWithDescription(Type type, IFunctionsDetails functionDetails, bool noMethod = false, bool fullName = false) { var items = new List <AutocompleteItem>(); if (!noMethod) { foreach (var m in type.GetMethods(BindingFlags.Static | BindingFlags.Public)) { var fullNameExtension = ""; if (fullName) { fullNameExtension = m.ReflectedType.Name + "."; } if (m.IsGenericMethod || m.IsGenericMethodDefinition) { var sigWithTypes = m.GetSignature(); var nameAndAdditionWithTypes = sigWithTypes.Split('('); var sig = m.GetSignature(true); var nameAndAddition = sig.Split('('); items.Add(new AutocompleteItem(nameAndAddition[0], MakeAddition(m, false), MakeAddition(m, true), TypeNameToAlias(m.ReturnType.Name), GetImageIndexFromType(m.ReturnType.Name), functionDetails)); } else { AddSignatureWithType(fullNameExtension + m.Name, MakeAddition(m, false), MakeAddition(m, true), IsDynamic(m) ? /*&& m.GetParameters().Length>0 ? m.GetParameters()[0].ParameterType.Name*/ "T" : m.ReturnType.Name, items, functionDetails); } AddMetadata(m, type, items); } } foreach (var p in type.GetProperties(BindingFlags.Static | BindingFlags.Public)) { AddSignatureWithType(p.Name, "", "", p.PropertyType.Name, items, functionDetails); AddMetadata(p, type, items); } foreach (var f in type.GetFields(BindingFlags.Static | BindingFlags.Public)) { AddSignatureWithType(f.Name, "", "", f.FieldType.Name, items, functionDetails); AddMetadata(f, type, items); } foreach (var t in type.GetNestedTypes()) { items.AddRange(GetFunctionsNamesWithDescription(t, functionDetails, noMethod, fullName)); } items.RemoveAll(i => i.Text == "ToCode"); return(items); }
public SubstringAutocompleteItem(string text, IFunctionsDetails functionsDetails, bool ignoreCase = true) : base(text, functionsDetails) { this.ignoreCase = ignoreCase; if (ignoreCase) { lowercaseText = text.ToLower(); } }
public AvalonEditCodeEditor(ISharedViewState sharedViewState, IFunctionsDetails functionsDetails) { _sharedViewState = sharedViewState; completionDatas = CompletionDataConverter.ConvertAutocompleteItemsToCompletionDatas( AutocompletionData.GetAutocompleteItemsForScripting(functionsDetails)); InitializeComponent(); _documents = new Dictionary <string, TextDocument>(); TextArea.TextView.LineTransformers.Add(_offsetColorizer); }
public AutocompleteMenuHost(AutocompleteMenu menu, IFunctionsDetails functionsDetails) { AutoClose = false; AutoSize = false; Margin = Padding.Empty; Padding = Padding.Empty; Menu = menu; _functionsDetails = functionsDetails; ListView = new AutocompleteListView(functionsDetails); }
public static AutocompleteItem[] GetAutocompleteItemsForScripting(IFunctionsDetails functionDetails) { var items = GetAutocompleteItemsForExpressions(functionDetails).ToList(); items.AddRange(GetFunctionsNamesWithDescription(typeof(MatrixFunctions), functionDetails)); items.AddRange(GetFunctionsNamesWithDescription(typeof(MathematicalTransformations), functionDetails)); items.AddRange(GetFunctionsNamesWithDescription(typeof(ScriptingFunctions), functionDetails)); items.AddRange(TslCompiler.Keywords.Select(s => new AutocompleteItem(s, functionDetails))); items.Sort((i1, i2) => i1.Text.CompareTo(i2.Text)); items.ForEach(i => i.IsScripting = true); return(items.ToArray()); }
public AutocompleteItem(string name, string addition, string additionWithTypes, string returnTypeName, int imageIndex, IFunctionsDetails sharedViewState) : this(sharedViewState) { Text = name + addition; _textForComparison = name.ToLowerInvariant(); ImageIndex = imageIndex; _name = name; _returnTypeName = returnTypeName; _addition = addition; _additionWithTypes = additionWithTypes; }
public ExpressionTextBox(ISharedViewState sharedViewState, IFunctionsDetails functionsDetails) { _sharedViewState = sharedViewState; _functionsDetails = functionsDetails; KeyPress += ExpressionTextBox_KeyPress; _autocompleteMenu = new AutocompleteMenu.AutocompleteMenu(_sharedViewState, _functionsDetails); _autocompleteMenu.SetAutocompleteMenu(this, _autocompleteMenu); GotFocus += ExpressionTextBox_GotFocus; MouseDoubleClick += Control_MouseDoubleClick; SetFont(Settings.Default.ExpressionFont); SizeChanged += (o, e) => { _autocompleteMenu.MaximumSize = new Size(Size.Width, _autocompleteMenu.MaximumSize.Height); }; Settings.Default.PropertyChanged += (o, e) => { switch (e.PropertyName) { case nameof(Settings.Default.FunctionsOrder): RefreshAutoComplete(); break; case nameof(Settings.Default.ExpressionFont): SetFont(Settings.Default.ExpressionFont); break; } }; if (!DesignMode) { RefreshAutoComplete(); _sharedViewState.PropertyChanged += (o, e) => { if (e.PropertyName == nameof(SharedViewState.IsExponent)) { _showCaret(); } }; } }
public AutocompleteMenu(ISharedViewState sharedViewState, IFunctionsDetails functionsDetails) { _sharedViewState = sharedViewState; _functionsDetails = functionsDetails; Host = new AutocompleteMenuHost(this, _functionsDetails); Host.ListView.ItemSelected += ListView_ItemSelected; Host.ListView.ItemHovered += ListView_ItemHovered; VisibleItems = new List <AutocompleteItem>(); Enabled = true; AppearInterval = 500; timer.Tick += timer_Tick; MaximumSize = new Size(2000, 200); AutoPopup = true; SearchPattern = @"[\w\.]"; MinFragmentLength = 2; setupAutocomplete(); }
public ScintillaCodeEditorControl(ISharedViewState sharedViewState, IFunctionsDetails functionsDetails) { _sharedViewState = sharedViewState; _functionsDetails = functionsDetails; _autocompleteMenu = new AutocompleteMenu.AutocompleteMenu(sharedViewState, _functionsDetails) { TargetControlWrapper = new ScintillaWrapper(this), MaximumSize = new Size(500, 180) }; _autocompleteMenu.SetAutocompleteItems(AutocompletionData.GetAutocompleteItemsForScripting(_functionsDetails)); //_autocompleteMenu.CaptureFocus = true; InitializeComponent(); // this.BorderStyle=BorderStyle.None; Dock = DockStyle.Fill; _documents = new Dictionary <string, Document>(); SizeChanged += (o, e) => { _autocompleteMenu.MaximumSize = new Size(Size.Width, _autocompleteMenu.MaximumSize.Height); }; }
internal AutocompleteListView(IFunctionsDetails functionDetails) { _functionDetails = functionDetails; // functionsDetails = new Dictionary<string, FunctionInfo>(); toolTip = new WebBrowserToolTip(); SetStyle( ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true); base.Font = new Font(FontFamily.GenericSansSerif, 9); ItemHeight = Font.Height + 2; VerticalScroll.SmallChange = ItemHeight; BackColor = Color.White; LeftPadding = 18; ToolTipDuration = 3000; // this.LostFocus += Control_LostFocus; //this.VisibleChanged += Control_VisibleChanged; //this.ClientSizeChanged += Control_ClientSizeChanged; // toolTip.Click += ToolTip_Click; // toolTip.LostFocus += ToolTip_LostFocus; formTip = new WebBrowserForm(); Colors = new Colors(); AutoScaleMode = AutoScaleMode.None; }
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) { }
public FuzzyAutoCompleteItem(string text, IFunctionsDetails functionsDetails) : base(text, functionsDetails) { _functionsDetails = functionsDetails; }
public MethodAutocompleteItem(string text, IFunctionsDetails functionsDetails) : base(text, functionsDetails) { lowercaseText = Text.ToLower(); }
public FuzzyAutoCompleteItem(string name, string addition, string additionWithTypes, string returnTypeName, int imageIndex, IFunctionsDetails functionsDetails) : base(name, addition, additionWithTypes, returnTypeName, imageIndex, functionsDetails) { _functionsDetails = functionsDetails; }
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; }
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()); }
public AutocompleteItem(string text, IFunctionsDetails sharedViewState) : this(sharedViewState) { Text = text; _textForComparison = text.ToLowerInvariant(); }
public CompletionData(string text, string menuText, FunctionInfo functionInfo, int imageIndex, IFunctionsDetails functionsDetails) { Text = text; _content = menuText; _alternativeDescription = functionInfo; this._functionsDetails = functionsDetails; //////////////////////////////////// this._image= imageIndexToImage(imageIndex).ToBitmapSource();//TODO: implement image show }
//private int imageIndex;//TODO: implement image show public CompletionData(string text, IFunctionsDetails functionsDetails) { Text = text; this._functionsDetails = functionsDetails; }
public ConstantsCommand(ITextProvider expressionTextProvider, IScriptProvider scriptingTextProvider, IScriptProvider customFunctionsTextProvider, ISharedViewState sharedViewState, IFunctionsDetails functionsDetails, IClickedMouseButtonsProvider clickedMouseButtonsProvider, IShowFunctionDetails showFunctionDetails) : base(MenuStrings.constantsToolStripMenuItem_Text, new Dictionary <string, string>() { { "MathematicalConstants", MenuStrings.mathematicalConstantsToolStripMenuItem_Text }, { "PhysicalConstants", MenuStrings.physicalConstantsToolStripMenuItem_Text } }, expressionTextProvider, scriptingTextProvider, customFunctionsTextProvider, sharedViewState, functionsDetails, clickedMouseButtonsProvider, showFunctionDetails) { }
public FunctionDetailsBasedCommand(string name, Dictionary <string, string> KeyAndNameOfCommandCollection, ITextProvider expressionTextProvider, IScriptProvider scriptingTextProvider, IScriptProvider customFunctionsTextProvider, ISharedViewState sharedViewState, IFunctionsDetails functionsDetails, 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, functionsDetails, mouseButtonsProvider, showFunctionDetails) }); } ChildrenCommands = childrenCommands; }
public static AutocompleteItem[] GetAutocompleteItemsForExpressions(IFunctionsDetails functionsDetails, bool removeAdvanced = false) { var items = GetFunctionsNamesWithDescription(typeof(ElementaryFunctions), functionsDetails); items.AddRange(GetFunctionsNamesWithDescription(typeof(FunctionRoot), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Integral), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Derivative), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(StatisticsFunctions), functionsDetails)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Normal), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Bernoulli), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Beta), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Binomial), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Categorical), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Cauchy), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Chi), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(ChiSquared), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(ContinuousUniform), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription( typeof(ConwayMaxwellPoisson), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Dirichlet), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(DiscreteUniform), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Erlang), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Exponential), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(FisherSnedecor), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Gamma), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Geometric), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Hypergeometric), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(InverseGamma), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(InverseWishart), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Laplace), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(LogNormal), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(MatrixNormal), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Multinomial), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(NegativeBinomial), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(NormalGamma), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Pareto), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Poisson), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Rayleigh), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Stable), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(StudentT), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Triangular), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Weibull), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Wishart), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(Zipf), functionsDetails, false, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(SpecialFunctions), functionsDetails)); items.AddRange(GetFunctionsNamesWithDescription(typeof(MathematicalConstants), functionsDetails, true)); items.AddRange(GetFunctionsNamesWithDescription(typeof(PhysicalConstants), functionsDetails, true)); items.RemoveAll(i => i.Text == "ToCode"); if (removeAdvanced) { items.RemoveAll(i => i.ImageIndex == -1); } return(items.ToArray()); }