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]