Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
        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();
            }
        }