Configuration of result items for device=harddisk added

This commit is contained in:
Milan Hanajik
2015-01-18 11:22:53 +01:00
parent ad665e5f0b
commit 3393827653
5 changed files with 98 additions and 71 deletions
+7
View File
@@ -46,6 +46,13 @@ namespace TBF.Entities
Count,
}
public enum Device
{
Screen,
Printer,
Disk,
}
/// <summary>
/// Possible modes of operation of components and devices.
/// </summary>
+19 -4
View File
@@ -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;
}
}
+52 -67
View File
@@ -38,17 +38,19 @@ namespace TBF.Forms
public IList<ResultItemSpec> RsltItems_Screen_CombinedWM;
public IList<ResultItemSpec> RsltItems_Printer_SingleWM;
public IList<ResultItemSpec> RsltItems_Printer_CombinedWM;
public IList<ResultItemSpec> RsltItems_Disk_SingleWM;
public IList<ResultItemSpec> 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();
}
/// <summary>
/// Gets the list of selected items based on watermeter type and device selections
/// </summary>
/// <returns>List of selected result items</returns>
IList<ResultItemSpec> 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;
}
}
}
/// <summary>
/// Redraw selected items (right hand side)
/// </summary>
void RedrawAvailable()
{
IList<ResultItemSpec> 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<ResultItemSpec>();
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
/// </summary>
void RedrawSelected()
{
IList<ResultItemSpec> 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();
}
+10
View File
@@ -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];
@@ -21,6 +21,8 @@ namespace TBF.Screens
public IList<TBF.Forms.ResultItemSpec> RsltItems_Screen_CombinedWM;
public IList<TBF.Forms.ResultItemSpec> RsltItems_Printer_SingleWM;
public IList<TBF.Forms.ResultItemSpec> RsltItems_Printer_CombinedWM;
public IList<TBF.Forms.ResultItemSpec> RsltItems_Disk_SingleWM;
public IList<TBF.Forms.ResultItemSpec> RsltItems_Disk_CombinedWM;
IList<Entities.Test> tests;
IList<Entities.TestResult> 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();