diff --git a/TestBenchFramework/Entities/Enums.cs b/TestBenchFramework/Entities/Enums.cs
index 5dc70d7a2..717063593 100644
--- a/TestBenchFramework/Entities/Enums.cs
+++ b/TestBenchFramework/Entities/Enums.cs
@@ -46,6 +46,13 @@ namespace TBF.Entities
Count,
}
+ public enum Device
+ {
+ Screen,
+ Printer,
+ Disk,
+ }
+
///
/// Possible modes of operation of components and devices.
///
diff --git a/TestBenchFramework/Forms/ResultsConfig.Designer.cs b/TestBenchFramework/Forms/ResultsConfig.Designer.cs
index ecdfd87b6..0c7215cec 100644
--- a/TestBenchFramework/Forms/ResultsConfig.Designer.cs
+++ b/TestBenchFramework/Forms/ResultsConfig.Designer.cs
@@ -50,6 +50,7 @@
this.printerRadioButton = new System.Windows.Forms.RadioButton();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.diskRadioButton = new System.Windows.Forms.RadioButton();
this.testsArangementGroupBox.SuspendLayout();
this.metersArangementGroupBox.SuspendLayout();
this.groupBox1.SuspendLayout();
@@ -262,7 +263,7 @@
this.screenRadioButton.Appearance = System.Windows.Forms.Appearance.Button;
this.screenRadioButton.AutoSize = true;
this.screenRadioButton.Checked = true;
- this.screenRadioButton.Location = new System.Drawing.Point(29, 24);
+ this.screenRadioButton.Location = new System.Drawing.Point(18, 24);
this.screenRadioButton.Name = "screenRadioButton";
this.screenRadioButton.Size = new System.Drawing.Size(51, 23);
this.screenRadioButton.TabIndex = 50;
@@ -275,7 +276,7 @@
//
this.printerRadioButton.Appearance = System.Windows.Forms.Appearance.Button;
this.printerRadioButton.AutoSize = true;
- this.printerRadioButton.Location = new System.Drawing.Point(86, 24);
+ this.printerRadioButton.Location = new System.Drawing.Point(75, 24);
this.printerRadioButton.Name = "printerRadioButton";
this.printerRadioButton.Size = new System.Drawing.Size(47, 23);
this.printerRadioButton.TabIndex = 51;
@@ -296,15 +297,28 @@
//
// groupBox2
//
+ this.groupBox2.Controls.Add(this.diskRadioButton);
this.groupBox2.Controls.Add(this.printerRadioButton);
this.groupBox2.Controls.Add(this.screenRadioButton);
- this.groupBox2.Location = new System.Drawing.Point(220, 176);
+ this.groupBox2.Location = new System.Drawing.Point(176, 176);
this.groupBox2.Name = "groupBox2";
- this.groupBox2.Size = new System.Drawing.Size(166, 60);
+ this.groupBox2.Size = new System.Drawing.Size(210, 60);
this.groupBox2.TabIndex = 0;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Device";
//
+ // diskRadioButton
+ //
+ this.diskRadioButton.Appearance = System.Windows.Forms.Appearance.Button;
+ this.diskRadioButton.AutoSize = true;
+ this.diskRadioButton.Location = new System.Drawing.Point(128, 24);
+ this.diskRadioButton.Name = "diskRadioButton";
+ this.diskRadioButton.Size = new System.Drawing.Size(64, 23);
+ this.diskRadioButton.TabIndex = 52;
+ this.diskRadioButton.Text = "Hard Disk";
+ this.diskRadioButton.UseVisualStyleBackColor = true;
+ this.diskRadioButton.CheckedChanged += new System.EventHandler(this.diskRadioButton_CheckedChanged);
+ //
// ResultsConfig
//
this.AcceptButton = this.okButton;
@@ -367,5 +381,6 @@
private System.Windows.Forms.RadioButton printerRadioButton;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.GroupBox groupBox2;
+ private System.Windows.Forms.RadioButton diskRadioButton;
}
}
\ No newline at end of file
diff --git a/TestBenchFramework/Forms/ResultsConfig.cs b/TestBenchFramework/Forms/ResultsConfig.cs
index 916a30f8b..9d0eb3895 100644
--- a/TestBenchFramework/Forms/ResultsConfig.cs
+++ b/TestBenchFramework/Forms/ResultsConfig.cs
@@ -38,17 +38,19 @@ namespace TBF.Forms
public IList RsltItems_Screen_CombinedWM;
public IList RsltItems_Printer_SingleWM;
public IList RsltItems_Printer_CombinedWM;
+ public IList RsltItems_Disk_SingleWM;
+ public IList RsltItems_Disk_CombinedWM;
- bool combined; /// false = single meter items, true = combined meter items
- bool printer; /// false = screen items, true = printer items
- bool unlocked; /// true = changes enabled
+ bool combined; /// false = single meter items, true = combined meter items
+ Entities.Device device; /// Screen, Printer or Disk
+ bool unlocked; /// true = changes enabled
public ResultsConfig()
{
InitializeComponent();
combined = false;
- printer = false;
+ device = Entities.Device.Screen;
unlocked = false;
cancelButton.Visible = false;
}
@@ -92,20 +94,44 @@ namespace TBF.Forms
RedrawSelected();
}
+ ///
+ /// Gets the list of selected items based on watermeter type and device selections
+ ///
+ /// List of selected result items
+ IList GetSelectedItems()
+ {
+ if (combined)
+ {
+ switch (device)
+ {
+ default:
+ case Entities.Device.Screen: return RsltItems_Screen_CombinedWM;
+ case Entities.Device.Printer: return RsltItems_Printer_CombinedWM;
+ case Entities.Device.Disk: return RsltItems_Disk_CombinedWM;
+ }
+ }
+ else
+ {
+ switch (device)
+ {
+ default:
+ case Entities.Device.Screen: return RsltItems_Screen_SingleWM;
+ case Entities.Device.Printer: return RsltItems_Printer_SingleWM;
+ case Entities.Device.Disk: return RsltItems_Disk_SingleWM;
+ }
+ }
+ }
+
///
/// Redraw selected items (right hand side)
///
void RedrawAvailable()
{
- IList selectedItems;
- if (printer) selectedItems = combined ? RsltItems_Printer_CombinedWM : RsltItems_Printer_SingleWM;
- else selectedItems = combined ? RsltItems_Screen_CombinedWM : RsltItems_Screen_SingleWM;
-
availableResultsListBox.Items.Clear();
currentlyAvailableItems = new List();
foreach (var item in ResultItemSpec.AllItems)
{
- if (!selectedItems.Contains(item) && (combined ? (item.PrintCombined != null) : (item.Print != null)))
+ if (!GetSelectedItems().Contains(item) && (combined ? (item.PrintCombined != null) : (item.Print != null)))
{
currentlyAvailableItems.Add(item);
availableResultsListBox.Items.Add(item.Name);
@@ -118,12 +144,8 @@ namespace TBF.Forms
///
void RedrawSelected()
{
- IList selectedItems;
- if (printer) selectedItems = combined ? RsltItems_Printer_CombinedWM : RsltItems_Printer_SingleWM;
- else selectedItems = combined ? RsltItems_Screen_CombinedWM : RsltItems_Screen_SingleWM;
-
selectedResultsListBox.Items.Clear();
- foreach (var item in selectedItems)
+ foreach (var item in GetSelectedItems())
{
selectedResultsListBox.Items.Add(item.Name);
}
@@ -181,16 +203,7 @@ namespace TBF.Forms
if (availableResultsListBox.SelectedIndices.Count == 1)
{
var item = currentlyAvailableItems[availableResultsListBox.SelectedIndices[0]];
- if (combined)
- {
- if (printer) RsltItems_Printer_CombinedWM.Add(item);
- else RsltItems_Screen_CombinedWM.Add(item);
- }
- else
- {
- if (printer) RsltItems_Printer_SingleWM.Add(item);
- else RsltItems_Screen_SingleWM.Add(item);
- }
+ GetSelectedItems().Add(item);
RedrawAvailable();
RedrawSelected();
}
@@ -204,16 +217,7 @@ namespace TBF.Forms
for (int i = availableResultsListBox.SelectedIndices.Count - 1; i >= 0; i--)
{
var item = currentlyAvailableItems[availableResultsListBox.SelectedIndices[i]];
- if (combined)
- {
- if (printer) RsltItems_Printer_CombinedWM.Add(item);
- else RsltItems_Screen_CombinedWM.Add(item);
- }
- else
- {
- if (printer) RsltItems_Printer_SingleWM.Add(item);
- else RsltItems_Screen_SingleWM.Add(item);
- }
+ GetSelectedItems().Add(item);
}
RedrawAvailable();
RedrawSelected();
@@ -225,16 +229,7 @@ namespace TBF.Forms
if (selectedResultsListBox.SelectedIndices.Count == 1)
{
- if (combined)
- {
- if (printer) RsltItems_Printer_CombinedWM.RemoveAt(selectedResultsListBox.SelectedIndices[0]);
- else RsltItems_Screen_CombinedWM.RemoveAt(selectedResultsListBox.SelectedIndices[0]);
- }
- else
- {
- if (printer) RsltItems_Printer_SingleWM.RemoveAt(selectedResultsListBox.SelectedIndices[0]);
- else RsltItems_Screen_SingleWM.RemoveAt(selectedResultsListBox.SelectedIndices[0]);
- }
+ GetSelectedItems().RemoveAt(selectedResultsListBox.SelectedIndices[0]);
RedrawAvailable();
RedrawSelected();
}
@@ -246,18 +241,7 @@ namespace TBF.Forms
for (int i = selectedResultsListBox.SelectedIndices.Count - 1; i >= 0; i--)
{
- if (combined)
- {
- ResultItemSpec item = RsltItems_Screen_CombinedWM[selectedResultsListBox.SelectedIndices[i]];
- if (printer) RsltItems_Printer_CombinedWM.Remove(item);
- else RsltItems_Screen_CombinedWM.Remove(item);
- }
- else
- {
- ResultItemSpec item = RsltItems_Screen_SingleWM[selectedResultsListBox.SelectedIndices[i]];
- if (printer) RsltItems_Printer_SingleWM.Remove(item);
- else RsltItems_Screen_SingleWM.Remove(item);
- }
+ GetSelectedItems().RemoveAt(selectedResultsListBox.SelectedIndices[i]);
}
RedrawAvailable();
RedrawSelected();
@@ -267,16 +251,7 @@ namespace TBF.Forms
{
/// Remove all items from 'Selected' list
- if (combined)
- {
- if (printer) RsltItems_Printer_CombinedWM.Clear();
- else RsltItems_Screen_CombinedWM.Clear();
- }
- else
- {
- if (printer) RsltItems_Printer_SingleWM.Clear();
- else RsltItems_Screen_SingleWM.Clear();
- }
+ GetSelectedItems().Clear();
RedrawAvailable();
RedrawSelected();
}
@@ -294,11 +269,21 @@ namespace TBF.Forms
private void screenRadioButton_CheckedChanged(object sender, EventArgs e)
{
+ if (screenRadioButton.Checked) device = Entities.Device.Screen;
+ RedrawAvailable();
+ RedrawSelected();
}
private void printerRadioButton_CheckedChanged(object sender, EventArgs e)
{
- printer = printerRadioButton.Checked;
+ if (printerRadioButton.Checked) device = Entities.Device.Printer;
+ RedrawAvailable();
+ RedrawSelected();
+ }
+
+ private void diskRadioButton_CheckedChanged(object sender, EventArgs e)
+ {
+ if (diskRadioButton.Checked) device = Entities.Device.Disk;
RedrawAvailable();
RedrawSelected();
}
diff --git a/TestBenchFramework/LocalSettings.cs b/TestBenchFramework/LocalSettings.cs
index 026be00e0..ea17cdfc8 100644
--- a/TestBenchFramework/LocalSettings.cs
+++ b/TestBenchFramework/LocalSettings.cs
@@ -134,6 +134,8 @@ namespace TBF
public string[] RsltItems_Screen_CombinedWM;
public string[] RsltItems_Printer_SingleWM;
public string[] RsltItems_Printer_CombinedWM;
+ public string[] RsltItems_Disk_SingleWM;
+ public string[] RsltItems_Disk_CombinedWM;
[XmlArrayAttribute("RsltsSingleClmnWdths")]
public int[] RsltsSingleClmnWdths;
@@ -236,6 +238,14 @@ namespace TBF
RsltItems_Printer_CombinedWM = new string[count];
for (int i = 0; i < count; i++) RsltItems_Printer_CombinedWM[i] = ls.RsltItems_Printer_CombinedWM[i];
+ count = (ls.RsltItems_Disk_SingleWM != null) ? ls.RsltItems_Disk_SingleWM.Length : 0;
+ RsltItems_Disk_SingleWM = new string[count];
+ for (int i = 0; i < count; i++) RsltItems_Disk_SingleWM[i] = ls.RsltItems_Disk_SingleWM[i];
+
+ count = (ls.RsltItems_Disk_CombinedWM != null) ? ls.RsltItems_Disk_CombinedWM.Length : 0;
+ RsltItems_Disk_CombinedWM = new string[count];
+ for (int i = 0; i < count; i++) RsltItems_Disk_CombinedWM[i] = ls.RsltItems_Disk_CombinedWM[i];
+
RsltsSingleClmnWdths = new int[ls.RsltsSingleClmnCount];
for (int i = 0; i < RsltsSingleClmnCount; i++)
RsltsSingleClmnWdths[i] = ls.RsltsSingleClmnWdths[i];
diff --git a/TestBenchFramework/Screens/ResultsTabPageCtrl.cs b/TestBenchFramework/Screens/ResultsTabPageCtrl.cs
index 98d54d8a6..e39f17245 100644
--- a/TestBenchFramework/Screens/ResultsTabPageCtrl.cs
+++ b/TestBenchFramework/Screens/ResultsTabPageCtrl.cs
@@ -21,6 +21,8 @@ namespace TBF.Screens
public IList RsltItems_Screen_CombinedWM;
public IList RsltItems_Printer_SingleWM;
public IList RsltItems_Printer_CombinedWM;
+ public IList RsltItems_Disk_SingleWM;
+ public IList RsltItems_Disk_CombinedWM;
IList tests;
IList testResults;
@@ -67,6 +69,8 @@ namespace TBF.Screens
RsltItems_Screen_CombinedWM = Forms.ResultItemSpec.FromStrArray(Program.LocalSettings.RsltItems_Screen_CombinedWM);
RsltItems_Printer_SingleWM = Forms.ResultItemSpec.FromStrArray(Program.LocalSettings.RsltItems_Printer_SingleWM);
RsltItems_Printer_CombinedWM = Forms.ResultItemSpec.FromStrArray(Program.LocalSettings.RsltItems_Printer_CombinedWM);
+ RsltItems_Disk_SingleWM = Forms.ResultItemSpec.FromStrArray(Program.LocalSettings.RsltItems_Disk_SingleWM);
+ RsltItems_Disk_CombinedWM = Forms.ResultItemSpec.FromStrArray(Program.LocalSettings.RsltItems_Disk_CombinedWM);
RedrawAll();
}
@@ -83,6 +87,8 @@ namespace TBF.Screens
dlg.RsltItems_Screen_CombinedWM = RsltItems_Screen_CombinedWM;
dlg.RsltItems_Printer_SingleWM = RsltItems_Printer_SingleWM;
dlg.RsltItems_Printer_CombinedWM = RsltItems_Printer_CombinedWM;
+ dlg.RsltItems_Disk_SingleWM = RsltItems_Disk_SingleWM;
+ dlg.RsltItems_Disk_CombinedWM = RsltItems_Disk_CombinedWM;
if (DialogResult.OK == dlg.ShowDialog())
{
MetersArrangement = dlg.MetersArrangement;
@@ -91,6 +97,8 @@ namespace TBF.Screens
RsltItems_Screen_CombinedWM = dlg.RsltItems_Screen_CombinedWM;
RsltItems_Printer_SingleWM = dlg.RsltItems_Printer_SingleWM;
RsltItems_Printer_CombinedWM = dlg.RsltItems_Printer_CombinedWM;
+ RsltItems_Disk_SingleWM = dlg.RsltItems_Disk_SingleWM;
+ RsltItems_Disk_CombinedWM = dlg.RsltItems_Disk_CombinedWM;
Program.LocalSettings.ResultsConfigMeters = MetersArrangement;
Program.LocalSettings.ResultsConfigTests = TestsArrangement;
@@ -98,6 +106,8 @@ namespace TBF.Screens
Program.LocalSettings.RsltItems_Screen_CombinedWM = Forms.ResultItemSpec.ToStrArray(RsltItems_Screen_CombinedWM);
Program.LocalSettings.RsltItems_Printer_SingleWM = Forms.ResultItemSpec.ToStrArray(RsltItems_Printer_SingleWM);
Program.LocalSettings.RsltItems_Printer_CombinedWM = Forms.ResultItemSpec.ToStrArray(RsltItems_Printer_CombinedWM);
+ Program.LocalSettings.RsltItems_Disk_SingleWM = Forms.ResultItemSpec.ToStrArray(RsltItems_Disk_SingleWM);
+ Program.LocalSettings.RsltItems_Disk_CombinedWM = Forms.ResultItemSpec.ToStrArray(RsltItems_Disk_CombinedWM);
Program.LocalSettings.Save();
}
RedrawAll();