tbf/TestBenchFramework/TestWizard/Roi2.cs

98 lines
1.8 KiB
C#

///
/// Copyright (c) 2017 Sensus Metering Systems
///
using System;
using System.Windows.Forms;
using TBF.Resources;
namespace TBF.TestWizard
{
public partial class Roi2 : Form
{
RoiData roiData;
public Roi2()
{
InitializeComponent();
}
public Roi2(bool first, bool last, RoiData roiData)
: this()
{
this.roiData = roiData;
Text = "Pointer/arrow size";
r1Label.Text = "R1";
r2Label.Text = "R2";
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 Roi2_Load_1(object sender, EventArgs e)
{
if (roiData == null) return;
RefreshWizardPage();
}
void RefreshWizardPage()
{
r1TextBox.Text = roiData.R1.ToString();
r2TextBox.Text = roiData.R2.ToString();
nextButton.Enabled = IsFormValid();
}
void UpdateTest()
{
roiData.R1 = int.Parse(r1TextBox.Text);
roiData.R2 = int.Parse(r2TextBox.Text);
}
bool IsFormValid()
{
int r1, r2;
return int.TryParse(r1TextBox.Text, out r1) &&
int.TryParse(r2TextBox.Text, out r2) &&
(r2 > r1) && (r1 > 0);
}
private void backButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Retry;
Close();
}
private void nextButton_Click(object sender, EventArgs e)
{
if (roiData != null && 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();
}
}
}