Ejemplo n.º 1
0
        public static IStandardVTActionEditView CreateControl(IStandardValueAction action, IAction masterAction = null)
        {
            IStandardVTActionEditView vtAction = null;

            if (action.ValueType is FloatValueType)
            {
                vtAction = new FloatInitializationView(action, masterAction);
            }
            else if (action.ValueType is ToggleValueType)
            {
                vtAction = new ToggleInitializationView(action, masterAction);
            }
            else if (action.ValueType is DateTimeValueType)
            {
                vtAction = new DateTimeInitializationView(action, masterAction);
            }
            else if (action.ValueType is StateValueType)
            {
                vtAction = new StatusInitializationView(action, masterAction);
            }
            else if (action.ValueType is InfoValueType)
            {
                vtAction = new InfoInitializationView(action, masterAction);
            }
            return(vtAction);
        }
Ejemplo n.º 2
0
        public FloatInitializationView(IStandardValueAction action, IAction masterAction = null)
        {
            InitializeComponent();

            tbMax.Validation = (v) => EntryViewValidation.DoubleValidation(min: double.Parse(tbMin.Text)).Invoke(v);
            tbMin.Validation = (v) => EntryViewValidation.DoubleValidation(max: double.Parse(tbMax.Text)).Invoke(v);
            tbVal.Validation = (v) => EntryViewValidation.DoubleValidation(max: double.Parse(tbMax.Text), min: double.Parse(tbMin.Text)).Invoke(v);

            tbMax.TextChanged += (o, e) =>
            {
                if (double.Parse(tbMax.Text) < double.Parse(tbVal.Text))
                {
                    tbVal.Text = tbMax.Text;
                }
            };

            tbMin.TextChanged += (o, e) =>
            {
                if (double.Parse(tbMin.Text) > double.Parse(tbVal.Text))
                {
                    tbVal.Text = tbMin.Text;
                }
            };

            btApply.Click += (o, e) => {
                action.ValueType.AcceptedValues[1]      = tbMax.Text;
                action.ValueType.AcceptedValues[0]      = tbMin.Text;
                ((FloatValueType)action.ValueType).Unit = tbUnit.Text;
                action.Value = tbVal.Text;
                ApplyClicked?.Invoke();
            };

            if (masterAction != null && masterAction.ValueType is FloatValueType)
            {
                tbMin.Text      = masterAction.ValueType.AcceptedValues[0];
                tbMax.Text      = masterAction.ValueType.AcceptedValues[1];
                tbMax.IsEnabled = tbMin.IsEnabled = false;
            }
            else
            {
                tbMin.Text = action.ValueType.AcceptedValues[0];
                tbMax.Text = action.ValueType.AcceptedValues[1];
            }

            tbVal.Text  = action.Value;
            tbUnit.Text = ((FloatValueType)action.ValueType).Unit;
        }
        public StatusInitializationView(IStandardValueAction action, IAction masterAction = null)
        {
            InitializeComponent();
            _masterAction = masterAction;
            _action       = action;
            _oldVal       = _action.Value;
            _valueType    = action.ValueType;

            if (masterAction != null)
            {
                gridAdd.Visibility = Visibility.Collapsed;
                _valueType         = masterAction.ValueType;
            }
            else
            {
                btAddNew.Click      += (o, e) => CreateNewStateFromTextBox();
                tbNewStatus.KeyDown += (o, e) =>
                {
                    if (e.Key == System.Windows.Input.Key.Enter)
                    {
                        CreateNewStateFromTextBox();
                    }
                };
            }

            foreach (var state in _valueType.AcceptedValues)
            {
                Add(state);
            }

            UpdateSearchControls();

            btApply.Click += (o, e) =>
            {
                var selectedState = (listItemsStatus.SelectedItem as StatusInitializationViewItem)?.Text;
                if (string.IsNullOrEmpty(selectedState))
                {
                    selectedState = _oldVal;
                }

                var states = listItemsStatus.GetItems().Select(x => ((StatusInitializationViewItem)x).Text);
                _valueType.AcceptedValues = states.ToArray();
                _action.ValueType         = _valueType;
                _action.Value             = selectedState;
                ApplyClicked?.Invoke();
            };
        }
        public DateTimeInitializationView(IStandardValueAction action = null, IAction masterAction = null)
        {
            var dateTime = DateTime.Now;

            DateTime.TryParse(action.Value, out dateTime);
            if (dateTime == DateTime.MinValue)
            {
                dateTime = DateTime.Now;//crutch
            }
            DateTime = dateTime;

            Apply += (o, e) =>
            {
                action.Value = DateTime.ToString();
                ApplyClicked?.Invoke();
            };
        }
Ejemplo n.º 5
0
        public InfoInitializationView(IStandardValueAction action, IAction masterAction = null)
        {
            InitializeComponent();

            KeyDown += (o, e) => {
                if (e.Key == System.Windows.Input.Key.Enter)
                {
                    ApplyClicked?.Invoke();
                }
            };

            _action = action;

            tbText.Text = _action.Value;

            btApply.Click += (o, e) => {
                _action.Value = tbText.Text;
                ApplyClicked?.Invoke();
            };
        }
Ejemplo n.º 6
0
        public ToggleInitializationView(IStandardValueAction action, IAction masterAction = null)
        {
            InitializeComponent();
            if (action.Value == ToggleValueType.ValueON)
            {
                btOn.Selected = true;
            }
            else
            {
                btOff.Selected = true;
            }

            btOn.Click += (o, e) => {
                action.Value = ToggleValueType.ValueON;
                ApplyClicked?.Invoke();
            };
            btOff.Click += (o, e) => {
                action.Value = ToggleValueType.ValueOFF;
                ApplyClicked?.Invoke();
            };
        }