private void RevertNumericParameterValue(ParameterValueBuffer parameterValueBuffer) { TextBox parameterTextBox = parameterValueBuffer.Control as TextBox; parameterValueBuffer.NewValue = parameterValueBuffer.Parameter.GetValue(); parameterTextBox.Text = parameterValueBuffer.NewValue.ToString(); }
private void RevertEnumParameterValue(ParameterValueBuffer parameterValueBuffer) { ComboBox parameterComboBox = parameterValueBuffer.Control as ComboBox; parameterValueBuffer.NewValue = parameterValueBuffer.Parameter.GetValue(); parameterComboBox.SelectedItem = parameterValueBuffer.NewValue.ToString(); }
private void RevertBoolParameterValue(ParameterValueBuffer parameterValueBuffer) { CheckBox parameterCheckBox = parameterValueBuffer.Control as CheckBox; parameterValueBuffer.NewValue = parameterValueBuffer.Parameter.GetValue(); parameterCheckBox.Checked = (bool)parameterValueBuffer.NewValue; }
private void StringParameterEditButtonClick(object sender, EventArgs e) { ParameterValueBuffer parameterValueBuffer = (ParameterValueBuffer)((Button)sender).Tag; new StringParameterValueEditingWindow(parameterValueBuffer).ShowDialog(); RaiseParameterValueEdited(); }
private Control AddBoolParameterControls(ParameterValueBuffer parameterValueBuffer) { CheckBox parameterCheckBox = new CheckBox(); parameterCheckBox.Tag = parameterValueBuffer; parameterCheckBox.CheckedChanged += new EventHandler(BoolParameterChanged); return(parameterCheckBox); }
private void StringParameterChanged(object sender, EventArgs e) { TextBox parameterTextBox = (TextBox)sender; ParameterValueBuffer parameterValueBuffer = (ParameterValueBuffer)parameterTextBox.Tag; parameterValueBuffer.NewValue = parameterTextBox.Text; RaiseParameterValueEdited(); }
private void BoolParameterChanged(object sender, EventArgs e) { CheckBox parameterCheckBox = (CheckBox)sender; ParameterValueBuffer parameterValueBuffer = (ParameterValueBuffer)parameterCheckBox.Tag; parameterValueBuffer.NewValue = parameterCheckBox.Checked; RaiseParameterValueEdited(); }
private void EnumParameterValueChanged(object sender, EventArgs e) { ComboBox parameterComboBox = (ComboBox)sender; ParameterValueBuffer parameterValueBuffer = (ParameterValueBuffer)parameterComboBox.Tag; parameterValueBuffer.NewValue = (Enum)(Enum.Parse(parameterValueBuffer.Parameter.FieldType, parameterComboBox.SelectedItem.ToString())); RaiseParameterValueEdited(); }
private Control AddEnumParameterControls(ParameterValueBuffer parameterValueBuffer) { ComboBox parameterValueComboBox = new ComboBox(); parameterValueComboBox.DropDownStyle = ComboBoxStyle.DropDownList; parameterValueComboBox.Tag = parameterValueBuffer; parameterValueComboBox.Items.AddRange(parameterValueBuffer.Parameter.FieldType.GetEnumNames()); parameterValueComboBox.SelectedIndexChanged += new EventHandler(EnumParameterValueChanged); return(parameterValueComboBox); }
private void NumericParameterValidating(object sender, CancelEventArgs e) { TextBox parameterTextBox = (TextBox)sender; ParameterValueBuffer parameterValueBuffer = (ParameterValueBuffer)parameterTextBox.Tag; string stringValue = parameterTextBox.Text; var converter = TypeDescriptor.GetConverter(parameterValueBuffer.Parameter.FieldType); object value; try { value = converter.ConvertFromString(parameterTextBox.Text); } catch (Exception) { errorProvider.SetError(parameterTextBox, "Incorrect " + parameterValueBuffer.Parameter.TypeDescription); e.Cancel = true; return; } if (parameterValueBuffer.Parameter.MinimumValue != null && parameterValueBuffer.Parameter.MaximumValue != null) { if (((IComparable)value).CompareTo(parameterValueBuffer.Parameter.MinimumValue) < 0 || ((IComparable)value).CompareTo(parameterValueBuffer.Parameter.MaximumValue) > 0) { errorProvider.SetError(parameterTextBox, "Value between '" + parameterValueBuffer.Parameter.MinimumValue + "' and '" + parameterValueBuffer.Parameter.MaximumValue + "' expected"); e.Cancel = true; return; } } else if (parameterValueBuffer.Parameter.MinimumValue != null) { if (((IComparable)value).CompareTo(parameterValueBuffer.Parameter.MinimumValue) < 0) { errorProvider.SetError(parameterTextBox, "Value greater than '" + parameterValueBuffer.Parameter.MinimumValue + "' expected"); e.Cancel = true; return; } } else if (parameterValueBuffer.Parameter.MaximumValue != null) { if (((IComparable)value).CompareTo(parameterValueBuffer.Parameter.MaximumValue) > 0) { errorProvider.SetError(parameterTextBox, "Value less than '" + parameterValueBuffer.Parameter.MaximumValue + "' expected"); e.Cancel = true; return; } } errorProvider.SetError(parameterTextBox, null); parameterValueBuffer.NewValue = value; }
private Control AddNumericParameterControls(ParameterValueBuffer parameterValueBuffer) { TextBox parameterTextBox = new TextBox(); parameterTextBox.CausesValidation = true; parameterTextBox.Tag = parameterValueBuffer; parameterTextBox.TextChanged += new EventHandler(NumericParameterEdited); parameterTextBox.Validating += new CancelEventHandler(NumericParameterValidating); return(parameterTextBox); }
private void RevertStringParameterValue(ParameterValueBuffer parameterValueBuffer) { parameterValueBuffer.NewValue = parameterValueBuffer.Parameter.GetValue(); if (parameterValueBuffer.Parameter.StringType != StringParameterType.Multiline) { TextBox parameterTextBox = parameterValueBuffer.Control as TextBox; parameterTextBox.Text = (string)parameterValueBuffer.NewValue; } }
private Control AddStringParameterControls(ParameterValueBuffer parameterValueBuffer) { if (parameterValueBuffer.Parameter.StringType == StringParameterType.Multiline) { Button editParameterButton = new Button(); editParameterButton.Tag = parameterValueBuffer; editParameterButton.AutoSize = true; editParameterButton.Text = "Edit"; editParameterButton.Click += new EventHandler(StringParameterEditButtonClick); return(editParameterButton); } TextBox parameterTextBox = new TextBox(); parameterTextBox.Tag = parameterValueBuffer; parameterTextBox.TextChanged += new EventHandler(StringParameterChanged); return(parameterTextBox); }
private void AddParameterControl(Parameter parameter, Panel container) { ParameterValueBuffer parameterValueBuffer = new ParameterValueBuffer() { Parameter = parameter, Control = null, NewValue = parameter.GetValue() }; Control parameterControl = null; if (parameter.IsNumeric) { parameterControl = AddNumericParameterControls(parameterValueBuffer); } else if (parameter.IsBoolean) { parameterControl = AddBoolParameterControls(parameterValueBuffer); } else if (parameter.IsString) { parameterControl = AddStringParameterControls(parameterValueBuffer); } else if (parameter.IsEnum) { parameterControl = AddEnumParameterControls(parameterValueBuffer); } else { throw new InvalidOperationException(); } parameterControl.Margin = new Padding(0, 0, 15, 0); container.Controls.Add(parameterControl); parameterValueBuffer.Control = parameterControl; this.inhibitEvents = true; RevertParameterValue(parameterValueBuffer); this.inhibitEvents = false; }
private void RevertParameterValue(ParameterValueBuffer parameterValueBuffer) { Parameter parameter = parameterValueBuffer.Parameter; if (parameter.IsNumeric) { RevertNumericParameterValue(parameterValueBuffer); } else if (parameter.IsBoolean) { RevertBoolParameterValue(parameterValueBuffer); } else if (parameter.IsString) { RevertStringParameterValue(parameterValueBuffer); } else if (parameter.IsEnum) { RevertEnumParameterValue(parameterValueBuffer); } }
private IEnumerable <ParameterValueBuffer> GetParameters(Control control) { List <ParameterValueBuffer> result = new List <ParameterValueBuffer>(); foreach (Control innerControl in control.Controls) { ParameterValueBuffer parameterValueBuffer = innerControl.Tag as ParameterValueBuffer; if (parameterValueBuffer != null) { result.Add(parameterValueBuffer); } if (innerControl is ParameterControl) { continue; } result.AddRange(GetParameters(innerControl)); } return(result); }
public StringParameterValueEditingWindow(ParameterValueBuffer parameterValueBuffer) { this.InitializeComponent(); this.parameterValueTextBox.Text = (string)parameterValueBuffer.NewValue; this.parameterValueBuffer = parameterValueBuffer; }