Unit selection in UI.Procedures.ProcedureDlg and UI.Procedures.TestWizard, ver. 3.1.1801

This commit is contained in:
Milan Hanajik
2021-11-09 08:48:27 +01:00
parent 5996fda348
commit 0f5c4b083d
15 changed files with 1092 additions and 440 deletions
@@ -32,6 +32,12 @@ namespace TBF.Rig.DataContainer.BenchInfo
public int WaterMetersCount { get { return myCfg.WaterMetersCount; } }
public int LinesCount { get { return myCfg.LinesCount; } }
public int CompoundMetersCount { get { return myCfg.CompoundMetersCount; } }
public Unit VolumeUnit { get { return myCfg.VolumeUnit; } }
public Unit FlowUnit { get { return myCfg.FlowUnit; } }
public Unit MassUnit { get { return myCfg.MassUnit; } }
public Unit TempUnit { get { return myCfg.TempUnit; } }
public Unit PressUnit { get { return myCfg.PressUnit; } }
public Unit LengthUnit { get { return myCfg.LenghtUnit; } }
public ICollection<ProcedureSelection> Source
{
+107 -16
View File
@@ -36,10 +36,16 @@ namespace TBF.Rig.DataContainer.BenchInfo
public int WaterMetersCount; /// 10
public int LinesCount; /// 11
public int CompoundMetersCount; /// 12
public ProcedureSelection Source1; /// 13
public ProcedureSelection Source2; /// 14
public ProcedureSelection Source3; /// 15
public ProcedureSelection Source4; /// 16
public Unit VolumeUnit; /// 13
public Unit FlowUnit; /// 14
public Unit MassUnit; /// 15
public Unit TempUnit; /// 16
public Unit PressUnit; /// 17
public Unit LenghtUnit; /// 18
public ProcedureSelection Source1; /// 19
public ProcedureSelection Source2; /// 20
public ProcedureSelection Source3; /// 21
public ProcedureSelection Source4; /// 22
/// Private parameterless constructor invoked by all other (public) constructors
ComponentCfg() {}
@@ -70,6 +76,12 @@ namespace TBF.Rig.DataContainer.BenchInfo
WaterMetersCount = 20;
LinesCount = 2;
CompoundMetersCount = 1;
VolumeUnit = Unit.l;
FlowUnit = Unit.m3ph;
MassUnit = Unit.kg;
TempUnit = Unit.C;
PressUnit = Unit.bar;
LenghtUnit = Unit.mm;
Source1 = ProcedureSelection.FromLocalDB;
Source2 = ProcedureSelection.None;
Source3 = ProcedureSelection.None;
@@ -91,6 +103,12 @@ namespace TBF.Rig.DataContainer.BenchInfo
"Water meters count", /// 10
"Lines count", /// 11
"Compound meters count", /// 12
"Preffered volume unit",
"Preffered flow unit",
"Preffered mass unit",
"Preffered temperature unit",
"Preffered pressure unit",
"Preffered lenght unit",
"Procedure selection source 1", /// 13
"Procedure selection source 2", /// 14
"Procedure selection source 3", /// 15
@@ -101,6 +119,8 @@ namespace TBF.Rig.DataContainer.BenchInfo
public ICollection<string> ParamValues(int i)
{
var list = new List<string>();
switch (i)
{
case 10:
@@ -111,15 +131,42 @@ namespace TBF.Rig.DataContainer.BenchInfo
return new string[] { "0", "1", "2", "3" };
case 13:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Volume))
list.Add(unit.ToDescription());
return list;
case 14:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Flow))
list.Add(unit.ToDescription());
return list;
case 15:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Mass))
list.Add(unit.ToDescription());
return list;
case 16:
IList<string> items = new List<string>();
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Temperature))
list.Add(unit.ToDescription());
return list;
case 17:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Pressure))
list.Add(unit.ToDescription());
return list;
case 18:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Length))
list.Add(unit.ToDescription());
return list;
case 19:
case 20:
case 21:
case 22:
for (ProcedureSelection src = 0; src < ProcedureSelection.Count; src++)
{
items.Add(src.ToDescription());
}
return items;
list.Add(src.ToDescription());
return list;
default:
return null;
@@ -143,10 +190,16 @@ namespace TBF.Rig.DataContainer.BenchInfo
case 10: return WaterMetersCount.ToString();
case 11: return LinesCount.ToString();
case 12: return CompoundMetersCount.ToString();
case 13: return Source1.ToDescription();
case 14: return Source2.ToDescription();
case 15: return Source3.ToDescription();
case 16: return Source4.ToDescription();
case 13: return VolumeUnit.ToDescription();
case 14: return FlowUnit.ToDescription();
case 15: return MassUnit.ToDescription();
case 16: return TempUnit.ToDescription();
case 17: return PressUnit.ToDescription();
case 18: return LenghtUnit.ToDescription();
case 19: return Source1.ToDescription();
case 20: return Source2.ToDescription();
case 21: return Source3.ToDescription();
case 22: return Source4.ToDescription();
default:
return string.Format("{0}: Bench={1}, ID={2}, Mtrs={3}, Lines={4}, Compund mtrs={5}, S1={6}, S2={7}, S3={8}, S4={9}",
Name, TestBenchName, TestBenchId, WaterMetersCount, LinesCount, CompoundMetersCount, Source1, Source2, Source3, Source4);
@@ -172,27 +225,51 @@ namespace TBF.Rig.DataContainer.BenchInfo
case 12: CompoundMetersCount = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
case 13:
VolumeUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 14:
FlowUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 15:
MassUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 16:
TempUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 17:
PressUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 18:
LenghtUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 19:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source1 = source; return CfgUpdateFlags.RestartRqrd; }
}
break;
case 14:
case 20:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source2 = source; return CfgUpdateFlags.RestartRqrd; }
}
break;
case 15:
case 21:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source3 = source; return CfgUpdateFlags.RestartRqrd; }
}
break;
case 16:
case 22:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source4 = source; return CfgUpdateFlags.RestartRqrd; }
@@ -237,6 +314,14 @@ namespace TBF.Rig.DataContainer.BenchInfo
case 14:
case 15:
case 16:
case 17:
case 18:
if (ParamValues(i).Contains(str)) return true;
break;
case 19:
case 20:
case 21:
case 22:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) return true;
@@ -266,6 +351,12 @@ namespace TBF.Rig.DataContainer.BenchInfo
prms.WaterMetersCount = this.WaterMetersCount;
prms.LinesCount = this.LinesCount;
prms.CompoundMetersCount = this.CompoundMetersCount;
prms.VolumeUnit = this.VolumeUnit;
prms.FlowUnit = this.FlowUnit;
prms.MassUnit = this.MassUnit;
prms.TempUnit = this.TempUnit;
prms.PressUnit = this.PressUnit;
prms.LenghtUnit = this.LenghtUnit;
prms.Source1 = this.Source1;
prms.Source2 = this.Source2;
prms.Source3 = this.Source3;
@@ -33,6 +33,12 @@ namespace TBF.Rig.DataContainer.iPerlBenchInfo
public int WaterMetersCount { get { return myCfg.WaterMetersCount; } }
public int LinesCount { get { return myCfg.LinesCount; } }
public int CompoundMetersCount { get { return myCfg.CompoundMetersCount; } }
public Unit VolumeUnit { get { return myCfg.VolumeUnit; } }
public Unit FlowUnit { get { return myCfg.FlowUnit; } }
public Unit MassUnit { get { return myCfg.MassUnit; } }
public Unit TempUnit { get { return myCfg.TempUnit; } }
public Unit PressUnit { get { return myCfg.PressUnit; } }
public Unit LengthUnit { get { return myCfg.LenghtUnit; } }
public Side Side { get { return myCfg.Side; } }
public int MaxTestIndex { get { return myCfg.MaxTestIndex; } } /// (MaxPruefindex % 100) value when to reject water meters completely if they are NOK
@@ -37,12 +37,18 @@ namespace TBF.Rig.DataContainer.iPerlBenchInfo
public int WaterMetersCount; /// 10
public int LinesCount; /// 11
public int CompoundMetersCount; /// 12
public Side Side; /// 13
public int MaxTestIndex; /// 14 (MaxPruefindex % 100) value when to reject water meters completely if they are NOK
public ProcedureSelection Source1; /// 15
public ProcedureSelection Source2; /// 16
public ProcedureSelection Source3; /// 17
public ProcedureSelection Source4; /// 18
public Unit VolumeUnit;
public Unit FlowUnit;
public Unit MassUnit;
public Unit TempUnit;
public Unit PressUnit;
public Unit LenghtUnit;
public Side Side; /// 19
public int MaxTestIndex; /// 20 (MaxPruefindex % 100) value when to reject water meters completely if they are NOK
public ProcedureSelection Source1; /// 21
public ProcedureSelection Source2; /// 22
public ProcedureSelection Source3; /// 23
public ProcedureSelection Source4; /// 24
/// Calibration info serialized parameters displayed in Metrology tab page
string calibCertificateNr;
@@ -94,6 +100,12 @@ namespace TBF.Rig.DataContainer.iPerlBenchInfo
WaterMetersCount = 20;
LinesCount = 2;
CompoundMetersCount = 1;
VolumeUnit = Unit.l;
FlowUnit = Unit.m3ph;
MassUnit = Unit.kg;
TempUnit = Unit.C;
PressUnit = Unit.bar;
LenghtUnit = Unit.mm;
Side = Side.Left;
MaxTestIndex = 4;
Source1 = ProcedureSelection.FromSharedDB;
@@ -117,18 +129,26 @@ namespace TBF.Rig.DataContainer.iPerlBenchInfo
"Water meters count", /// 10
"Lines count", /// 11
"Compound meters count", /// 12
Strings.Side, /// 13
"Max.test index", /// 14
"Procedure selection source 1", /// 15
"Procedure selection source 2", /// 16
"Procedure selection source 3", /// 17
"Procedure selection source 4", /// 18
"Preffered volume unit",
"Preffered flow unit",
"Preffered mass unit",
"Preffered temperature unit",
"Preffered pressure unit",
"Preffered lenght unit",
Strings.Side, /// 19
"Max.test index", /// 20
"Procedure selection source 1", /// 21
"Procedure selection source 2", /// 22
"Procedure selection source 3", /// 23
"Procedure selection source 4", /// 24
};
public string ParamName(int i) { return paramNames[i]; }
public int ParamsCount() { return paramNames.Length; }
public ICollection<string> ParamValues(int i)
{
var list = new List<string>();
switch (i)
{
case 10:
@@ -138,20 +158,47 @@ namespace TBF.Rig.DataContainer.iPerlBenchInfo
case 12:
return new string[] { "0", "1", "2", "3" };
case 13:
IList<string> list = new List<string>();
for (Side side = 0; side < Side.Count; side++) list.Add(side.ToDescription());
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Volume))
list.Add(unit.ToDescription());
return list;
case 14:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Flow))
list.Add(unit.ToDescription());
return list;
case 15:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Mass))
list.Add(unit.ToDescription());
return list;
case 16:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Temperature))
list.Add(unit.ToDescription());
return list;
case 17:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Pressure))
list.Add(unit.ToDescription());
return list;
case 18:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Length))
list.Add(unit.ToDescription());
return list;
case 19:
for (Side side = 0; side < Side.Count; side++)
list.Add(side.ToDescription());
return list;
case 15:
case 16:
case 17:
case 18:
IList<string> items = new List<string>();
case 21:
case 22:
case 23:
case 24:
for (ProcedureSelection src = 0; src < ProcedureSelection.Count; src++)
{
items.Add(src.ToDescription());
}
return items;
list.Add(src.ToDescription());
return list;
default:
return null;
@@ -175,12 +222,18 @@ namespace TBF.Rig.DataContainer.iPerlBenchInfo
case 10: return WaterMetersCount.ToString();
case 11: return LinesCount.ToString();
case 12: return CompoundMetersCount.ToString();
case 13: return Side.ToDescription();
case 14: return MaxTestIndex.ToString();
case 15: return Source1.ToDescription();
case 16: return Source2.ToDescription();
case 17: return Source3.ToDescription();
case 18: return Source4.ToDescription();
case 13: return VolumeUnit.ToDescription();
case 14: return FlowUnit.ToDescription();
case 15: return MassUnit.ToDescription();
case 16: return TempUnit.ToDescription();
case 17: return PressUnit.ToDescription();
case 18: return LenghtUnit.ToDescription();
case 19: return Side.ToDescription();
case 20: return MaxTestIndex.ToString();
case 21: return Source1.ToDescription();
case 22: return Source2.ToDescription();
case 23: return Source3.ToDescription();
case 24: return Source4.ToDescription();
default:
return string.Format("{0}: Bench={1}, ID={2}, Mtrs={3}, Lines={4}, Compund mtrs={5}, S1={6}, S2={7}, S3={8}, S4={9}",
Name, TestBenchName, TestBenchId, WaterMetersCount, LinesCount, CompoundMetersCount, Source1, Source2, Source3, Source4);
@@ -206,6 +259,30 @@ namespace TBF.Rig.DataContainer.iPerlBenchInfo
case 12: CompoundMetersCount = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
case 13:
VolumeUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 14:
FlowUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 15:
MassUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 16:
TempUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 17:
PressUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 18:
LenghtUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 19:
for (Side side = 0; side < Side.Count; side++)
{
if (str == side.ToDescription())
@@ -223,30 +300,30 @@ namespace TBF.Rig.DataContainer.iPerlBenchInfo
}
return CfgUpdateFlags.Error;
case 14: MaxTestIndex = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
case 20: MaxTestIndex = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
case 15:
case 21:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source1 = source; return CfgUpdateFlags.RestartRqrd; }
}
break;
case 16:
case 22:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source2 = source; return CfgUpdateFlags.RestartRqrd; }
}
break;
case 17:
case 23:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source3 = source; return CfgUpdateFlags.RestartRqrd; }
}
break;
case 18:
case 24:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source4 = source; return CfgUpdateFlags.RestartRqrd; }
@@ -286,18 +363,26 @@ namespace TBF.Rig.DataContainer.iPerlBenchInfo
if (int.TryParse(str, out idummy) && idummy >= 0 && idummy <= 3) return true;
break;
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
if (ParamValues(i).Contains(str)) return true;
break;
case 19:
for (Side side = 0; side < Side.Count; side++)
{
if (str == side.ToDescription()) return true;
}
break;
case 14:
case 20:
if (int.TryParse(str, out idummy) && (idummy >= 0)) return true;
break;
case 15:
case 16:
case 17:
case 18:
case 21:
case 22:
case 23:
case 24:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) return true;
@@ -327,6 +412,12 @@ namespace TBF.Rig.DataContainer.iPerlBenchInfo
prms.WaterMetersCount = this.WaterMetersCount;
prms.LinesCount = this.LinesCount;
prms.CompoundMetersCount = this.CompoundMetersCount;
prms.VolumeUnit = this.VolumeUnit;
prms.FlowUnit = this.FlowUnit;
prms.MassUnit = this.MassUnit;
prms.TempUnit = this.TempUnit;
prms.PressUnit = this.PressUnit;
prms.LenghtUnit = this.LenghtUnit;
prms.Side = this.Side;
prms.MaxTestIndex = this.MaxTestIndex;
prms.Source1 = this.Source1;