private void TypeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { SetDefaultValue(); int idx = _operator.Inputs.IndexOf(_operatorPart); var removeCommand = new RemoveInputCommand(_operator, _operatorPart); _metaInput.OpPart = BasicMetaTypes.GetMetaOperatorPartOf((FunctionType)TypeComboBox.SelectedIndex); // set default value switch ((FunctionType)TypeComboBox.SelectedIndex) { case FunctionType.Float: _defaultValue = new Float(0.0f); break; case FunctionType.Text: _defaultValue = new Text(String.Empty); break; case FunctionType.Scene: _defaultValue = new Core.Scene(); break; case FunctionType.Generic: _defaultValue = new Generic(); break; case FunctionType.Dynamic: _defaultValue = new Dynamic(); break; case FunctionType.Mesh: _defaultValue = new Core.MeshValue(); break; default: Logger.Error("InputParameterView.TypeComboBox_SelectionChanged: Unknown 'FunctionType' with value {0}", TypeComboBox.SelectedIndex); break; } _metaInput.DefaultValue = _defaultValue; var command = new AddInputCommand(_operator, _metaInput); ICommand[] commands = { removeCommand, command }; App.Current.UndoRedoStack.AddAndExecute(new MacroCommand("Changed Input Type", commands)); App.Current.UpdateRequiredAfterUserInteraction = true; }
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(); } }