Example #1
0
        private void cbType_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (tlpParameters == null || !(sender is ComboBox typeCombo) || Settings.Default == null || _data?.Parameters?.ParameterItem == null)
            {
                return;
            }

            int     row          = tlpParameters.GetRow(typeCombo);
            Control valueControl = tlpParameters.GetControlFromPosition(Settings.Default.ValueColumn, row);

            if (valueControl != null)
            {
                tlpParameters.Controls.Remove(valueControl);
            }

            dxParameter parameter = _data.Parameters[row - 1];

            if (parameter != null && typeCombo.Text == Settings.Default.BoolType)
            {
                parameter.Type = ParameterType.Bool;
            }
            else if (parameter != null && typeCombo.Text == Settings.Default.IntType)
            {
                parameter.Type = ParameterType.Int;
            }

            NewValueControl(row, parameter);
        }
Example #2
0
        public void UpdateParameterValue(int index, dxParameter parameter)
        {
            void SetValue()
            {
                if (_data?.Parameters == null || index < 0 || index >= _data.Parameters.Count || parameter == null)
                {
                    return;
                }

                UpdateRowValue(index + 1, parameter);
            }

            if (tlpParameters == null)
            {
                return;
            }

            if (InvokeRequired)
            {
                Invoke((Action)SetValue);
            }
            else
            {
                SetValue();
            }
        }
Example #3
0
 private void CreateRowControls(int row, dxParameter parameter)
 {
     NewAccessComboBox(row, parameter);
     NewTypeComboBox(row, parameter);
     NewNameTextBox(row, parameter);
     NewValueControl(row, parameter);
 }
Example #4
0
        private void UpdateRowValue(int row, dxParameter parameter)
        {
            if (tlpParameters == null || parameter == null || Settings.Default == null)
            {
                return;
            }

            switch (parameter.Type)
            {
            case ParameterType.Bool when tlpParameters.GetControlFromPosition(Settings.Default.ValueColumn, row) is CheckBox valueCheckBox:
                valueCheckBox.Checked = parameter.BoolValue;

                break;

            case ParameterType.Int when tlpParameters.GetControlFromPosition(Settings.Default.ValueColumn, row) is TextBox valueTextBox:
                valueTextBox.Text = $@"{parameter.IntValue:D1}";

                break;

            case ParameterType.String when tlpParameters.GetControlFromPosition(Settings.Default.ValueColumn, row) is TextBox valueTextBox:
                valueTextBox.Text = parameter.StringValue ?? "";

                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Example #5
0
        private void NewTypeComboBox(int row, dxParameter parameter)
        {
            if (tlpParameters == null || Settings.Default == null || parameter == null)
            {
                return;
            }

            ComboBox typeComboBox = new ComboBox
            {
                Dock               = DockStyle.Fill
                , Margin           = new Padding(1)
                , DropDownStyle    = ComboBoxStyle.DropDownList
                , AutoCompleteMode = AutoCompleteMode.None
            };

            typeComboBox.Items.AddRange(new object[]
            {
                Settings.Default.BoolType, Settings.Default.IntType
            });

            typeComboBox.Text = parameter.Type == ParameterType.Bool ? Settings.Default.BoolType : Settings.Default.IntType;

            typeComboBox.SelectedIndexChanged += cbType_SelectedIndexChanged;

            tlpParameters.Controls.Add(typeComboBox, Settings.Default.TypeColumn, row);
        }
Example #6
0
        private void NewAccessComboBox(int row, dxParameter parameter)
        {
            if (tlpParameters == null || Settings.Default == null || parameter == null)
            {
                return;
            }

            ComboBox accessComboBox = new ComboBox
            {
                Dock               = DockStyle.Fill
                , Margin           = new Padding(1)
                , DropDownStyle    = ComboBoxStyle.DropDownList
                , AutoCompleteMode = AutoCompleteMode.None
            };

            accessComboBox.Items.AddRange(new object[]
            {
                Settings.Default.SystemAccess, Settings.Default.UserAccess
            });

            accessComboBox.Text = parameter.Access == AccessLevel.Sys ? Settings.Default.SystemAccess : Settings.Default.UserAccess;

            accessComboBox.SelectedIndexChanged += CommonEventHandlers.cbAccess_SelectedIndexChanged;

            tlpParameters.Controls.Add(accessComboBox, Settings.Default.AccessColumn, row);
        }
Example #7
0
        private void NewValueControl(int row, dxParameter parameter)
        {
            if (tlpParameters == null || Settings.Default == null || parameter == null)
            {
                return;
            }

            Control valueControl;

            if (parameter.Type == ParameterType.Bool)
            {
                valueControl = new CheckBox
                {
                    Dock      = DockStyle.Top
                    , Margin  = new Padding(1)
                    , Checked = parameter.BoolValue
                };

                ((CheckBox)valueControl).Click += CommonEventHandlers.chbValue_Click;
            }
            else
            {
                valueControl = new TextBox
                {
                    Dock     = DockStyle.Fill
                    , Margin = new Padding(1)
                    , Text   = $@"{parameter.IntValue:D1}"
                };

                ((TextBox)valueControl).TextChanged += CommonEventHandlers.tbValue_TextChanged;
                ((TextBox)valueControl).KeyPress    += CommonEventHandlers.tbValue_KeyPress;
            }

            tlpParameters.Controls.Add(valueControl, Settings.Default.ValueColumn, row);
        }
Example #8
0
        private void NewNameTextBox(int row, dxParameter parameter)
        {
            if (tlpParameters == null || Settings.Default == null || parameter == null)
            {
                return;
            }

            TextBox textBox = new TextBox
            {
                Dock     = DockStyle.Fill
                , Margin = new Padding(1)
                , Text   = parameter.Name
            };

            textBox.TextChanged += CommonEventHandlers.tbName_TextChanged;

            tlpParameters.Controls.Add(textBox, Settings.Default.NameColumn, row);
        }
Example #9
0
        private void UpdateRowControls(int row, dxParameter parameter)
        {
            if (Settings.Default == null || tlpParameters == null || parameter == null)
            {
                return;
            }

            if (tlpParameters.GetControlFromPosition(Settings.Default.AccessColumn, row) is ComboBox accessComboBox)
            {
                accessComboBox.SelectedIndex = parameter.Access == AccessLevel.Sys ? 0 : 1;
            }

            if (tlpParameters.GetControlFromPosition(Settings.Default.TypeColumn, row) is ComboBox typeComboBox)
            {
                typeComboBox.SelectedIndex = parameter.Type == ParameterType.Bool ? 0 : 1;
            }

            if (tlpParameters.GetControlFromPosition(Settings.Default.NameColumn, row) is TextBox nameTextBox)
            {
                nameTextBox.Text = parameter.Name;
            }

            switch (parameter.Type)
            {
            case ParameterType.Bool when tlpParameters.GetControlFromPosition(Settings.Default.ValueColumn, row) is CheckBox valueCheckBox:
                valueCheckBox.Checked = parameter.BoolValue;

                break;

            case ParameterType.Int when tlpParameters.GetControlFromPosition(Settings.Default.ValueColumn, row) is TextBox valueTextBox:
                valueTextBox.Text = $@"{parameter.IntValue:D1}";

                break;

            case ParameterType.String when tlpParameters.GetControlFromPosition(Settings.Default.ValueColumn, row) is TextBox valueTextBox:
                valueTextBox.Text = parameter.StringValue ?? "";

                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Example #10
0
 private void UpdateParameterValue(int index, dxParameter parameter)
 {
     _mainForm?.UpdateParameterValue(index, parameter);
 }