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); }
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(); } }
private void CreateRowControls(int row, dxParameter parameter) { NewAccessComboBox(row, parameter); NewTypeComboBox(row, parameter); NewNameTextBox(row, parameter); NewValueControl(row, parameter); }
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(); } }
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); }
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); }
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); }
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); }
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(); } }
private void UpdateParameterValue(int index, dxParameter parameter) { _mainForm?.UpdateParameterValue(index, parameter); }