Results configuration with new parameter 'Nr. meters in a group'. Version 1.4.40
This commit is contained in:
@@ -19,6 +19,7 @@ namespace TBF.Screens
|
||||
|
||||
public TBF.Forms.ResultsConfig.Meters MetersArrangement;
|
||||
public TBF.Forms.ResultsConfig.TestsAre TestsArrangement;
|
||||
public int NrMetersInOneGroup;
|
||||
|
||||
public IList<TBF.Forms.ResultItemSpec> RsltItems_Screen_SingleWM;
|
||||
public IList<TBF.Forms.ResultItemSpec> RsltItems_Screen_CombinedWM;
|
||||
@@ -68,6 +69,7 @@ namespace TBF.Screens
|
||||
|
||||
MetersArrangement = Program.LocalSettings.ResultsConfigMeters;
|
||||
TestsArrangement = Program.LocalSettings.ResultsConfigTests;
|
||||
NrMetersInOneGroup = Program.LocalSettings.ResultsConfigMetersInOneGroup;
|
||||
RsltItems_Screen_SingleWM = Forms.ResultItemSpec.FromStrArray(Program.LocalSettings.RsltItems_Screen_SingleWM);
|
||||
RsltItems_Screen_CombinedWM = Forms.ResultItemSpec.FromStrArray(Program.LocalSettings.RsltItems_Screen_CombinedWM);
|
||||
RsltItems_Printer_SingleWM = Forms.ResultItemSpec.FromStrArray(Program.LocalSettings.RsltItems_Printer_SingleWM);
|
||||
@@ -86,6 +88,7 @@ namespace TBF.Screens
|
||||
TBF.Forms.ResultsConfig dlg = new TBF.Forms.ResultsConfig();
|
||||
dlg.TestsArrangement = TestsArrangement;
|
||||
dlg.MetersArrangement = MetersArrangement;
|
||||
dlg.NrMetersInOneGroup = NrMetersInOneGroup;
|
||||
dlg.RsltItems_Screen_SingleWM = RsltItems_Screen_SingleWM;
|
||||
dlg.RsltItems_Screen_CombinedWM = RsltItems_Screen_CombinedWM;
|
||||
dlg.RsltItems_Printer_SingleWM = RsltItems_Printer_SingleWM;
|
||||
@@ -96,6 +99,7 @@ namespace TBF.Screens
|
||||
{
|
||||
MetersArrangement = dlg.MetersArrangement;
|
||||
TestsArrangement = dlg.TestsArrangement;
|
||||
NrMetersInOneGroup = dlg.NrMetersInOneGroup;
|
||||
RsltItems_Screen_SingleWM = dlg.RsltItems_Screen_SingleWM;
|
||||
RsltItems_Screen_CombinedWM = dlg.RsltItems_Screen_CombinedWM;
|
||||
RsltItems_Printer_SingleWM = dlg.RsltItems_Printer_SingleWM;
|
||||
@@ -105,6 +109,7 @@ namespace TBF.Screens
|
||||
|
||||
Program.LocalSettings.ResultsConfigMeters = MetersArrangement;
|
||||
Program.LocalSettings.ResultsConfigTests = TestsArrangement;
|
||||
Program.LocalSettings.ResultsConfigMetersInOneGroup = NrMetersInOneGroup;
|
||||
Program.LocalSettings.RsltItems_Screen_SingleWM = Forms.ResultItemSpec.ToStrArray(RsltItems_Screen_SingleWM);
|
||||
Program.LocalSettings.RsltItems_Screen_CombinedWM = Forms.ResultItemSpec.ToStrArray(RsltItems_Screen_CombinedWM);
|
||||
Program.LocalSettings.RsltItems_Printer_SingleWM = Forms.ResultItemSpec.ToStrArray(RsltItems_Printer_SingleWM);
|
||||
@@ -138,8 +143,6 @@ namespace TBF.Screens
|
||||
(testResults[0].MetersKind == Entities.MetersKind.Combined));
|
||||
|
||||
this.SuspendLayout();
|
||||
lvWidth = flowLayoutPanel.Width - 10;
|
||||
lvHeight = flowLayoutPanel.Height - 10;
|
||||
|
||||
/// Determine how many water meters were enabled for result evaluation and printing
|
||||
int enabledWMsCount = 0;
|
||||
@@ -156,15 +159,20 @@ namespace TBF.Screens
|
||||
}
|
||||
}
|
||||
|
||||
int metersInOneGroup = Math.Max(1, Math.Min(enabledWMsCount, NrMetersInOneGroup));
|
||||
int nrGroups = Math.Max(1, (enabledWMsCount + NrMetersInOneGroup - 1) / NrMetersInOneGroup);
|
||||
|
||||
if (MetersArrangement == Forms.ResultsConfig.Meters.Horizontally)
|
||||
{
|
||||
flowLayoutPanel.FlowDirection = FlowDirection.LeftToRight;
|
||||
lvWidth = (lvWidth + 5) / Math.Max(enabledWMsCount, 1) - 5;
|
||||
lvWidth = (lvWidth + 5) / metersInOneGroup - 5;
|
||||
lvHeight = (flowLayoutPanel.Height + 5) / nrGroups - 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
flowLayoutPanel.FlowDirection = FlowDirection.TopDown;
|
||||
lvHeight = (lvHeight + 5) / Math.Max(enabledWMsCount, 1) - 5;
|
||||
lvWidth = (flowLayoutPanel.Width + 5) / nrGroups - 5;
|
||||
lvHeight = (lvHeight + 5) /metersInOneGroup - 5;
|
||||
}
|
||||
flowLayoutPanel.Controls.Clear();
|
||||
flowLayoutPanel.WrapContents = false;
|
||||
|
||||
Reference in New Issue
Block a user