/// /// Copyright (c) 2017 Sensus Metering Systems /// using System; using System.Windows.Forms; using TBF.Resources; namespace TBF.TestWizard { public partial class Roi3 : Form { RoiData roiData; public Roi3() { InitializeComponent(); } public Roi3(bool first, bool last, RoiData roiData) : this() { this.roiData = roiData; Text = Strings.ROI_Data; pulsesPerLiterLabel.Text = Strings.PulsesPerLtr; directionLabel.Text = Strings.Turning_direction; backButton.Text = Strings.BackBtnText; nextButton.Text = Strings.NextBtnText; cancelButton.Text = Strings.CancelBtnText; if (first) backButton.Visible = false; if (last) nextButton.Text = Strings.FinishBtnText; } private void Roi3_Load(object sender, EventArgs e) { if (roiData == null) return; directionComboBox.Items.Add(Strings.Clockwise); directionComboBox.Items.Add(Strings.Counterclockwise); RefreshWizardPage(); } void RefreshWizardPage() { pulsesPerLiterTextBox.Text = roiData.PulsesPerLiter.ToString(); directionComboBox.Text = (roiData.Direction == TurningDirection.Clockwise) ? Strings.Clockwise : Strings.Counterclockwise; nextButton.Enabled = IsFormValid(); } void UpdateTest() { roiData.PulsesPerLiter = Utils.ParseUDouble(pulsesPerLiterTextBox.Text); roiData.Direction = (directionComboBox.Text == Strings.Clockwise) ? TurningDirection.Clockwise : TurningDirection.Counterclockwise; } bool IsFormValid() { double dummy; return Utils.TryParseUDouble(pulsesPerLiterTextBox.Text, out dummy) && directionComboBox.Items.Contains(directionComboBox.Text); } private void backButton_Click(object sender, EventArgs e) { DialogResult = DialogResult.Retry; Close(); } private void nextButton_Click(object sender, EventArgs e) { if (IsFormValid()) { UpdateTest(); DialogResult = DialogResult.OK; Close(); } else { DialogResult = DialogResult.None; } } private void cancelButton_Click(object sender, EventArgs e) { DialogResult = DialogResult.Cancel; Close(); } private void anyTextBox_TextChanged(object sender, EventArgs e) { nextButton.Enabled = IsFormValid(); } } }