private void SetDefaultValue() { DefaultValue.Children.Clear(); if (TypeComboBox.SelectedIndex == (int)FunctionType.Float) { float value = 0.0f; var currentFloat = _defaultValue as Float; if (currentFloat != null) { value = currentFloat.Val; } _defaultValue = new Float(value); var edit = new FloatEditButton() { Value = value }; edit.Scale = _metaInput.Scale; edit.Min = _metaInput.Min; edit.Max = _metaInput.Max; edit.Default = value; var command = new UpdateInputParameterCommand(_operator, _metaInput.ID, new UpdateInputParameterCommand.Entry(_metaInput)); edit.ValueChangedEvent += (v) => { _defaultValue = new Float(v); command.ChangeEntry.DefaultValue = _defaultValue; }; edit.EditingEndedEvent += () => { App.Current.UndoRedoStack.AddAndExecute(command); App.Current.UpdateRequiredAfterUserInteraction = true; }; DefaultValue.Children.Add(edit); } else if (TypeComboBox.SelectedIndex == (int)FunctionType.Text) { var value = String.Empty; var currentText = _defaultValue as Text; if (currentText != null) { value = currentText.Val; } var edit = new TextBox(); edit.Text = value; _defaultValue = new Text(value); var command = new UpdateInputParameterCommand(_operator, _metaInput.ID, new UpdateInputParameterCommand.Entry(_metaInput)); edit.TextChanged += (o, e) => { _defaultValue = new Text(edit.Text); command.ChangeEntry.DefaultValue = _defaultValue; }; edit.LostFocus += delegate { App.Current.UndoRedoStack.AddAndExecute(command); App.Current.UpdateRequiredAfterUserInteraction = true; }; DefaultValue.Children.Add(edit); } else if (TypeComboBox.SelectedIndex == (int)FunctionType.Scene) { _defaultValue = new Core.Scene(); } else if (TypeComboBox.SelectedIndex == (int)FunctionType.Generic) { _defaultValue = new Core.Generic(); } else if (TypeComboBox.SelectedIndex == (int)FunctionType.Dynamic) { _defaultValue = new Core.Dynamic(); } else if (TypeComboBox.SelectedIndex == (int)FunctionType.Mesh) { _defaultValue = new Core.MeshValue(); } }
private void SetDefaultValue() { DefaultValue.Children.Clear(); if (TypeComboBox.SelectedIndex == (int)FunctionType.Float) { float value = 0.0f; var currentFloat = _defaultValue as Float; if (currentFloat != null) { value = currentFloat.Val; } _defaultValue = new Float(value); var edit = new FloatEditButton() { Value = value }; edit.Scale = _metaInput.Scale; edit.Min = _metaInput.Min; edit.Max = _metaInput.Max; edit.Default = value; edit.ValueChangedEvent += (v) => { _defaultValue = new Float(v); UpdateMetaInput(); }; DefaultValue.Children.Add(edit); } else if (TypeComboBox.SelectedIndex == (int)FunctionType.Text) { var value = String.Empty; var currentText = _defaultValue as Text; if (currentText != null) { value = currentText.Val; } var edit = new TextBox(); edit.Text = value; _defaultValue = new Text(value); edit.TextChanged += (o, e) => { _defaultValue = new Text(edit.Text); UpdateMetaInput(); }; DefaultValue.Children.Add(edit); } else if (TypeComboBox.SelectedIndex == (int)FunctionType.Scene) { _defaultValue = new Core.Scene(); } else if (TypeComboBox.SelectedIndex == (int)FunctionType.Generic) { _defaultValue = new Core.Generic(); } else if (TypeComboBox.SelectedIndex == (int)FunctionType.Dynamic) { _defaultValue = new Core.Dynamic(); } else if (TypeComboBox.SelectedIndex == (int)FunctionType.Mesh) { _defaultValue = new Core.MeshValue(); } }