diff --git a/TestBenchFramework/BenchControl/DataEntry/Combined/CycleBeginningForm.Designer.cs b/TestBenchFramework/BenchControl/DataEntry/Combined/CycleBeginningForm.Designer.cs
index 599cbe426..f5e058249 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Combined/CycleBeginningForm.Designer.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Combined/CycleBeginningForm.Designer.cs
@@ -33,22 +33,22 @@ namespace TBF.BenchControl.DataEntry.Combined
{
this.okButton = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.aux1ComboBox = new System.Windows.Forms.ComboBox();
+ this.main1ComboBox = new System.Windows.Forms.ComboBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
- this.auxSN1TextBox = new System.Windows.Forms.TextBox();
this.auxSN1Label = new System.Windows.Forms.Label();
- this.mainSN1TextBox = new System.Windows.Forms.TextBox();
this.mainSN1Label = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.aux2ComboBox = new System.Windows.Forms.ComboBox();
+ this.main2ComboBox = new System.Windows.Forms.ComboBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
- this.auxSN2TextBox = new System.Windows.Forms.TextBox();
this.auxSN2Label = new System.Windows.Forms.Label();
- this.mainSN2TextBox = new System.Windows.Forms.TextBox();
this.mainSN2Label = new System.Windows.Forms.Label();
this.groupBox3 = new System.Windows.Forms.GroupBox();
+ this.aux3ComboBox = new System.Windows.Forms.ComboBox();
+ this.main3ComboBox = new System.Windows.Forms.ComboBox();
this.checkBox3 = new System.Windows.Forms.CheckBox();
- this.auxSN3TextBox = new System.Windows.Forms.TextBox();
this.auxSN3Label = new System.Windows.Forms.Label();
- this.mainSN3TextBox = new System.Windows.Forms.TextBox();
this.mainSN3Label = new System.Windows.Forms.Label();
this.clearButton = new System.Windows.Forms.Button();
this.orderGroupBox = new System.Windows.Forms.GroupBox();
@@ -73,10 +73,10 @@ namespace TBF.BenchControl.DataEntry.Combined
//
// groupBox1
//
+ this.groupBox1.Controls.Add(this.aux1ComboBox);
+ this.groupBox1.Controls.Add(this.main1ComboBox);
this.groupBox1.Controls.Add(this.checkBox1);
- this.groupBox1.Controls.Add(this.auxSN1TextBox);
this.groupBox1.Controls.Add(this.auxSN1Label);
- this.groupBox1.Controls.Add(this.mainSN1TextBox);
this.groupBox1.Controls.Add(this.mainSN1Label);
this.groupBox1.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox1.ForeColor = System.Drawing.Color.Black;
@@ -86,24 +86,43 @@ namespace TBF.BenchControl.DataEntry.Combined
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Water Meter 1";
+ this.groupBox1.Visible = false;
+ //
+ // aux1ComboBox
+ //
+ this.aux1ComboBox.FormattingEnabled = true;
+ this.aux1ComboBox.Location = new System.Drawing.Point(262, 83);
+ this.aux1ComboBox.Name = "aux1ComboBox";
+ this.aux1ComboBox.Size = new System.Drawing.Size(200, 31);
+ this.aux1ComboBox.TabIndex = 6;
+ this.aux1ComboBox.Visible = false;
+ this.aux1ComboBox.SelectedIndexChanged += new System.EventHandler(this.aux1ComboBox_SelectedIndexChanged);
+ this.aux1ComboBox.TextChanged += new System.EventHandler(this.aux1ComboBox_TextChanged);
+ this.aux1ComboBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.aux1ComboBox_KeyPress);
+ //
+ // main1ComboBox
+ //
+ this.main1ComboBox.FormattingEnabled = true;
+ this.main1ComboBox.Location = new System.Drawing.Point(262, 37);
+ this.main1ComboBox.Name = "main1ComboBox";
+ this.main1ComboBox.Size = new System.Drawing.Size(200, 31);
+ this.main1ComboBox.TabIndex = 5;
+ this.main1ComboBox.Visible = false;
+ this.main1ComboBox.SelectedIndexChanged += new System.EventHandler(this.main1ComboBox_SelectedIndexChanged);
+ this.main1ComboBox.TextChanged += new System.EventHandler(this.main1ComboBox_TextChanged);
+ this.main1ComboBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.main1ComboBox_KeyPress);
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Font = new System.Drawing.Font("Verdana", 27.75F);
this.checkBox1.ImeMode = System.Windows.Forms.ImeMode.NoControl;
- this.checkBox1.Location = new System.Drawing.Point(472, 69);
+ this.checkBox1.Location = new System.Drawing.Point(490, 69);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(15, 14);
this.checkBox1.TabIndex = 4;
this.checkBox1.UseVisualStyleBackColor = true;
- //
- // auxSN1TextBox
- //
- this.auxSN1TextBox.Location = new System.Drawing.Point(262, 83);
- this.auxSN1TextBox.Name = "auxSN1TextBox";
- this.auxSN1TextBox.Size = new System.Drawing.Size(163, 31);
- this.auxSN1TextBox.TabIndex = 3;
+ this.checkBox1.Visible = false;
//
// auxSN1Label
//
@@ -113,13 +132,7 @@ namespace TBF.BenchControl.DataEntry.Combined
this.auxSN1Label.Size = new System.Drawing.Size(193, 23);
this.auxSN1Label.TabIndex = 2;
this.auxSN1Label.Text = "Aux. WM Serial Nr.";
- //
- // mainSN1TextBox
- //
- this.mainSN1TextBox.Location = new System.Drawing.Point(262, 37);
- this.mainSN1TextBox.Name = "mainSN1TextBox";
- this.mainSN1TextBox.Size = new System.Drawing.Size(163, 31);
- this.mainSN1TextBox.TabIndex = 1;
+ this.auxSN1Label.Visible = false;
//
// mainSN1Label
//
@@ -129,13 +142,14 @@ namespace TBF.BenchControl.DataEntry.Combined
this.mainSN1Label.Size = new System.Drawing.Size(195, 23);
this.mainSN1Label.TabIndex = 0;
this.mainSN1Label.Text = "Main WM Serial Nr.";
+ this.mainSN1Label.Visible = false;
//
// groupBox2
//
+ this.groupBox2.Controls.Add(this.aux2ComboBox);
+ this.groupBox2.Controls.Add(this.main2ComboBox);
this.groupBox2.Controls.Add(this.checkBox2);
- this.groupBox2.Controls.Add(this.auxSN2TextBox);
this.groupBox2.Controls.Add(this.auxSN2Label);
- this.groupBox2.Controls.Add(this.mainSN2TextBox);
this.groupBox2.Controls.Add(this.mainSN2Label);
this.groupBox2.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox2.ForeColor = System.Drawing.Color.Black;
@@ -145,24 +159,43 @@ namespace TBF.BenchControl.DataEntry.Combined
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Water Meter 2";
+ this.groupBox2.Visible = false;
+ //
+ // aux2ComboBox
+ //
+ this.aux2ComboBox.FormattingEnabled = true;
+ this.aux2ComboBox.Location = new System.Drawing.Point(262, 83);
+ this.aux2ComboBox.Name = "aux2ComboBox";
+ this.aux2ComboBox.Size = new System.Drawing.Size(200, 31);
+ this.aux2ComboBox.TabIndex = 10;
+ this.aux2ComboBox.Visible = false;
+ this.aux2ComboBox.SelectedIndexChanged += new System.EventHandler(this.aux2ComboBox_SelectedIndexChanged);
+ this.aux2ComboBox.TextChanged += new System.EventHandler(this.aux2ComboBox_TextChanged);
+ this.aux2ComboBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.aux2ComboBox_KeyPress);
+ //
+ // main2ComboBox
+ //
+ this.main2ComboBox.FormattingEnabled = true;
+ this.main2ComboBox.Location = new System.Drawing.Point(262, 37);
+ this.main2ComboBox.Name = "main2ComboBox";
+ this.main2ComboBox.Size = new System.Drawing.Size(200, 31);
+ this.main2ComboBox.TabIndex = 9;
+ this.main2ComboBox.Visible = false;
+ this.main2ComboBox.SelectedIndexChanged += new System.EventHandler(this.main2ComboBox_SelectedIndexChanged);
+ this.main2ComboBox.TextChanged += new System.EventHandler(this.main2ComboBox_TextChanged);
+ this.main2ComboBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.main2ComboBox_KeyPress);
//
// checkBox2
//
this.checkBox2.AutoSize = true;
this.checkBox2.Font = new System.Drawing.Font("Verdana", 27.75F);
this.checkBox2.ImeMode = System.Windows.Forms.ImeMode.NoControl;
- this.checkBox2.Location = new System.Drawing.Point(472, 69);
+ this.checkBox2.Location = new System.Drawing.Point(490, 69);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(15, 14);
this.checkBox2.TabIndex = 8;
this.checkBox2.UseVisualStyleBackColor = true;
- //
- // auxSN2TextBox
- //
- this.auxSN2TextBox.Location = new System.Drawing.Point(262, 83);
- this.auxSN2TextBox.Name = "auxSN2TextBox";
- this.auxSN2TextBox.Size = new System.Drawing.Size(163, 31);
- this.auxSN2TextBox.TabIndex = 3;
+ this.checkBox2.Visible = false;
//
// auxSN2Label
//
@@ -172,13 +205,7 @@ namespace TBF.BenchControl.DataEntry.Combined
this.auxSN2Label.Size = new System.Drawing.Size(193, 23);
this.auxSN2Label.TabIndex = 2;
this.auxSN2Label.Text = "Aux. WM Serial Nr.";
- //
- // mainSN2TextBox
- //
- this.mainSN2TextBox.Location = new System.Drawing.Point(262, 37);
- this.mainSN2TextBox.Name = "mainSN2TextBox";
- this.mainSN2TextBox.Size = new System.Drawing.Size(163, 31);
- this.mainSN2TextBox.TabIndex = 1;
+ this.auxSN2Label.Visible = false;
//
// mainSN2Label
//
@@ -188,13 +215,14 @@ namespace TBF.BenchControl.DataEntry.Combined
this.mainSN2Label.Size = new System.Drawing.Size(195, 23);
this.mainSN2Label.TabIndex = 0;
this.mainSN2Label.Text = "Main WM Serial Nr.";
+ this.mainSN2Label.Visible = false;
//
// groupBox3
//
+ this.groupBox3.Controls.Add(this.aux3ComboBox);
+ this.groupBox3.Controls.Add(this.main3ComboBox);
this.groupBox3.Controls.Add(this.checkBox3);
- this.groupBox3.Controls.Add(this.auxSN3TextBox);
this.groupBox3.Controls.Add(this.auxSN3Label);
- this.groupBox3.Controls.Add(this.mainSN3TextBox);
this.groupBox3.Controls.Add(this.mainSN3Label);
this.groupBox3.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox3.ForeColor = System.Drawing.Color.Black;
@@ -204,24 +232,43 @@ namespace TBF.BenchControl.DataEntry.Combined
this.groupBox3.TabIndex = 3;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Water Meter 3";
+ this.groupBox3.Visible = false;
+ //
+ // aux3ComboBox
+ //
+ this.aux3ComboBox.FormattingEnabled = true;
+ this.aux3ComboBox.Location = new System.Drawing.Point(262, 83);
+ this.aux3ComboBox.Name = "aux3ComboBox";
+ this.aux3ComboBox.Size = new System.Drawing.Size(200, 31);
+ this.aux3ComboBox.TabIndex = 10;
+ this.aux3ComboBox.Visible = false;
+ this.aux3ComboBox.SelectedIndexChanged += new System.EventHandler(this.aux3ComboBox_SelectedIndexChanged);
+ this.aux3ComboBox.TextChanged += new System.EventHandler(this.aux3ComboBox_TextChanged);
+ this.aux3ComboBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.aux3ComboBox_KeyPress);
+ //
+ // main3ComboBox
+ //
+ this.main3ComboBox.FormattingEnabled = true;
+ this.main3ComboBox.Location = new System.Drawing.Point(262, 37);
+ this.main3ComboBox.Name = "main3ComboBox";
+ this.main3ComboBox.Size = new System.Drawing.Size(200, 31);
+ this.main3ComboBox.TabIndex = 9;
+ this.main3ComboBox.Visible = false;
+ this.main3ComboBox.SelectedIndexChanged += new System.EventHandler(this.main3ComboBox_SelectedIndexChanged);
+ this.main3ComboBox.TextChanged += new System.EventHandler(this.main3ComboBox_TextChanged);
+ this.main3ComboBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.main3ComboBox_KeyPress);
//
// checkBox3
//
this.checkBox3.AutoSize = true;
this.checkBox3.Font = new System.Drawing.Font("Verdana", 27.75F);
this.checkBox3.ImeMode = System.Windows.Forms.ImeMode.NoControl;
- this.checkBox3.Location = new System.Drawing.Point(472, 68);
+ this.checkBox3.Location = new System.Drawing.Point(490, 68);
this.checkBox3.Name = "checkBox3";
this.checkBox3.Size = new System.Drawing.Size(15, 14);
this.checkBox3.TabIndex = 8;
this.checkBox3.UseVisualStyleBackColor = true;
- //
- // auxSN3TextBox
- //
- this.auxSN3TextBox.Location = new System.Drawing.Point(262, 83);
- this.auxSN3TextBox.Name = "auxSN3TextBox";
- this.auxSN3TextBox.Size = new System.Drawing.Size(163, 31);
- this.auxSN3TextBox.TabIndex = 3;
+ this.checkBox3.Visible = false;
//
// auxSN3Label
//
@@ -231,13 +278,7 @@ namespace TBF.BenchControl.DataEntry.Combined
this.auxSN3Label.Size = new System.Drawing.Size(193, 23);
this.auxSN3Label.TabIndex = 2;
this.auxSN3Label.Text = "Aux. WM Serial Nr.";
- //
- // mainSN3TextBox
- //
- this.mainSN3TextBox.Location = new System.Drawing.Point(262, 37);
- this.mainSN3TextBox.Name = "mainSN3TextBox";
- this.mainSN3TextBox.Size = new System.Drawing.Size(163, 31);
- this.mainSN3TextBox.TabIndex = 1;
+ this.auxSN3Label.Visible = false;
//
// mainSN3Label
//
@@ -247,6 +288,7 @@ namespace TBF.BenchControl.DataEntry.Combined
this.mainSN3Label.Size = new System.Drawing.Size(195, 23);
this.mainSN3Label.TabIndex = 0;
this.mainSN3Label.Text = "Main WM Serial Nr.";
+ this.mainSN3Label.Visible = false;
//
// clearButton
//
@@ -278,7 +320,7 @@ namespace TBF.BenchControl.DataEntry.Combined
this.orderComboBox.FormattingEnabled = true;
this.orderComboBox.Location = new System.Drawing.Point(165, 30);
this.orderComboBox.Name = "orderComboBox";
- this.orderComboBox.Size = new System.Drawing.Size(260, 31);
+ this.orderComboBox.Size = new System.Drawing.Size(297, 31);
this.orderComboBox.TabIndex = 0;
//
// CycleBeginningForm
@@ -316,18 +358,12 @@ namespace TBF.BenchControl.DataEntry.Combined
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label mainSN1Label;
- private System.Windows.Forms.TextBox mainSN1TextBox;
- private System.Windows.Forms.TextBox auxSN1TextBox;
private System.Windows.Forms.Label auxSN1Label;
private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.TextBox auxSN2TextBox;
private System.Windows.Forms.Label auxSN2Label;
- private System.Windows.Forms.TextBox mainSN2TextBox;
private System.Windows.Forms.Label mainSN2Label;
private System.Windows.Forms.GroupBox groupBox3;
- private System.Windows.Forms.TextBox auxSN3TextBox;
private System.Windows.Forms.Label auxSN3Label;
- private System.Windows.Forms.TextBox mainSN3TextBox;
private System.Windows.Forms.Label mainSN3Label;
private System.Windows.Forms.Button clearButton;
private System.Windows.Forms.CheckBox checkBox1;
@@ -335,5 +371,11 @@ namespace TBF.BenchControl.DataEntry.Combined
private System.Windows.Forms.CheckBox checkBox3;
private System.Windows.Forms.GroupBox orderGroupBox;
private System.Windows.Forms.ComboBox orderComboBox;
+ private System.Windows.Forms.ComboBox aux1ComboBox;
+ private System.Windows.Forms.ComboBox main1ComboBox;
+ private System.Windows.Forms.ComboBox aux2ComboBox;
+ private System.Windows.Forms.ComboBox main2ComboBox;
+ private System.Windows.Forms.ComboBox aux3ComboBox;
+ private System.Windows.Forms.ComboBox main3ComboBox;
}
}
\ No newline at end of file
diff --git a/TestBenchFramework/BenchControl/DataEntry/Combined/CycleBeginningForm.cs b/TestBenchFramework/BenchControl/DataEntry/Combined/CycleBeginningForm.cs
index 31b27389d..aeecebbb4 100644
--- a/TestBenchFramework/BenchControl/DataEntry/Combined/CycleBeginningForm.cs
+++ b/TestBenchFramework/BenchControl/DataEntry/Combined/CycleBeginningForm.cs
@@ -2,6 +2,7 @@
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
+using System.Collections.Generic;
using System.Windows.Forms;
using log4net;
using TBF.Resources;
@@ -14,6 +15,9 @@ namespace TBF.BenchControl.DataEntry.Combined
{
private static readonly ILog log = LogManager.GetLogger(typeof(CycleBeginningForm));
+ /// Number of water meters
+ public readonly int WaterMetersCount;
+
// To be retrieved after the form closes
public string PurchaseOrder;
public string[] MainSNText;
@@ -24,20 +28,59 @@ namespace TBF.BenchControl.DataEntry.Combined
public bool Completed { get { return completed; } }
bool completed;
- private readonly int cmbndWMsCount;
+ /// Number of text boxes for serial numbers
+ int TextBoxesCount;
+ Label[] mainLabels;
+ Label[] auxLabels;
+ ComboBox[] mainComboBoxes;
+ ComboBox[] auxComboBoxes;
+ CheckBox[] checkBoxes;
+ IList enabledComboBoxes;
- public CycleBeginningForm()
+
+ public CycleBeginningForm()
{
InitializeComponent();
- MainSNText = new string[Program.WMsCount / 2];
- AuxSNText = new string[Program.WMsCount / 2];
+ TextBoxesCount = 3;
+ mainLabels = new Label[] { mainSN1Label, mainSN2Label, mainSN3Label };
+ auxLabels = new Label[] { auxSN1Label, auxSN2Label, auxSN3Label };
+ mainComboBoxes = new ComboBox[] { main1ComboBox, main2ComboBox, main3ComboBox };
+ auxComboBoxes = new ComboBox[] { aux1ComboBox, aux2ComboBox, aux3ComboBox };
+ checkBoxes = new CheckBox[] { checkBox1, checkBox2, checkBox3 };
+ enabledComboBoxes = new List();
+
completed = false;
StartForceCloseHandler();
+ }
- cmbndWMsCount = Program.WMsCount / 2;
+ ///
+ /// Constructor
+ ///
+ /// Number of text boxes for serial numbers
+ public CycleBeginningForm(int waterMetersCount)
+ : this()
+ {
+ this.WaterMetersCount = waterMetersCount; /// = Program.WMsCount / 2
+ MainSNText = new string[waterMetersCount];
+ AuxSNText = new string[waterMetersCount];
+ Disabled = new bool[waterMetersCount];
- Height = 145 + cmbndWMsCount * 155;
+ ShuffleTextBoxes();
+
+ //Height = 147 + WaterMetersCount * 90;
+ }
+
+ ///
+ /// Make sure the layout of labels/text boxes on the screen
+ /// corresponds to the layout of watermeters of the test bench.
+ ///
+ void ShuffleTextBoxes()
+ {
+ if (Program.WMsCount / 2 < TextBoxesCount)
+ {
+ TextBoxesCount = Program.WMsCount / 2;
+ }
}
private void CycleBeginningForm_Load(object sender, EventArgs e)
@@ -46,9 +89,21 @@ namespace TBF.BenchControl.DataEntry.Combined
PrepareOrderCombo(orderComboBox);
- if (cmbndWMsCount < 1) groupBox1.Visible = false;
- if (cmbndWMsCount < 2) groupBox2.Visible = false;
- if (cmbndWMsCount < 3) groupBox3.Visible = false;
+ TextBoxesCount = Math.Min(TextBoxesCount, WaterMetersCount);
+
+ if (WaterMetersCount >= 1) groupBox1.Visible = true;
+ if (WaterMetersCount >= 2) groupBox2.Visible = true;
+ if (WaterMetersCount >= 3) groupBox3.Visible = true;
+
+ for (int i = 0; i < TextBoxesCount; i++)
+ {
+ mainComboBoxes[i].Items.Add(Program.LocalSettings.LastMainSNTexts[i]);
+ mainLabels[i].Visible = mainComboBoxes[i].Visible = true;
+ auxLabels[i].Visible = auxComboBoxes[i].Visible = true;
+ checkBoxes[i].Visible = true;
+ enabledComboBoxes.Add(mainComboBoxes[i]);
+ enabledComboBoxes.Add(auxComboBoxes[i]);
+ }
}
void Localize()
@@ -65,6 +120,7 @@ namespace TBF.BenchControl.DataEntry.Combined
auxSN2Label.Text = Strings.Aux_WM_SerialNr;
auxSN3Label.Text = Strings.Aux_WM_SerialNr;
okButton.Text = Strings.OkBtnText;
+ clearButton.Text = Strings.ClearBtnText;
}
///
@@ -94,25 +150,14 @@ namespace TBF.BenchControl.DataEntry.Combined
#endif
);
- if (cmbndWMsCount >= 1)
- {
- MainSNText[0] = mainSN1TextBox.Text;
- AuxSNText[0] = auxSN1TextBox.Text;
- Disabled[0] = !checkBox1.Checked;
- }
+ Program.LocalSettings.LastMainSNTexts = MainSNText;
+ Program.LocalSettings.LastAuxSNTexts = AuxSNText;
- if (cmbndWMsCount >= 2)
+ for (int i = 0; i < TextBoxesCount; i++)
{
- MainSNText[1] = mainSN2TextBox.Text;
- AuxSNText[1] = auxSN2TextBox.Text;
- Disabled[1] = !checkBox2.Checked;
- }
-
- if (cmbndWMsCount >= 3)
- {
- MainSNText[2] = mainSN3TextBox.Text;
- AuxSNText[2] = auxSN3TextBox.Text;
- Disabled[2] = !checkBox3.Checked;
+ MainSNText[i] = mainComboBoxes[i].Text;
+ AuxSNText[i] = auxComboBoxes[i].Text;
+ Disabled[i] = !checkBoxes[i].Checked;
}
completed = true;
@@ -121,10 +166,87 @@ namespace TBF.BenchControl.DataEntry.Combined
private void clearButton_Click(object sender, EventArgs e)
{
+ for (int i = 0; i < TextBoxesCount; i++)
+ {
+ mainComboBoxes[i].Text = string.Empty;
+ auxComboBoxes[i].Text = string.Empty;
+ checkBoxes[i].Checked = false;
+ }
}
+ ///
+ /// When one combo box is updated using drop-down menu, all combo boxes
+ /// are updated by this function.
+ ///
+ private void UpdateAllCombos()
+ {
+ for (int i = 0; i < TextBoxesCount; i++)
+ {
+ mainComboBoxes[i].Text = Program.LocalSettings.LastMainSNTexts[i];
+ auxComboBoxes[i].Text = Program.LocalSettings.LastAuxSNTexts[i];
+ checkBoxes[i].Checked = !string.IsNullOrEmpty(mainComboBoxes[i].Text)
+ || !string.IsNullOrEmpty(auxComboBoxes[i].Text);
+ }
+ }
+
+
+ private void main1ComboBox_TextChanged(object sender, EventArgs e) { checkBox1.Checked = true; }
+ private void main1ComboBox_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (Program.LocalSettings.LastMainSNTextsCount == WaterMetersCount)
+ {
+ if (main1ComboBox.Text.Equals(main1ComboBox.Items[0])) UpdateAllCombos();
+ }
+ }
+
+ private void aux1ComboBox_TextChanged(object sender, EventArgs e) { checkBox1.Checked = true; }
+ private void aux1ComboBox_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (Program.LocalSettings.LastAuxSNTextsCount == WaterMetersCount)
+ {
+ if (aux1ComboBox.Text.Equals(aux1ComboBox.Items[0])) UpdateAllCombos();
+ }
+ }
+
+ private void main2ComboBox_TextChanged(object sender, EventArgs e) { checkBox2.Checked = true; }
+ private void main2ComboBox_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (Program.LocalSettings.LastMainSNTextsCount == WaterMetersCount)
+ {
+ if (main2ComboBox.Text.Equals(main2ComboBox.Items[0])) UpdateAllCombos();
+ }
+ }
+
+ private void aux2ComboBox_TextChanged(object sender, EventArgs e) { checkBox2.Checked = true; }
+ private void aux2ComboBox_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (Program.LocalSettings.LastAuxSNTextsCount == WaterMetersCount)
+ {
+ if (aux2ComboBox.Text.Equals(aux2ComboBox.Items[0])) UpdateAllCombos();
+ }
+ }
+
+ private void main3ComboBox_TextChanged(object sender, EventArgs e) { checkBox3.Checked = true; }
+ private void main3ComboBox_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (Program.LocalSettings.LastMainSNTextsCount == WaterMetersCount)
+ {
+ if (main3ComboBox.Text.Equals(main3ComboBox.Items[0])) UpdateAllCombos();
+ }
+ }
+
+ private void aux3ComboBox_TextChanged(object sender, EventArgs e) { checkBox3.Checked = true; }
+ private void aux3ComboBox_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (Program.LocalSettings.LastAuxSNTextsCount == WaterMetersCount)
+ {
+ if (aux3ComboBox.Text.Equals(aux3ComboBox.Items[0])) UpdateAllCombos();
+ }
+ }
+
+
#region Forced close handling
public void StartForceCloseHandler()
@@ -143,5 +265,43 @@ namespace TBF.BenchControl.DataEntry.Combined
}
#endregion
+
+
+ ///
+ /// Process a key press within any enabled text boxe
+ ///
+ ///
+ ///
+ /// TextBox control which received the event
+ private void ProcKeyPress(object sender, KeyPressEventArgs e, ComboBox currentFocusOwner)
+ {
+ if (e.KeyChar == '+')
+ {
+ /// Process '+' key ..... Form completed
+ okButton_Click(sender, e);
+ }
+ if (e.KeyChar == '\r')
+ {
+ /// Process key ..... Next text field
+ if (enabledComboBoxes.Count < 2) return; /// There is just one enabled textbox
+
+ for (int i = 0; i < enabledComboBoxes.Count; i++)
+ {
+ if (enabledComboBoxes[i] == currentFocusOwner)
+ {
+ /// Change focus to the next enabled text box
+ enabledComboBoxes[(i + 1) % enabledComboBoxes.Count].Focus();
+ return;
+ }
+ }
+ }
+ }
+
+ private void main1ComboBox_KeyPress(object sender, KeyPressEventArgs e) { ProcKeyPress(sender, e, main1ComboBox); }
+ private void main2ComboBox_KeyPress(object sender, KeyPressEventArgs e) { ProcKeyPress(sender, e, main2ComboBox); }
+ private void main3ComboBox_KeyPress(object sender, KeyPressEventArgs e) { ProcKeyPress(sender, e, main3ComboBox); }
+ private void aux1ComboBox_KeyPress(object sender, KeyPressEventArgs e) { ProcKeyPress(sender, e, aux1ComboBox); }
+ private void aux2ComboBox_KeyPress(object sender, KeyPressEventArgs e) { ProcKeyPress(sender, e, aux2ComboBox); }
+ private void aux3ComboBox_KeyPress(object sender, KeyPressEventArgs e) { ProcKeyPress(sender, e, aux3ComboBox); }
}
}
diff --git a/TestBenchFramework/LocalSettings.cs b/TestBenchFramework/LocalSettings.cs
index 717aa1c8c..4a91fc3f3 100644
--- a/TestBenchFramework/LocalSettings.cs
+++ b/TestBenchFramework/LocalSettings.cs
@@ -127,6 +127,14 @@ namespace TBF
[XmlIgnore]
public int LastSNTextsCount { get { return (LastSNTexts != null) ? LastSNTexts.Length : 0; } }
+ public string[] LastMainSNTexts;
+ [XmlIgnore]
+ public int LastMainSNTextsCount { get { return (LastMainSNTexts != null) ? LastMainSNTexts.Length : 0; } }
+
+ public string[] LastAuxSNTexts;
+ [XmlIgnore]
+ public int LastAuxSNTextsCount { get { return (LastAuxSNTexts != null) ? LastAuxSNTexts.Length : 0; } }
+
/// Purchase order history
public string[] PurchaseOrderHistory;
[XmlIgnore]