private void NumberOfLetters_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName is not nameof(ILaminarValue.Value)) { return; } int NewNumberOfKeys = (int)NumberOfLetters.GetInput <double>(); if (NewNumberOfKeys > Keys.VisualComponentList.Count) { for (int i = Keys.Count; i < NewNumberOfKeys; i++) { INodeField newField = Constructor.NodeField($"Letter {i+1}").WithInput <Keys>(); newField.GetValue(INodeField.InputKey).PropertyChanged += AnyKey_PropertyChanged; Keys.Add(newField); } } else if (NewNumberOfKeys < Keys.Count) { for (int i = Keys.Count; i >= NewNumberOfKeys; i--) { Keys.RemoveAt(i); } } AnyKey_PropertyChanged(null, new PropertyChangedEventArgs(nameof(ILaminarValue.Value))); }
public void SetInstance(ICompiledScript script) { NodeName = script.OriginalScript.Name.Value; foreach (ILaminarValue input in script.Inputs) { AllInputs.Add(Constructor.NodeField(input.Name).WithValue("Display", input)); } }
public static INodeComponentList NodeComponentList(IEnumerable <INodeComponent> components) { INodeComponentList output = Laminar.New <INodeComponentList>(); foreach (INodeComponent component in components) { output.Add(component); } return(output); }