Compare commits

..
Author SHA1 Message Date
Milan Hanajik 01e56950c8 Reconfigured for GENESIS 2018-01-24 14:29:02 +01:00
1382 changed files with 6945 additions and 10147 deletions
+2 -4
View File
@@ -6,14 +6,12 @@ Dirichlet.Numerics/bin
Dirichlet.Numerics/obj
GraphLib/bin
GraphLib/obj
MonitoringDB/bin
MonitoringDB/obj
Results/bin/
Results/obj/
ResultsBrowser/bin/
ResultsBrowser/obj/
TBF/bin/
TBF/obj/
TestBenchFramework/bin/
TestBenchFramework/obj/
TBFSetup/Debug/
TBFSetup/Release/
Users/bin/
+2 -2
View File
@@ -14,7 +14,7 @@ namespace Config
public const int CompoundWMsCount = 1;
public const int HeatMetersCount = 0;
public const int MaxPartNr = 3;
#elif DN100 || BADGER_STREDNA_TRAT || BADGER_VELKA_TRAT
#elif DN100 || BADGER_VELKA_TRAT
public const int WMsCount = 3;
public const int LineSize = 3;
public const int CompoundWMsCount = 1;
@@ -76,7 +76,7 @@ namespace Config
public const int MaxPartNr = WMsCount / LineSize;
#endif
///
///
/// Database related: This object reference is set after a successful user login
///
public static DatabaseSettings CurrentBench;
+2 -2
View File
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.18.797.0")]
[assembly: AssemblyFileVersion("2.18.797.0")]
[assembly: AssemblyVersion("2.18.787.0")]
[assembly: AssemblyFileVersion("2.18.787.0")]
+5 -5
View File
@@ -30,7 +30,7 @@ namespace Config
[Description("hr")] hour, /// 1 hour = 60 min = 3600 s
[Description("ms")] ms, /// 1 ms = 0.001 s
[Description("°C")] C, /// * degree Celsius (°C)
[Description("°C")] C, /// * degree Celsius
[Description("°F")] F, /// degree Fahrenheit
[Description("K")] K, /// degree Kelvin
@@ -293,8 +293,8 @@ namespace Config
case Unit.hour: return v / 3600;
case Unit.ms: return 1000 * v;
/// Temperature: internal representation in °C
case Unit.C: return v; /// degree Celsius (°C)
/// Temperature: internal representation in degree C
case Unit.C: return v; /// degree Celsius
case Unit.F: return 1.8 * v + 32; /// degree Fahrenheit
case Unit.K: return v + 273.15; /// degree Kelvin
@@ -360,8 +360,8 @@ namespace Config
case Unit.hour: return 3600 * v;
case Unit.ms: return v / 1000;
/// Temperature: internal representation in °C
case Unit.C: return v; /// degree Celsius (°C)
/// Temperature: internal representation in degree C
case Unit.C: return v; /// degree Celsius
case Unit.F: return 5 * (v-32) / 9; /// degree Fahrenheit
case Unit.K: return v - 273.15; /// degree Kelvin
+1 -1
View File
@@ -92,7 +92,7 @@
<Project>{743DF7DB-C7B6-42EB-986D-0F485E5588E4}</Project>
<Name>Config</Name>
</ProjectReference>
<ProjectReference Include="..\TBF\TBF.csproj">
<ProjectReference Include="..\TestBenchFramework\TBF.csproj">
<Project>{8648FD92-CDA1-4C3A-B5F9-FE547CE1FA48}</Project>
<Name>TBF</Name>
</ProjectReference>
+1 -41
View File
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
@@ -160,46 +159,7 @@ namespace GraphLib
{
grid_off_y = off_y;
}
/// <summary>
/// Load Samples from a file. Returns loaded points count.
/// </summary>
/// <param name="pathName">File pathname</param>
/// <returns>Loaded points count</returns>
public int LoadSamples(string pathName, out float yMin, out float yMax)
{
yMin = float.MaxValue;
yMax = float.MinValue;
try
{
Int64 size = new FileInfo(pathName).Length;
if ((size % 8) != 0) return 0;
int samplesCount = (int)(size / 8L) - 1;
if (samplesCount <= 0) return 0;
PointF[] newSamples = new PointF[samplesCount];
using (BinaryReader reader = new BinaryReader(File.Open(pathName, FileMode.Open)))
{
for (int i = 0; i < samplesCount; i++)
{
newSamples[i].X = reader.ReadSingle();
newSamples[i].Y = reader.ReadSingle();
}
yMin = reader.ReadSingle();
yMax = reader.ReadSingle();
}
Samples = newSamples;
return samplesCount;
}
catch (Exception exc)
{
return 0;
}
}
[Category("Properties")] // Take this out, and you will soon have problems with serialization;
[DefaultValue(typeof(string), "")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
+1 -8
View File
@@ -374,14 +374,7 @@ namespace GraphLib
if (gPane.Sources.Count > 0)
{
int val = hScrollBar1.Value;
int maxLen = 0;
foreach (var s in DataSources)
{
if (s.Length > maxLen) maxLen = s.Length;
}
gPane.starting_idx = (int)(maxLen * (float)val / 10000.0f);
gPane.starting_idx = (int)(gPane.Sources[0].Length * (float)val / 10000.0f);
gPane.Invalidate();
}
}
-1
View File
@@ -56,7 +56,6 @@ namespace GraphLib
this.tb1.ShowToolTips = true;
this.tb1.Size = new System.Drawing.Size(80, 26);
this.tb1.TabIndex = 1;
this.tb1.Visible = false;
this.tb1.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.tb1_ButtonClick);
//
// tbbSave
+36 -36
View File
@@ -125,64 +125,64 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACI
DgAAAk1TRnQBSQFMAgEBBAEAARQBAAEUAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEgBgABIP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AKgADAQECwAABtgGV
AU8B/QHKAZgBWQH/AcoBlwFZAf8BygGXAVkB/wHKAZcBWQH/AcoBlwFYAf8ByQGXAVgB/wHJAZcBWAH/
AcoBmAFZAf8BtgGUAU8B/RQAAxQBHAMRARcDAgEDrAADTgGZA10B0gNMAf8BxwGVAVUB/wH5AfcB9gH/
DgAAAk1TRnQBSQFMAgEBBAEAAQwBAAEMAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEgBgABIP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AKgADAQECwAABtwGV
AVAB/QHKAZgBWgH/AcoBlwFaAf8BygGXAVoB/wHKAZcBWgH/AcoBlwFZAf8ByQGXAVkB/wHJAZcBWQH/
AcoBmAFaAf8BtwGUAVAB/RQAAxQBHAMRARcDAgEDrAADTgGZA10B0gNNAf8BxwGVAVYB/wH5AfcB9gH/
AfkB8QHsAf8B+QHxAesB/wH4AfAB6QH/AfcB7QHmAf8B9AHqAeEB/wHyAegB3gH/AfoB+AH2Af8BxwGU
AVUB/wMYAf8DWAHRA0QBeggAAxUBHQFiAlgB6QM6AWEDDQESAwABASwAAxsBJgMbASYDGwEmAxsBJgMb
AVYB/wMZAf8DWAHRA0QBeggAAxUBHQFiAlgB6QM6AWEDDQESAwABASwAAxsBJgMbASYDGwEmAxsBJgMb
ASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEmEAADGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEm
AxsBJgMbASYDGwEmAxsBJgMbASYIAANUAf0DpwH/A7UB/wOBAf8BrwGsAaoB/wHFAcABvQH/AcUBwAG9
Af8BxQHAAb0B/wHFAcABvQH/AcUBwAG9Af8BxQHAAb0B/wGtAaoBqAH/AyAB/wO1Af8DmwH/AxcB/wgA
AxUBHQNNAfoBOgIrAfwDXwHgAysBQgMNARIoAAMbASYDKwH8AYACgQH/AYACgQH/AYACgQH/AYACgQH/
AxsBJgMbASYDGwEmAxsBJgMbASYIAANVAf0DpwH/A7UB/wOBAf8BrwGsAaoB/wHFAcABvQH/AcUBwAG9
Af8BxQHAAb0B/wHFAcABvQH/AcUBwAG9Af8BxQHAAb0B/wGtAaoBqAH/AyEB/wO1Af8DmwH/AxgB/wgA
AxUBHQNNAfoBOwIrAfwDXwHgAysBQgMNARIoAAMbASYDKwH8AYACgQH/AYACgQH/AYACgQH/AYACgQH/
AYACgQH/AYACgQH/AYACgQH/AYACgQH/AYACgQH/AxsBJhAAAxsBJgMrAfwBgAKBAf8BgAKBAf8BgAKB
Af8DIwE0AxsBJgMrAfwBgAKBAf8BgAKBAf8BgAKBAf8DIwE0CAADZAH/A7UB/wO1Af8DlQH/A4EB/wOB
Af8DbQH/A2IB/wNVAf8DRgH/AzcB/wM2Af8DYgH/A7UB/wO1Af8DGQH/CAADFQEdAV8CSgH7AfkB+gH5
Af8DIwE0AxsBJgMrAfwBgAKBAf8BgAKBAf8BgAKBAf8DIwE0CAADZQH/A7UB/wO1Af8DlQH/A4EB/wOB
Af8DbgH/A2MB/wNWAf8DRwH/AzgB/wM3Af8DYwH/A7UB/wO1Af8DGgH/CAADFQEdAV8CSgH7AfkB+gH5
Af8DfwH+AV8BUwFSAfsDVQGyAx0BKgMIAQsgAAMbASYDQAH9IP8DQAH9AxsBJgMAAQEMAAMbASYDQAH9
AfwB/QH8Bf8DQAH9AxsBJgMbASYDQAH9AfwB/QH8Bf8DQAH9AxsBJgMAAQEEAANpAf8DuwH/A7sB/wON
Af8D1AH/A7kB/wO5Af8DuQH/A7kB/wO5Af8DuQH/A9MB/wODAf8DuwH/A7sB/wMeAf8IAAMVAR0DKwH8
AfoC+wH/AfUC9gH/AfkC+gH/ATsBLgEtAfwBbQJRAfcDQgF2AxYBHgMFAQcYAAMbASYDQAH9BP8B1QHb
AfwB/QH8Bf8DQAH9AxsBJgMbASYDQAH9AfwB/QH8Bf8DQAH9AxsBJgMAAQEEAANqAf8DuwH/A7sB/wON
Af8D1AH/A7kB/wO5Af8DuQH/A7kB/wO5Af8DuQH/A9MB/wODAf8DuwH/A7sB/wMfAf8IAAMVAR0DKwH8
AfoC+wH/AfUC9gH/AfkC+gH/ATwBLwEuAfwBbQJRAfcDQgF2AxYBHgMFAQcYAAMbASYDQAH9BP8B1QHb
AdgB/wHUAdsB1wH/AdQB2wHYAf8B0wHbAdcB/wHRAdkB1QH/Ac8B1wHTBf8DQAH9AxsBJgMBAQIMAAMb
ASYDQAH9AeIB5QHkAf8B2AHfAdwB/wNAAf0DGwEmAxsBJgNAAf0D8wH/AfcB+AH3Af8DQAH9AxsBJgMB
AQIEAANuAf8D1wH/A9cB/wOXAf8D2AH/A78B/wO/Af8DvwH/A78B/wO/Af8DvwH/A9cB/wOOAf8D1wH/
A9cB/wMzAf8IAAMWAR4DKwH8A/sB/wHTAdoB1wH/AdoB3wHcAf8B9gH3AfYB/wHyAvMB/wE6AisB/AFg
AQIEAANvAf8D1wH/A9cB/wOXAf8D2AH/A78B/wO/Af8DvwH/A78B/wO/Af8DvwH/A9cB/wOOAf8D1wH/
A9cB/wM0Af8IAAMWAR4DKwH8A/sB/wHTAdoB1wH/AdoB3wHcAf8B9gH3AfYB/wHyAvMB/wE7AisB/AFg
AlkB6wMzAVMDEgEZAwQBBRAAAxsBJgNAAf0E/wHaAeAB3QH/AdsB4QHeAf8B3QHiAeAB/wHdAeIB4AH/
AdsB4QHeAf8B2AHeAdsF/wNAAf0DGwEmAwEBAgwAAxsBJgNAAf0B4gHmAeQB/wHcAeIB3wH/A0AB/QMb
ASYDGwEmA0AB/QHvAfEB8AH/AfAB8wHxAf8DQAH9AxsBJgMBAQIEAANyAf8D+QH/A/kB/wOrAf8D3wH/
A8sB/wPLAf8DywH/A8sB/wPLAf8DywH/A98B/wOjAf8D+QH/A/kB/wNVAf8IAAMWAR4DKwH8A/sB/wHf
ASYDGwEmA0AB/QHvAfEB8AH/AfAB8wHxAf8DQAH9AxsBJgMBAQIEAANzAf8D+QH/A/kB/wOrAf8D3wH/
A8sB/wPLAf8DywH/A8sB/wPLAf8DywH/A98B/wOjAf8D+QH/A/kB/wNWAf8IAAMWAR4DKwH8A/sB/wHf
AeQB4QH/Ad4B4wHhAf8B3gHjAeAB/wHjAecB5QH/AfQC9QH/A38B/gGRAkAB/QNWAbYDJgE5AxABFQwA
AxsBJgNAAf0E/wHdAeMB4AH/AeEB5gHjAf8B5AHpAecB/wHmAeoB6AH/AeUB6QHnAf8B4gHnAeQF/wNA
Af0DGwEmAwEBAgwAAxsBJgNAAf0B5AHoAeUB/wHeAeMB4QH/A0AB/QMbASYDGwEmA0AB/QHsAe8B7gH/
AecB6wHpAf8DQAH9AxsBJgMBAQIEAANqAfkD/AH/A/wB/wPLAf8D8gH/A/IB/wPyAf8D8gH/A/IB/wPy
Af8D8gH/A/IB/wPGAf8D/AH/A/wB/wNwAf4IAAMWAR4DKwH8A/sB/wHqAe4B7AH/AewB7wHuAf8B7AHv
Ae4B/wHrAe4B7QH/AekB7AHrAf8DfwH+AToCKwH8AVgCVgG7Ax0BKgMGAQgMAAMbASYDQAH9BP8B3wHk
Ae4B/wHrAe4B7QH/AekB7AHrAf8DfwH+ATsCKwH8AVgCVgG7Ax0BKgMGAQgMAAMbASYDQAH9BP8B3wHk
AeEB/wHkAekB5gH/AeoB7QHrAf8B7gHxAe8B/wHvAfEB8AH/AewB7wHuBf8DQAH9AxsBJgMBAQIMAAMb
ASYDQAH9AesB7QHsAf8B3QHjAeAB/wNAAf0DGwEmAxsBJgNAAf0B7QHwAe8B/wHfAeQB4QH/A0AB/QMb
ASYDAQECBAADXQTSAf8D6AH/A3EB/wNxAf8DcQH/A3EB/wNxAf8DcQH/A3EB/wNxAf8DcQH/A3EB/wPo
ASYDAQECBAADXQTSAf8D6AH/A3IB/wNyAf8DcgH/A3IB/wNyAf8DcgH/A3IB/wNyAf8DcgH/A3IB/wPo
Af8DxAH/A1wB3AgAAxYBHgMrAfwD+wH/AfUC9gH/AfoB+wH6Af8D+QH/Ad0C3gH/AWoCRwH5A10B7QE6
AjkBYAMNAREUAAMbASYDQAH9BP8B3AHiAd8B/wHkAegB5gH/AesB7gHtAf8B8gH0AfMB/wH3AvgB/wH2
AfgB9wX/A0AB/QMbASYDAQECDAADGwEmA0AB/QHyAfQB8wH/AdoB3wHdAf8DQAH9AxsBJgMcASgDQAH9
AfMB9QH0Af8B1gHdAdkB/wNAAf0DGwEmAwEBAgQAAy0BRQOaAf8DzAH/AccBiwFCAf8B+QH0Ae0B/wH+
AegB2AH/Af4B6AHXAf8B/QHlAdMB/wH8AeQB0QH/AfoB4AHHAf8B+QHdAcMB/wH6AfQB7QH/AccBhQE+
Af8DwwH/A2gB/wMtAUUIAAMWAR4DKwH8A/sB/wHwAfMB8gH/AeYC6AH/A00B+gFiAlIB9AFRAk8BpQMU
AfMB9QH0Af8B1gHdAdkB/wNAAf0DGwEmAwEBAgQAAy0BRQOaAf8DzAH/AccBiwFDAf8B+QH0Ae0B/wH+
AegB2AH/Af4B6AHXAf8B/QHlAdMB/wH8AeQB0QH/AfoB4AHHAf8B+QHdAcMB/wH6AfQB7QH/AccBhQE/
Af8DwwH/A2kB/wMtAUUIAAMWAR4DKwH8A/sB/wHwAfMB8gH/AeYC6AH/A00B+gFiAlIB9AFRAk8BpQMU
ARwDAAEBGAADGwEmA0AB/QT/AdgB3wHcAf8B4AHlAeMB/wHoAesB6gH/Ae8B8gHwAf8B9wH4AfcB/wP9
Bf8DQAH9AxsBJgMBAQIMAAMbASYDQAH9A/wB/wHVAdsB2AH/A0AB/QMbASYDHAEoA0AB/QP8Af8B0gHa
AdYB/wNAAf0DGwEmAwEBAggAAzsBYwNqAfMBxQGJAUAB/wH5AfQB7wH/Af4B5wHXAf8B/QHnAdUB/wH8
AeYB0gH/AfsB4QHMAf8B+AHcAcIB/wH2AdoBvQH/AfoB9AHvAf8BxAGDATwB/wNdAfMDOwFjDAADFgEe
AysB/AP7Af8BPgIyAfwDTQH6AVoCVwG9AxgBIgMCAQMgAAMbASYDQAH9IP8DQAH9AxsBJgMBAQIMAAMb
ASYDQAH9CP8DQAH9AxsBJgMcASgDQAH9CP8DQAH9AxsBJgMBAQIMAAMHAQkBlgF6AUcC+QH0AfAB/wH8
AeYB0wH/Af0B5wHTAf8B+wHjAc0B/wH6AeAByAH/AfUB1gG7Af8B8wHUAbUB/wH4AfQB8AH/AZUBagFH
AfkDBwEJEAADFgEeA0AB/QFbAjIB+wFgAlwB1AMjATMDBwEKKAADGwEmAysB/AEpAS0BKwH/ASkBLQEr
Af8BKQEtASsB/wEpAS0BKwH/ASkBLQErAf8BKQEtASsB/wEpAS0BKwH/ASkBLQErAf8BKQEtASsB/wMb
ASYDAQECDAADGwEmAWMBVwFVAf4BKQEtASsB/wEpAS0BKwH/ASkBLQErAf8DGwEmAxwBKAFjAVcBVQH+
ASkBLQErAf8BKQEtASsB/wEpAS0BKwH/AxsBJgMBAQIQAAGSAXoBUQH3AfkB9QHxAf8B/AHjAc8B/wH8
AeQBzwH/AfoB4QHKAf8B+QHdAcQB/wH0AekB3wH/AfcB8gHsAf8B9QHvAekB/wGZAV8BRQH7FAADFgEf
AdYB/wNAAf0DGwEmAwEBAggAAzsBYwNrAfMBxQGJAUEB/wH5AfQB7wH/Af4B5wHXAf8B/QHnAdUB/wH8
AeYB0gH/AfsB4QHMAf8B+AHcAcIB/wH2AdoBvQH/AfoB9AHvAf8BxAGDAT0B/wNdAfMDOwFjDAADFgEe
AysB/AP7Af8BPwIzAfwDTQH6AVoCVwG9AxgBIgMCAQMgAAMbASYDQAH9IP8DQAH9AxsBJgMBAQIMAAMb
ASYDQAH9CP8DQAH9AxsBJgMcASgDQAH9CP8DQAH9AxsBJgMBAQIMAAMHAQkBmgF9AUcC+QH0AfAB/wH8
AeYB0wH/Af0B5wHTAf8B+wHjAc0B/wH6AeAByAH/AfUB1gG7Af8B8wHUAbUB/wH4AfQB8AH/AZkBagFH
AfkDBwEJEAADFgEeA0AB/QFbAjIB+wFgAlwB1AMjATMDBwEKKAADGwEmAysB/AEqAS4BLAH/ASoBLgEs
Af8BKgEuASwB/wEqAS4BLAH/ASoBLgEsAf8BKgEuASwB/wEqAS4BLAH/ASoBLgEsAf8BKgEuASwB/wMb
ASYDAQECDAADGwEmAWMBVwFVAf4BKgEuASwB/wEqAS4BLAH/ASoBLgEsAf8DGwEmAxwBKAFjAVcBVQH+
ASoBLgEsAf8BKgEuASwB/wEqAS4BLAH/AxsBJgMBAQIQAAGWAX0BUQH3AfkB9QHxAf8B/AHjAc8B/wH8
AeQBzwH/AfoB4QHKAf8B+QHdAcQB/wH0AekB3wH/AfcB8gHsAf8B9QHvAekB/wGbAWABRQH7FAADFgEf
AV4CWgHYAygBPQMNAREwAAMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEm
AxsBJgMAAQEMAAMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMA
AQEQAAGJAWoBSQH2AfkB9QHxAf8B/AHjAc0B/wH7AeMBzQH/AfkB4AHIAf8B+AHcAcIB/wH9AfsB+AH/
AfwB5gHNAf8B4gG2AYQB/wJUAVIBphQAAxYBHwMRARcDAgEDuAABngF1AU0B+gH3AfIB7AH/AfgB9AHu
Af8B+AHzAe0B/wH4AfMB7QH/AfgB8gHsAf8B8gHmAdcB/wHiAbIBcQH/AZABcQFiAfYDBQEHFAADAwEE
wAADOgFgAlgBVgG7AbEBfwFPAf4ByAGMAUMB/wGSAX8BUQH3AZIBfwFRAfcBrgF/AUwB/gNOAZQUAAFC
AQEQAAGNAW0BSQH2AfkB9QHxAf8B/AHjAc0B/wH7AeMBzQH/AfkB4AHIAf8B+AHcAcIB/wH9AfsB+AH/
AfwB5gHNAf8B4gG2AYQB/wJUAVIBphQAAxYBHwMRARcDAgEDuAABoAF2AU0B+gH3AfIB7AH/AfgB9AHu
Af8B+AHzAe0B/wH4AfMB7QH/AfgB8gHsAf8B8gHmAdcB/wHiAbIBcgH/AZMBcwFiAfYDBQEHFAADAwEE
wAADOgFgAlgBVgG7AbMBfwFPAf4ByAGMAUQB/wGWAYABUQH3AZYBgAFRAfcBsAF/AUwB/gNOAZQUAAFC
AU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/gQAB3wX/AeABBwHHBf8CAAHBAf8BwAED
AcABAwIAAcAB/wHAAQMBwAEDAgABwAE/AcABAQHAAQECAAHAAQ8BwAEBAcABAQIAAcABAwHAAQEBwAEB
AgABwAEBAcABAQHAAQECAAHAAQEBwAEBAcABAQIAAcABBwHAAQEBwAEBAgABwAEPAcABAQHAAQEBgAEB
+59 -49
View File
@@ -84,7 +84,7 @@ namespace GraphLib
public float CurXD1 = 0;
public float grid_distance_x = 60; // grid distance in samples ( draw a vertical line every 60 samples )
public float grid_distance_x = 200; // grid distance in samples ( draw a vertical line every 200 samples )
public float grid_off_x = 0;
public float GraphCaptionLineHeight = 28;
@@ -452,7 +452,7 @@ namespace GraphLib
if (layout == LayoutMode.NORMAL)
{
DrawGraphCaption(CurGraphics, source, marker_pos, CurOffX + CurGraphIdx * (50 + yLabelAreaWidth) + (CurGraphIdx==0 ? 0 : 50), curOffY);
DrawGraphCaption(CurGraphics, source, marker_pos, CurOffX + CurGraphIdx * (10 + yLabelAreaWidth), curOffY);
if (CurGraphIdx == 0)
{
@@ -600,7 +600,7 @@ namespace GraphLib
List<int> marker_pos = DrawGraphCurve(CurGraphics, source, CurOffX, curOffY + GraphCaptionLineHeight / 2);
DrawGraphCaption(CurGraphics, source, marker_pos, CurOffX + CurGraphIdx * (50 + yLabelAreaWidth) + (CurGraphIdx == 0 ? 0 : 50), pad_top);
DrawGraphCaption(CurGraphics, source, marker_pos, CurOffX + CurGraphIdx * (10 + yLabelAreaWidth), pad_top);
DrawYLabels(CurGraphics, source, marker_pos, CurOffX, curOffY);
@@ -776,15 +776,12 @@ namespace GraphLib
float y0 = (float)(source.grid_off_y * source.CurGraphHeight / source.DY + source.off_Y);
// draw horizontal zero grid lines
if (0 >= source.YD0 && 0 <= source.YD1)
{
g.DrawLine(p2, new Point((int)CurrOffX, (int)(CurOffY + y0 + 0.5f)), new Point((int)(CurrOffX + source.CurGraphWidth + 0.5f), (int)(CurOffY + y0 + 0.5f)));
}
g.DrawLine(p2, new Point((int)CurrOffX, (int)(CurOffY + y0 + 0.5f)), new Point((int)(CurrOffX + source.CurGraphWidth + 0.5f), (int)(CurOffY + y0 + 0.5f)));
// draw horizontal grid lines
for (float idy = source.grid_off_y; idy > source.YD0; idy -= source.grid_distance_y)
for (Idx = (int)(source.grid_off_y);Idx > (int)(source.YD0 ); Idx -= (int)source.grid_distance_y)
{
float y = (idy * source.CurGraphHeight) / source.DY + source.off_Y;
float y = (float)(Idx * source.CurGraphHeight) / source.DY + source.off_Y;
if (y >= 0 && y < source.CurGraphHeight)
{
@@ -795,9 +792,9 @@ namespace GraphLib
}
// draw horizontal grid lines
for (float idy = source.grid_off_y; idy < source.YD1; idy += source.grid_distance_y)
for (Idx = (int)(source.grid_off_y); Idx < (int)(source.YD1 ); Idx += (int)source.grid_distance_y)
{
float y = (idy * source.CurGraphHeight) / source.DY + source.off_Y;
float y = (float)Idx * source.CurGraphHeight / source.DY + source.off_Y;
if (y >= 0 && y < source.CurGraphHeight)
{
@@ -971,58 +968,71 @@ namespace GraphLib
using (Pen pen = new Pen(b))
{
pen.DashPattern = new float[] { 2, 2 };
float GridDistY = source.grid_distance_y;
///
if (source.AutoScaleY)
{
// calculate a matching grid distance
GridDistY = -Utilities.MostSignificantDigit(source.DY);
if (GridDistY == 0)
{
GridDistY = source.grid_distance_y;
}
}
// draw labels for horizontal lines
if (source.DY != 0)
{
float y0 = (float)(source.grid_off_y * source.CurGraphHeight / source.DY + source.off_Y);
if (y0 >= 0 && y0 < source.CurGraphHeight)
{
String value = (source.OnRenderYAxisLabel == null) ? "0" : source.OnRenderYAxisLabel(source, 0);
SizeF dim = g.MeasureString(value, legendFont);
g.DrawString(value, legendFont, b, new PointF((int)offset_x - dim.Width, (int)(offset_y + y0 + 0.5f + dim.Height / 2)));
}
float Idx = 0;
for (float Idx = source.grid_off_y; Idx > source.YD0; Idx -= GridDistY)
float y0 = (float)(source.grid_off_y * source.CurGraphHeight / source.DY + source.off_Y);
String value = "" + Idx;
if (source.OnRenderYAxisLabel != null)
{
if (Idx != 0)
{
float y1 = (float)(Idx * source.CurGraphHeight) / source.DY + source.off_Y;
value = source.OnRenderYAxisLabel(source, Idx);
}
if (y1 >= 0 && y1 < source.CurGraphHeight)
{
string value = (source.OnRenderYAxisLabel == null) ? Idx.ToString() : source.OnRenderYAxisLabel(source, Idx);
SizeF dim = g.MeasureString(value, legendFont);
g.DrawString(value, legendFont, b, new PointF((int)offset_x - dim.Width, (int)(offset_y + y1 + 0.5f + dim.Height / 2)));
}
SizeF dim = g.MeasureString(value, legendFont);
g.DrawString(value, legendFont, b, new PointF((int)offset_x - dim.Width, (int)(offset_y + y0 + 0.5f + dim.Height / 2)));
float GridDistY = source.grid_distance_y;
if (source.AutoScaleY)
{
// calculate a matching grid distance
GridDistY = - Utilities.MostSignificantDigit(source.DY );
if (GridDistY == 0)
{
GridDistY = source.grid_distance_y;
}
}
for (float Idx = source.grid_off_y; Idx < source.YD1; Idx += GridDistY)
for (Idx = (source.grid_off_y); Idx > (source.Cur_YD0); Idx -= GridDistY)
{
if (Idx != 0)
{
float y2 = (float)(Idx * source.CurGraphHeight) / source.DY + source.off_Y;
float y1 = (float)((Idx) * source.CurGraphHeight) / source.DY + source.off_Y;
if (y2 >= 0 && y2 < source.CurGraphHeight)
{
string value = (source.OnRenderYAxisLabel == null) ? Idx.ToString() : source.OnRenderYAxisLabel(source, Idx);
SizeF dim = g.MeasureString(value, legendFont);
g.DrawString(value, legendFont, b, new PointF((int)offset_x - dim.Width, (int)(offset_y + y2 + 0.5f + dim.Height / 2)));
}
value = "" + (Idx);
if (source.OnRenderYAxisLabel != null)
{
value = source.OnRenderYAxisLabel(source, Idx);
}
dim = g.MeasureString(value, legendFont);
g.DrawString(value, legendFont, b, new PointF((int)offset_x - dim.Width, (int)(offset_y + y1 + 0.5f + dim.Height / 2)));
}
}
for (Idx = (source.grid_off_y); Idx < (source.Cur_YD1); Idx += GridDistY)
{
if (Idx != 0)
{
float y2 = (float)((Idx) * source.CurGraphHeight) / source.DY + source.off_Y;
value = "" + (Idx);
if (source.OnRenderYAxisLabel != null)
{
value = source.OnRenderYAxisLabel(source, Idx);
}
dim = g.MeasureString(value, legendFont);
g.DrawString(value, legendFont, b, new PointF((int)offset_x - dim.Width, (int)(offset_y + y2 + 0.5f + dim.Height / 2)));
}
}
}
-68
View File
@@ -1,68 +0,0 @@
using System;
using System.Collections.Generic;
namespace MonitoringDB.Entities
{
public class Part
{
public virtual int Id { get; protected set; }
public virtual string Name { get; set; }
public virtual string OraDBType { get; set; }
public virtual string Description { get; set; }
public virtual CodeType CodeType { get; set; }
public virtual CodeForm CodeForm { get; set; }
public virtual CodeLocation CodeLocation { get; set; }
public virtual LifetimeManagement LifetimeManagement { get; set; }
public virtual int StepNumber { get; set; }
public virtual Process Process { get; set; }
public virtual Workstep Workstep { get; set; }
protected Part()
{
Name = string.Empty;
Description = string.Empty;
}
/// <summary>
/// Constructor used when the part is added to a process
/// </summary>
/// <param name="name"></param>
/// <param name="codeType"></param>
/// <param name="codeForm"></param>
/// <param name="process"></param>
public Part(string name, Process process, CodeType codeType, CodeForm codeForm, CodeLocation codeLocation)
{
Name = name;
OraDBType = string.Empty;
Description = string.Empty;
CodeType = codeType;
CodeForm = codeForm;
CodeLocation = codeLocation;
StepNumber = 0;
Process = process;
Workstep = null;
}
/// <summary>
/// Create a copy of a part (1) belongig to another process, (2) not assigned to any workstep yet.
/// </summary>
/// <param name="process">Process owning the cloned part</param>
/// <returns>Cloned part</returns>
public virtual Part Clone(Process owningProcess)
{
Part rslt = new Part(Name, owningProcess, CodeType, CodeForm, CodeLocation);
rslt.OraDBType = OraDBType;
rslt.Description = Description;
rslt.LifetimeManagement = LifetimeManagement;
return rslt;
}
public override string ToString()
{
return string.Format("{0} step={1} ({2})", Name, StepNumber, Description);
}
}
}
-68
View File
@@ -1,68 +0,0 @@
using System;
using System.Collections.Generic;
namespace MonitoringDB.Entities
{
public class Process
{
public virtual int Id { get; protected set; }
public virtual int ItemNr { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual ReleaseStatus ReleaseStatus { get; set; }
public virtual DateTime TimeStamp { get; set; }
public virtual string UserName { get; set; }
public virtual IList<Part> Parts { get; set; }
public virtual IList<Workstep> Worksteps { get; set; }
/// <summary>
/// Default (private) constructor inicializing lists
/// </summary>
protected Process()
{
Parts = new List<Part>();
Worksteps = new List<Workstep>();
}
/// <summary>
/// Constructor used when this process is created
/// </summary>
/// <param name="name"></param>
public Process(string name)
: this()
{
Name = name;
Description = string.Empty;
ReleaseStatus = ReleaseStatus.In_preparation;
TimeStamp = DateTime.Now;
UserName = "admin";
}
/// <summary>
/// Create a copy of a process with a new name
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public virtual Process Clone(string name)
{
Process rslt = new Process(name);
rslt.Description = Description;
foreach (var part in Parts) rslt.Parts.Add(part.Clone(rslt));
foreach (var workstep in Worksteps) rslt.Worksteps.Add(workstep.Clone(rslt));
return rslt;
}
public override string ToString()
{
return string.Format("{0} '{1}' ({2}) {3} {4}",
ItemNr,
Name,
TimeStamp.Date.ToShortDateString(),
(Description == null) ? string.Empty : Description,
ReleaseStatus);
}
}
}
-61
View File
@@ -1,61 +0,0 @@
using System;
using System.Collections.Generic;
namespace MonitoringDB.Entities
{
public class Record
{
public virtual int Id { get; protected set; }
public virtual string Code { get; set; }
public virtual DateTime TimeStamp { get; set; }
public virtual Part Part { get; set; }
public virtual ReferenceRecord ReferenceRecord { get; set; }
protected Record()
{
}
/// <summary>
/// Constructor used when a part barcode is scanned
/// </summary>
/// <param name="partId">Part</param>
/// <param name="referenceRecordId">Reference record</param>
/// <param name="code">Scanned barcode</param>
public Record(Part part, ReferenceRecord referenceRecord, string code)
{
Part = part;
ReferenceRecord = referenceRecord;
Code = code;
TimeStamp = DateTime.Now;
}
/// <summary>
/// Create a copy of a process with a new name
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public virtual Record Clone(Process newProcess, ReferenceRecord newRR)
{
Part newPart = null;
foreach (var pt in newProcess.Parts)
{
if (Part.Name == pt.Name)
{
newPart = pt;
break;
}
}
Record rslt = new Record(newPart, newRR, Code);
rslt.TimeStamp = TimeStamp;
return rslt;
}
public override string ToString()
{
return string.Format("code={0} part={1} description='{2}'", Code, Part.Name, Part.Description);
}
}
}
-88
View File
@@ -1,88 +0,0 @@
using System;
using System.Collections.Generic;
namespace MonitoringDB.Entities
{
public class ReferenceRecord
{
public virtual int Id { get; protected set; }
public virtual string Code { get; set; }
public virtual DateTime TimeStamp { get; set; }
public virtual string UserName { get; set; }
public virtual string Workplace { get; set; }
public virtual int Result { get; set; } /// 0 = No error (OK), >0 = Error code
public virtual Process Process { get; set; }
public virtual Workstep Workstep { get; set; }
public virtual IList<Record> Records { get; set; }
/// <summary>
/// Default (private) constructor inicializing lists
/// </summary>
protected ReferenceRecord()
{
Records = new List<Record>();
}
/// <summary>
/// Constructor used when reference barcode is scanned
/// </summary>
/// <param name="process">Process</param>
/// <param name="workstep">Workstep</param>
/// <param name="code">Scanned barcode</param>
public ReferenceRecord(Process process, Workstep workstep, string code,
string userName, string workplace, int result)
{
Process = process;
Workstep = workstep;
Code = code;
TimeStamp = DateTime.Now;
UserName = userName;
Workplace = workplace;
Result = result;
}
/// <summary>
/// Create a copy of a process with a new name
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public virtual ReferenceRecord Clone(Process newProcess)
{
Workstep newWorkstep = null;
foreach (var ws in newProcess.Worksteps)
{
if (Workstep.Name == ws.Name)
{
newWorkstep = ws;
break;
}
}
ReferenceRecord rslt = new ReferenceRecord(newProcess, newWorkstep,
Code, UserName, Workplace, Result);
rslt.TimeStamp = TimeStamp;
rslt.Records = new List<Record>();
foreach (var record in Records)
{
rslt.Records.Add(record.Clone(newProcess, rslt));
}
return rslt;
}
public override string ToString()
{
return string.Format("code={0} part={1} description='{2}' step='{3}' workplace='{4}' user={5} time={6:dd.MM.yyyy HH:mm:ss}",
(Code != null) ? Code : "<none>",
Workstep.ReferencePart.Name,
Workstep.ReferencePart.Description,
Workstep.Name,
Workplace,
UserName,
TimeStamp);
}
}
}
-82
View File
@@ -1,82 +0,0 @@
using System;
using System.Collections.Generic;
namespace MonitoringDB.Entities
{
public class Workstep
{
public virtual int Id { get; protected set; }
public virtual int WorkstepNr { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual int CheckPartNr { get; set; }
public virtual bool AllowRepairs { get; set; }
public virtual Process Process { get; set; }
public virtual Part ReferencePart { get; set; }
public virtual IList<Part> Parts { get; set; }
/// <summary>
/// Default (private) constructor inicializing a list
/// </summary>
protected Workstep()
{
Parts = new List<Part>();
}
/// <summary>
/// Constructor used when this workstep is added to a process
/// </summary>
/// <param name="name">Workstep name</param>
/// <param name="process">Process to be referenced</param>
public Workstep(int workstepNr, string name, Process process)
: this()
{
WorkstepNr = workstepNr;
Name = name;
Description = string.Empty;
CheckPartNr = 0;
AllowRepairs = false;
Process = process;
ReferencePart = null;
}
public virtual Workstep Clone(Process owningProcess)
{
Workstep rslt = new Workstep(WorkstepNr, Name, owningProcess);
rslt.Description = Description;
rslt.CheckPartNr = CheckPartNr;
rslt.AllowRepairs = AllowRepairs;
if (ReferencePart != null)
{
foreach (var p in owningProcess.Parts)
{
if (p.Name == ReferencePart.Name) rslt.ReferencePart = p;
}
}
foreach (var srcP in Parts)
{
foreach (var p in owningProcess.Parts)
{
if (p.Name == srcP.Name)
{
rslt.Parts.Add(p);
p.StepNumber = srcP.StepNumber;
p.Workstep = rslt;
}
}
}
return rslt;
}
public override string ToString()
{
//return string.Format("{0} {1} ({2}) Ref: {3}", WorkstepNr, Name, Description, (ReferencePart != null) ? ReferencePart.Name : "none");
return string.Format("{0}: {1}", WorkstepNr, Name);
}
}
}
-94
View File
@@ -1,94 +0,0 @@
namespace MonitoringDB
{
public enum CodeType
{
UniqueNr,
FlowtubeNr, /// prvé 3 znaky sa zhodujú s poslednými 3 znakmi názvu
FlowtubeNrLU, /// začiatok kódu sa zhoduje s názvom
BatchNr,
BatchNrContainingPartName,
DateMMYY,
QualityCheck,
}
public enum CodeForm
{
Barcode,
QRCode,
Keyboard,
OkNok,
}
public enum CodeLocation
{
OnPart,
OnPallet,
}
public enum LifetimeManagement
{
None,
OneYear,
Count,
}
public enum ReleaseStatus
{
In_preparation,
Released,
ReleasedActive,
Deactivated,
Count,
}
public enum Mode
{
Debug, // Debug mode - no Oracle database used
Test, // Test database used
Production, // Production database used
Count,
}
public enum LoginLevel
{
None,
TeamLeader,
Administrator,
MH,
Count,
}
public enum ItemSpecID
{
RefRecordID = 0,
TimeStamp,
Workstep,
Workplace,
UserName,
Barcode,
PartBarcode,
TimeStamp2,
Workstep2,
Workplace2,
UserName2,
Barcode2,
PartBarcode2,
SerialNr,
PurchaseOrder,
TestResult,
MaxPruefindex,
Process,
}
public enum ItemSpecCaps
{
None = 0,
ReferenceRecord = 1,
AssociatedRecord = 2,
OracleQuery = 4,
}
}
-212
View File
@@ -1,212 +0,0 @@
using System;
using System.Collections.Generic;
using FluentNHibernate.Cfg;
using FluentNHibernate.Cfg.Db;
using NHibernate;
using NHibernate.Cfg;
using NHibernate.Tool.hbm2ddl;
namespace MonitoringDB
{
public static class FluentNH
{
/// <summary>
/// Current session factory for the last used connection string or null
/// </summary>
public static ISessionFactory SessionFactory;
/// <summary> Connection string for all sessions </summary>
static string connectionString;
///
public static string ConnectionString
{
get { return connectionString; }
set
{
if (value != connectionString)
{
connectionString = value;
SessionFactory = null; /// Clear SessionFactory on connection string change
}
}
}
/// <summary>
/// NHibernate session factory (to create the database session 'SessionFactory')
/// </summary>
/// <returns>A database session</returns>
static ISessionFactory CreateSessionFactory()
{
return CreateSessionFactory(false);
}
/// <summary>
/// NHibernate session factory (to create the database session 'SessionFactory')
/// </summary>
/// <returns>A database session</returns>
public static ISessionFactory CreateSessionFactory(bool createDB)
{
FluentConfiguration cfg = Fluently
.Configure()
.Database(MySQLConfiguration.Standard.ConnectionString(connectionString))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Entities.Process>());
if (createDB)
{
return cfg.ExposeConfiguration(BuildSchemaCreate).BuildSessionFactory();
}
else
{
return cfg.ExposeConfiguration(BuildSchema).BuildSessionFactory();
}
}
public delegate void BuildSchemaDlgt(Configuration config);
public static void BuildSchema(Configuration config)
{
/// This NHibernate tool takes a configuration (with mapping info in)
/// and exports a database schema from it
new SchemaExport(config).SetOutputFile("db_schema");
}
static void BuildSchemaCreate(Configuration config)
{
/// This NHibernate tool takes a configuration (with mapping info in)
/// and exports a database schema from it
new SchemaExport(config).Create(true, true);
}
/// Create a NHibernate session for the given database
public static ISession CreateSession(string connectionString)
{
ConnectionString = connectionString; /// Clears session factory on connction string change
if (SessionFactory == null)
SessionFactory = CreateSessionFactory();
return SessionFactory.OpenSession();
}
/// <summary>
/// Create an empty database.
/// Database contains only the user 'admin' and the control board component 'CB'.
/// </summary>
/// <param name="dbType">DBType.SQLite or DBType.MySql</param>
/// <param name="connectionString">Connection string</param>
/// <returns>true=success, false=error</returns>
public static bool CreateEmptyDB(string connectionString)
{
ConnectionString = connectionString;
ISessionFactory sessionFactory = CreateSessionFactory(true);
if (sessionFactory == null) return false;
/// Populate the database
using (var session = sessionFactory.OpenSession())
{
//using (var transaction = session.BeginTransaction())
//{
// var part1 = new MonitoringDB.Entities.Part("flow tube", CodeType.UniqueNr, CodeForm.QRCode, 0);
// session.SaveOrUpdate(part1);
// transaction.Commit();
//}
}
return true;
}
public static IList<WMPart> FindWMParts(string pcbNumber, string connString)
{
IList<WMPart> foundParts = new List<WMPart>(); /// initially empty
if (string.IsNullOrEmpty(pcbNumber)) return foundParts; /// return an empty list
try
{
ISession session = CreateSession(connString);
IList<Entities.ReferenceRecord> referenceRecords = session
.QueryOver<Entities.ReferenceRecord>()
.Where(x => (x.Code == pcbNumber))
.OrderBy(x => x.TimeStamp).Desc
.List<Entities.ReferenceRecord>();
if (referenceRecords.Count == 0) return foundParts;
foundParts.Add(new WMPart(referenceRecords[0]));
Entities.Process process = referenceRecords[0].Process;
///
foreach (var refR in referenceRecords)
{
if (process != refR.Process)
{
continue; /// skip records obtained by another process
}
IList<Entities.Record> relatedRecords = session
.QueryOver<Entities.Record>()
.Where(x => (x.ReferenceRecord == refR))
.List<Entities.Record>();
foreach (var relR in relatedRecords)
{
foundParts.Add(new WMPart(relR));
foreach (var ws in process.Worksteps)
{
if (ws.ReferencePart == relR.Part)
{
FindWMPartsRecursively(process, ws.ReferencePart, relR.Code, session, ref foundParts);
}
}
}
}
}
catch
{
}
return foundParts;
}
static void FindWMPartsRecursively(Entities.Process process, Entities.Part refPart, string code, ISession session, ref IList<WMPart> foundParts)
{
IList<Entities.ReferenceRecord> referenceRecords = session
.QueryOver<Entities.ReferenceRecord>()
.Where(x => (x.Workstep.ReferencePart == refPart))
.Where(x => (x.Code == code))
.OrderBy(x => x.TimeStamp).Desc
.List<Entities.ReferenceRecord>();
if (referenceRecords.Count == 0) return;
foreach (var refR in referenceRecords)
{
IList<Entities.Record> relatedRecords = session
.QueryOver<Entities.Record>()
.Where(x => (x.ReferenceRecord == refR))
.List<Entities.Record>();
foreach (var relR in relatedRecords)
{
foundParts.Add(new WMPart(relR));
foreach (var ws in process.Worksteps)
{
if (ws.ReferencePart == relR.Part)
{
FindWMPartsRecursively(process, ws.ReferencePart, relR.Code, session, ref foundParts);
}
}
}
}
}
}
}
-456
View File
@@ -1,456 +0,0 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
///
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace MonitoringDB.Forms
{
/// <summary>
/// Event Handler for SubItem events
/// </summary>
public delegate void SubItemEventHandler(object sender, SubItemEventArgs e);
/// <summary>
/// Event Handler for SubItemEndEditing events
/// </summary>
public delegate void SubItemEndEditingEventHandler(object sender, SubItemEndEditingEventArgs e);
/// <summary>
/// Inherited ListView to allow in-place editing of subitems
/// </summary>
public class ListViewEx : System.Windows.Forms.ListView
{
#region Interop structs, imports and constants
/// <summary>
/// MessageHeader for WM_NOTIFY
/// </summary>
private struct NMHDR
{
#pragma warning disable
public IntPtr hwndFrom;
public Int32 idFrom;
public Int32 code;
#pragma warning restore
}
[DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wPar, IntPtr lPar);
[DllImport("user32.dll", CharSet=CharSet.Ansi)]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, int len, ref int [] order);
// ListView messages
private const int LVM_FIRST = 0x1000;
private const int LVM_GETCOLUMNORDERARRAY = (LVM_FIRST + 59);
// Windows Messages that will abort editing
private const int WM_HSCROLL = 0x114;
private const int WM_VSCROLL = 0x115;
private const int WM_SIZE = 0x05;
private const int WM_NOTIFY = 0x4E;
private const int HDN_FIRST = -300;
private const int HDN_BEGINDRAG = (HDN_FIRST-10);
private const int HDN_ITEMCHANGINGA = (HDN_FIRST-0);
private const int HDN_ITEMCHANGINGW = (HDN_FIRST-20);
#endregion
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public event SubItemEventHandler SubItemClicked;
public event SubItemEventHandler SubItemBeginEditing;
public event SubItemEndEditingEventHandler SubItemEndEditing;
public ListViewEx()
{
// This call is required by the Windows.Forms Form Designer.
InitializeComponent();
base.FullRowSelect = true;
base.View = View.Details;
base.AllowColumnReorder = true;
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if( components != null )
components.Dispose();
}
base.Dispose( disposing );
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
}
#endregion
private bool _doubleClickActivation = false;
/// <summary>
/// Is a double click required to start editing a cell?
/// </summary>
public bool DoubleClickActivation
{
get { return _doubleClickActivation; }
set { _doubleClickActivation = value; }
}
/// <summary>
/// Retrieve the order in which columns appear
/// </summary>
/// <returns>Current display order of column indices</returns>
public int[] GetColumnOrder()
{
IntPtr lPar = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(int)) * Columns.Count);
IntPtr res = SendMessage(Handle, LVM_GETCOLUMNORDERARRAY, new IntPtr(Columns.Count), lPar);
if (res.ToInt32() == 0) // Something went wrong
{
Marshal.FreeHGlobal(lPar);
return null;
}
int [] order = new int[Columns.Count];
Marshal.Copy(lPar, order, 0, Columns.Count);
Marshal.FreeHGlobal(lPar);
return order;
}
/// <summary>
/// Find ListViewItem and SubItem Index at position (x,y)
/// </summary>
/// <param name="x">relative to ListView</param>
/// <param name="y">relative to ListView</param>
/// <param name="item">Item at position (x,y)</param>
/// <returns>SubItem index</returns>
public int GetSubItemAt(int x, int y, out ListViewItem item)
{
item = this.GetItemAt(x, y);
if (item != null)
{
int[] order = GetColumnOrder();
Rectangle lviBounds;
int subItemX;
lviBounds = item.GetBounds(ItemBoundsPortion.Entire);
subItemX = lviBounds.Left;
for (int i=0; i<order.Length; i++)
{
ColumnHeader h = this.Columns[order[i]];
if (x < subItemX+h.Width)
{
return h.Index;
}
subItemX += h.Width;
}
}
return -1;
}
/// <summary>
/// Get bounds for a SubItem
/// </summary>
/// <param name="Item">Target ListViewItem</param>
/// <param name="SubItem">Target SubItem index</param>
/// <returns>Bounds of SubItem (relative to ListView)</returns>
public Rectangle GetSubItemBounds(ListViewItem Item, int SubItem)
{
int[] order = GetColumnOrder();
Rectangle subItemRect = Rectangle.Empty;
if (SubItem >= order.Length)
throw new IndexOutOfRangeException("SubItem "+SubItem+" out of range");
if (Item == null)
throw new ArgumentNullException("Item");
Rectangle lviBounds = Item.GetBounds(ItemBoundsPortion.Entire);
int subItemX = lviBounds.Left;
ColumnHeader col;
int i;
for (i=0; i<order.Length; i++)
{
col = this.Columns[order[i]];
if (col.Index == SubItem)
break;
subItemX += col.Width;
}
subItemRect = new Rectangle(subItemX, lviBounds.Top, this.Columns[order[i]].Width, lviBounds.Height);
return subItemRect;
}
protected override void WndProc(ref Message msg)
{
switch (msg.Msg)
{
// Look for WM_VSCROLL,WM_HSCROLL or WM_SIZE messages.
case WM_VSCROLL:
case WM_HSCROLL:
case WM_SIZE:
EndEditing(false);
break;
case WM_NOTIFY:
// Look for WM_NOTIFY of events that might also change the
// editor's position/size: Column reordering or resizing
NMHDR h = (NMHDR)Marshal.PtrToStructure(msg.LParam, typeof(NMHDR));
if (h.code == HDN_BEGINDRAG ||
h.code == HDN_ITEMCHANGINGA ||
h.code == HDN_ITEMCHANGINGW)
EndEditing(false);
break;
}
base.WndProc(ref msg);
}
#region Initialize editing depending of DoubleClickActivation property
protected override void OnMouseUp(System.Windows.Forms.MouseEventArgs e)
{
base.OnMouseUp(e);
if (DoubleClickActivation)
{
return;
}
EditSubitemAt(new Point(e.X, e.Y));
}
protected override void OnDoubleClick(EventArgs e)
{
base.OnDoubleClick (e);
if (!DoubleClickActivation)
{
return;
}
Point pt = this.PointToClient(Cursor.Position);
EditSubitemAt(pt);
}
///<summary>
/// Fire SubItemClicked
///</summary>
///<param name="p">Point of click/doubleclick</param>
private void EditSubitemAt(Point p)
{
ListViewItem item;
int idx = GetSubItemAt(p.X, p.Y, out item);
if (idx >= 0)
{
OnSubItemClicked(new SubItemEventArgs(item, idx));
}
}
#endregion
#region In-place editing functions
// The control performing the actual editing
private Control _editingControl;
// The LVI being edited
private ListViewItem _editItem;
// The SubItem being edited
private int _editSubItem;
protected void OnSubItemBeginEditing(SubItemEventArgs e)
{
if (SubItemBeginEditing != null) SubItemBeginEditing(this, e);
}
protected void OnSubItemEndEditing(SubItemEndEditingEventArgs e)
{
if (SubItemEndEditing != null) SubItemEndEditing(this, e);
}
protected void OnSubItemClicked(SubItemEventArgs e)
{
if (SubItemClicked != null) SubItemClicked(this, e);
}
/// <summary>
/// Begin in-place editing of given cell
/// </summary>
/// <param name="c">Control used as cell editor</param>
/// <param name="Item">ListViewItem to edit</param>
/// <param name="SubItem">SubItem index to edit</param>
public void StartEditing(Control c, ListViewItem Item, int SubItem)
{
OnSubItemBeginEditing(new SubItemEventArgs(Item, SubItem));
Rectangle rcSubItem = GetSubItemBounds(Item, SubItem);
if (rcSubItem.X < 0)
{
// Left edge of SubItem not visible - adjust rectangle position and width
rcSubItem.Width += rcSubItem.X;
rcSubItem.X=0;
}
if (rcSubItem.X+rcSubItem.Width > this.Width)
{
// Right edge of SubItem not visible - adjust rectangle width
rcSubItem.Width = this.Width-rcSubItem.Left;
}
// Subitem bounds are relative to the location of the ListView!
rcSubItem.Offset(Left, Top);
// In case the editing control and the listview are on different parents,
// account for different origins
Point origin = new Point(0,0);
Point lvOrigin = this.Parent.PointToScreen(origin);
Point ctlOrigin = c.Parent.PointToScreen(origin);
rcSubItem.Offset(lvOrigin.X-ctlOrigin.X, lvOrigin.Y-ctlOrigin.Y);
// Position and show editor
c.Bounds = rcSubItem;
c.Text = Item.SubItems[SubItem].Text;
c.Visible = true;
c.BringToFront();
c.Focus();
_editingControl = c;
_editingControl.Leave += new EventHandler(_editControl_Leave);
_editingControl.KeyPress += new KeyPressEventHandler(_editControl_KeyPress);
_editItem = Item;
_editSubItem = SubItem;
}
private void _editControl_Leave(object sender, EventArgs e)
{
// cell editor losing focus
EndEditing(true);
}
private void _editControl_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
switch (e.KeyChar)
{
case (char)(int)Keys.Escape:
{
EndEditing(false);
break;
}
case (char)(int)Keys.Enter:
{
EndEditing(true);
break;
}
}
}
/// <summary>
/// Accept or discard current value of cell editor control
/// </summary>
/// <param name="AcceptChanges">Use the _editingControl's Text as new SubItem text or discard changes?</param>
public void EndEditing(bool AcceptChanges)
{
if (_editingControl == null)
return;
SubItemEndEditingEventArgs e = new SubItemEndEditingEventArgs(
_editItem, // The item being edited
_editSubItem, // The subitem index being edited
AcceptChanges ?
_editingControl.Text : // Use editControl text if changes are accepted
_editItem.SubItems[_editSubItem].Text, // or the original subitem's text, if changes are discarded
!AcceptChanges // Cancel?
);
OnSubItemEndEditing(e);
_editItem.SubItems[_editSubItem].Text = e.DisplayText;
_editingControl.Leave -= new EventHandler(_editControl_Leave);
_editingControl.KeyPress -= new KeyPressEventHandler(_editControl_KeyPress);
_editingControl.Visible = false;
_editingControl = null;
_editItem = null;
_editSubItem = -1;
}
#endregion
}
/// <summary>
/// Event Args for SubItemClicked event
/// </summary>
public class SubItemEventArgs : EventArgs
{
int subItem = -1; /// Sub-item index
ListViewItem item = null;
public int SubItem { get { return subItem; } }
public ListViewItem Item { get { return item; } }
public SubItemEventArgs(ListViewItem item, int subItem)
{
this.subItem = subItem;
this.item = item;
}
}
/// <summary>
/// Event Args for SubItemEndEditingClicked event
/// </summary>
public class SubItemEndEditingEventArgs : SubItemEventArgs
{
string displayText = string.Empty;
bool cancel = true;
public SubItemEndEditingEventArgs(ListViewItem item, int subItem, string displayText, bool cancel) :
base(item, subItem)
{
this.displayText = displayText;
this.cancel = cancel;
}
public string DisplayText
{
get { return displayText; }
set { displayText = value; }
}
public bool Cancel
{
get { return cancel; }
set { cancel = value; }
}
}
}
-42
View File
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="ResMimeType">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="Version">
<value>1.0.0.0</value>
</resheader>
<resheader name="Reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3102.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="Writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3102.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
-64
View File
@@ -1,64 +0,0 @@
namespace MonitoringDB.Forms
{
partial class ModelessForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(47, 29);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(35, 13);
this.label1.TabIndex = 0;
this.label1.Text = "label1";
//
// ModelessForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(191, 56);
this.Controls.Add(this.label1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "ModelessForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "ModelessForm";
this.Load += new System.EventHandler(this.ModelessForm_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
}
}
-68
View File
@@ -1,68 +0,0 @@
using System;
using System.Drawing;
using System.Windows.Forms;
namespace MonitoringDB.Forms
{
public partial class ModelessForm : Form
{
/// <summary>
/// Called from the state machine when an operation forces a modeless dialog close.
/// </summary>
public static void CloseForm()
{
if (CloseFormHandler == null) return;
try { CloseFormHandler(null, null); }
catch (Exception) { }
}
public static event EventHandler<EventArgs> CloseFormHandler;
void OnCloseForm(object sender, EventArgs args)
{
DialogResult = DialogResult.Cancel;
Close();
}
public string Title;
public string Message;
public Color BackgroundColor;
public Color TextColor;
public Font TextFont;
public string FontFamily;
public int FontSize;
public FontStyle FontStyle;
/// <summary>
/// Constructor to be used by the application
/// </summary>
/// <param name="title">Window title</param>
/// <param name="message">Displayed message</param>
public ModelessForm()
{
InitializeComponent();
ControlBox = false;
CloseFormHandler += delegate(object sender, EventArgs args)
{
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnCloseForm), sender, args); }
else OnCloseForm(sender, args);
};
}
private void ModelessForm_Load(object sender, EventArgs e)
{
if (Title != null) Text = Title;
if (Message != null) label1.Text = Message;
if (BackgroundColor != null) BackColor = BackgroundColor;
if (TextColor != null) ForeColor = TextColor;
if (FontFamily != null) label1.Font = new Font(FontFamily, FontSize, FontStyle);
float textWidth = Graphics.FromImage(new Bitmap(1, 1)).MeasureString(label1.Text, label1.Font).Width;
float textHeight = Graphics.FromImage(new Bitmap(1, 1)).MeasureString(label1.Text, label1.Font).Height;
Width = (int)textWidth + 120; /// Form width calculated from the text width
Height += (int)textHeight; /// Form height calculated from the text height
}
}
}
-299
View File
@@ -1,299 +0,0 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using log4net;
using MonitoringDB.Entities;
using MonitoringDB.Resources;
namespace MonitoringDB.Forms
{
public partial class ResultsConfigDlg : Form
{
/// <summary>
/// ListViewEx columns
/// </summary>
enum Column
{
Item,
Caption,
Format,
Precision,
Width,
Count,
}
Control[] editors;
public IList<ItemSpec> AvailableItems;
public IList<ItemSpec> SelectedItems;
public bool Compound; /// false = single meter items, true = combined meter items
public ResultsConfigDlg()
{
InitializeComponent();
}
void Localize()
{
Text = Strings.Configuration;
availableResultsLabel.Text = Strings.Available_results;
selectedResultsLabel.Text = Strings.Selected_results;
addButton.Text = Strings.Add;
removeButton.Text = Strings.Remove;
removeAllButton.Text = Strings.Remove_all;
okButton.Text = Strings.OkBtnText;
cancelButton.Text = Strings.CancelBtnText;
upButton.Text = Strings.UpBtnText;
downButton.Text = Strings.DownBtnText;
}
void ResultsConfig_Load(object sender, EventArgs e)
{
Localize();
/// Add columns to ListViewEx
selectedResultsListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Item, Width = 120 });
selectedResultsListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Caption });
selectedResultsListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Format });
selectedResultsListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Precision });
selectedResultsListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Width });
editors = new Control[]
{
null,
new TextBox(),
new TextBox(),
new TextBox(),
new TextBox(),
};
foreach (var edi in editors)
{
if (edi != null)
{
edi.Visible = false;
Controls.Add(edi);
}
}
selectedResultsListViewEx.SubItemClicked += new SubItemEventHandler(selectedResultsListViewEx_SubItemClicked);
selectedResultsListViewEx.SubItemEndEditing += new SubItemEndEditingEventHandler(selectedResultsListViewEx_SubItemEndEditing);
RedrawAvailable();
RedrawSelected();
}
void selectedResultsListViewEx_SubItemClicked(object sender, SubItemEventArgs e)
{
if ((e.SubItem > 0) && (e.SubItem < (int)Column.Count))
{
selectedResultsListViewEx.StartEditing(editors[e.SubItem], e.Item, e.SubItem);
}
}
void selectedResultsListViewEx_SubItemEndEditing(object sender, SubItemEndEditingEventArgs e)
{
ListViewItem lvi = e.Item;
ItemSpec item = lvi.Tag as ItemSpec;
switch ((Column)e.SubItem)
{
case Column.Caption: item.Caption = e.DisplayText; return;
case Column.Format: item.Format = e.DisplayText; return;
case Column.Precision: item.Precision = e.DisplayText; return;
case Column.Width:
{
int width;
if (Int32.TryParse(editors[e.SubItem].Text, out width) && width >= 0)
{
item.Width = width;
return; /// OK
}
break; /// Error
}
default:
return; /// OK
}
e.DisplayText = e.Item.SubItems[e.SubItem].Text;
e.Cancel = true;
return;
}
/// <summary>
/// Redraw selected items (right hand side)
/// </summary>
void RedrawAvailable()
{
availableResultsListBox.Items.Clear();
AvailableItems = new List<ItemSpec>();
foreach (var item in ItemSpec.AllItems)
{
AvailableItems.Add(item);
availableResultsListBox.Items.Add(item.Name);
}
}
/// <summary>
/// Redraw selected items (right hand side)
/// </summary>
void RedrawSelected()
{
selectedResultsListViewEx.Items.Clear();
foreach (var item in SelectedItems)
{
ListViewItem lvi = new ListViewItem(item.Name); /// Item
lvi.Tag = item;
lvi.SubItems.Add(item.Caption); /// Header
lvi.SubItems.Add(item.Format); /// Format
lvi.SubItems.Add(item.Precision); /// Precision
lvi.SubItems.Add(item.Width.ToString()); /// Width
selectedResultsListViewEx.Items.Add(lvi);
}
}
void UpdateSelectedFromView()
{
}
void availableResultsListBox_DoubleClick(object sender, EventArgs e)
{
/// Double click works when just one item is selected
if (availableResultsListBox.SelectedIndices.Count == 1)
{
var oriItem = AvailableItems[availableResultsListBox.SelectedIndices[0]];
SelectedItems.Add(oriItem.Clone());
RedrawAvailable();
RedrawSelected();
/// Select the last item
selectedResultsListViewEx.Focus();
selectedResultsListViewEx.Items[SelectedItems.Count - 1].Selected = true;
selectedResultsListViewEx.Items[SelectedItems.Count - 1].EnsureVisible();
}
}
void addButton_Click(object sender, EventArgs e)
{
/// Append at the end, this code supports multiple selected items,
/// although ListBox control settings may limit the max.number of selected items to one.
for (int i = availableResultsListBox.SelectedIndices.Count - 1; i >= 0; i--)
{
var oriItem = AvailableItems[availableResultsListBox.SelectedIndices[i]];
SelectedItems.Add(oriItem.Clone());
}
RedrawAvailable();
RedrawSelected();
/// Select the last item
selectedResultsListViewEx.Focus();
selectedResultsListViewEx.Items[SelectedItems.Count - 1].Selected = true;
selectedResultsListViewEx.Items[SelectedItems.Count - 1].EnsureVisible();
}
private void selectedResultsListBox_DoubleClick(object sender, EventArgs e)
{
/// Double click works when just one item is selected
if (selectedResultsListViewEx.SelectedIndices.Count == 1)
{
SelectedItems.RemoveAt(selectedResultsListViewEx.SelectedIndices[0]);
RedrawAvailable();
RedrawSelected();
}
}
void removeButton_Click(object sender, EventArgs e)
{
/// Remove from the list (the last selected item first so that the indexes are not affected)
for (int i = selectedResultsListViewEx.SelectedIndices.Count - 1; i >= 0; i--)
{
SelectedItems.RemoveAt(selectedResultsListViewEx.SelectedIndices[i]);
}
RedrawAvailable();
RedrawSelected();
}
void removeAllButton_Click(object sender, EventArgs e)
{
/// Remove all items from 'Selected' list
SelectedItems.Clear();
RedrawAvailable();
RedrawSelected();
}
void okButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
Close();
}
private void ResultsConfigDlg_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
private void upButton_Click(object sender, EventArgs e)
{
if (selectedResultsListViewEx.SelectedIndices.Count != 1) return;
int selIdx = selectedResultsListViewEx.SelectedIndices[0];
if (selIdx == 0)
{
/// Cannot move up
selectedResultsListViewEx.Focus();
selectedResultsListViewEx.Items[0].Selected = true;
return;
}
ItemSpec tmp = SelectedItems[selIdx - 1];
SelectedItems[selIdx - 1] = SelectedItems[selIdx];
SelectedItems[selIdx] = tmp;
RedrawSelected();
selectedResultsListViewEx.Focus();
selectedResultsListViewEx.Items[selIdx - 1].Selected = true;
selectedResultsListViewEx.Items[selIdx - 1].EnsureVisible();
}
private void downButton_Click(object sender, EventArgs e)
{
if (selectedResultsListViewEx.SelectedIndices.Count != 1) return;
int selIdx = selectedResultsListViewEx.SelectedIndices[0];
if (selIdx == SelectedItems.Count - 1)
{
/// Cannot move down
selectedResultsListViewEx.Focus();
selectedResultsListViewEx.Items[SelectedItems.Count - 1].Selected = true;
return;
}
ItemSpec tmp = SelectedItems[selIdx + 1];
SelectedItems[selIdx + 1] = SelectedItems[selIdx];
SelectedItems[selIdx] = tmp;
RedrawSelected();
selectedResultsListViewEx.Focus();
selectedResultsListViewEx.Items[selIdx + 1].Selected = true;
selectedResultsListViewEx.Items[selIdx + 1].EnsureVisible();
}
private void cancelButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
Close();
}
}
}
-201
View File
@@ -1,201 +0,0 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
///
namespace MonitoringDB.Forms
{
partial class ResultsConfigDlg
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.okButton = new System.Windows.Forms.Button();
this.cancelButton = new System.Windows.Forms.Button();
this.availableResultsListBox = new System.Windows.Forms.ListBox();
this.availableResultsLabel = new System.Windows.Forms.Label();
this.selectedResultsLabel = new System.Windows.Forms.Label();
this.removeAllButton = new System.Windows.Forms.Button();
this.removeButton = new System.Windows.Forms.Button();
this.addButton = new System.Windows.Forms.Button();
this.selectedResultsListViewEx = new MonitoringDB.Forms.ListViewEx();
this.upButton = new System.Windows.Forms.Button();
this.downButton = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// okButton
//
this.okButton.Location = new System.Drawing.Point(344, 401);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(104, 30);
this.okButton.TabIndex = 4;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// cancelButton
//
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelButton.Location = new System.Drawing.Point(465, 401);
this.cancelButton.Name = "cancelButton";
this.cancelButton.Size = new System.Drawing.Size(104, 30);
this.cancelButton.TabIndex = 5;
this.cancelButton.Text = "Cancel";
this.cancelButton.UseVisualStyleBackColor = true;
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
//
// availableResultsListBox
//
this.availableResultsListBox.FormattingEnabled = true;
this.availableResultsListBox.Location = new System.Drawing.Point(12, 31);
this.availableResultsListBox.Name = "availableResultsListBox";
this.availableResultsListBox.Size = new System.Drawing.Size(162, 355);
this.availableResultsListBox.TabIndex = 6;
this.availableResultsListBox.DoubleClick += new System.EventHandler(this.availableResultsListBox_DoubleClick);
//
// availableResultsLabel
//
this.availableResultsLabel.AutoSize = true;
this.availableResultsLabel.Location = new System.Drawing.Point(12, 9);
this.availableResultsLabel.Name = "availableResultsLabel";
this.availableResultsLabel.Size = new System.Drawing.Size(86, 13);
this.availableResultsLabel.TabIndex = 8;
this.availableResultsLabel.Text = "Available results:";
//
// selectedResultsLabel
//
this.selectedResultsLabel.AutoSize = true;
this.selectedResultsLabel.Location = new System.Drawing.Point(284, 9);
this.selectedResultsLabel.Name = "selectedResultsLabel";
this.selectedResultsLabel.Size = new System.Drawing.Size(85, 13);
this.selectedResultsLabel.TabIndex = 9;
this.selectedResultsLabel.Text = "Selected results:";
//
// removeAllButton
//
this.removeAllButton.Location = new System.Drawing.Point(184, 144);
this.removeAllButton.Name = "removeAllButton";
this.removeAllButton.Size = new System.Drawing.Size(94, 30);
this.removeAllButton.TabIndex = 46;
this.removeAllButton.Text = "<< R&emove all";
this.removeAllButton.UseVisualStyleBackColor = true;
this.removeAllButton.Click += new System.EventHandler(this.removeAllButton_Click);
//
// removeButton
//
this.removeButton.Location = new System.Drawing.Point(184, 109);
this.removeButton.Name = "removeButton";
this.removeButton.Size = new System.Drawing.Size(93, 30);
this.removeButton.TabIndex = 45;
this.removeButton.Text = "< &Remove";
this.removeButton.UseVisualStyleBackColor = true;
this.removeButton.Click += new System.EventHandler(this.removeButton_Click);
//
// addButton
//
this.addButton.Location = new System.Drawing.Point(184, 74);
this.addButton.Name = "addButton";
this.addButton.Size = new System.Drawing.Size(93, 30);
this.addButton.TabIndex = 44;
this.addButton.Text = "&Add >";
this.addButton.UseVisualStyleBackColor = true;
this.addButton.Click += new System.EventHandler(this.addButton_Click);
//
// selectedResultsListViewEx
//
this.selectedResultsListViewEx.AllowColumnReorder = true;
this.selectedResultsListViewEx.DoubleClickActivation = false;
this.selectedResultsListViewEx.FullRowSelect = true;
this.selectedResultsListViewEx.Location = new System.Drawing.Point(287, 31);
this.selectedResultsListViewEx.Name = "selectedResultsListViewEx";
this.selectedResultsListViewEx.Size = new System.Drawing.Size(594, 355);
this.selectedResultsListViewEx.TabIndex = 47;
this.selectedResultsListViewEx.UseCompatibleStateImageBehavior = false;
this.selectedResultsListViewEx.View = System.Windows.Forms.View.Details;
this.selectedResultsListViewEx.SubItemClicked += new MonitoringDB.Forms.SubItemEventHandler(this.selectedResultsListViewEx_SubItemClicked);
this.selectedResultsListViewEx.SubItemEndEditing += new MonitoringDB.Forms.SubItemEndEditingEventHandler(this.selectedResultsListViewEx_SubItemEndEditing);
//
// upButton
//
this.upButton.Location = new System.Drawing.Point(184, 236);
this.upButton.Name = "upButton";
this.upButton.Size = new System.Drawing.Size(93, 30);
this.upButton.TabIndex = 48;
this.upButton.Text = "Up";
this.upButton.UseVisualStyleBackColor = true;
this.upButton.Click += new System.EventHandler(this.upButton_Click);
//
// downButton
//
this.downButton.Location = new System.Drawing.Point(184, 272);
this.downButton.Name = "downButton";
this.downButton.Size = new System.Drawing.Size(93, 30);
this.downButton.TabIndex = 49;
this.downButton.Text = "Down";
this.downButton.UseVisualStyleBackColor = true;
this.downButton.Click += new System.EventHandler(this.downButton_Click);
//
// ResultsConfigDlg
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(893, 445);
this.Controls.Add(this.downButton);
this.Controls.Add(this.upButton);
this.Controls.Add(this.selectedResultsListViewEx);
this.Controls.Add(this.removeAllButton);
this.Controls.Add(this.removeButton);
this.Controls.Add(this.addButton);
this.Controls.Add(this.selectedResultsLabel);
this.Controls.Add(this.availableResultsLabel);
this.Controls.Add(this.availableResultsListBox);
this.Controls.Add(this.cancelButton);
this.Controls.Add(this.okButton);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "ResultsConfigDlg";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "ResultsConfig";
this.Load += new System.EventHandler(this.ResultsConfig_Load);
this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.ResultsConfigDlg_KeyPress);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.Button cancelButton;
private System.Windows.Forms.ListBox availableResultsListBox;
private System.Windows.Forms.Label availableResultsLabel;
private System.Windows.Forms.Label selectedResultsLabel;
private System.Windows.Forms.Button removeAllButton;
private System.Windows.Forms.Button removeButton;
private System.Windows.Forms.Button addButton;
private ListViewEx selectedResultsListViewEx;
private System.Windows.Forms.Button upButton;
private System.Windows.Forms.Button downButton;
}
}
-120
View File
@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
-263
View File
@@ -1,263 +0,0 @@
namespace MonitoringDB.Forms
{
partial class SettingsDlg
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.connectionStringTextBox = new System.Windows.Forms.TextBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.radioButton2 = new System.Windows.Forms.RadioButton();
this.radioButton1 = new System.Windows.Forms.RadioButton();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.workplaceNameTextBox = new System.Windows.Forms.TextBox();
this.saveButton = new System.Windows.Forms.Button();
this.cancelButton = new System.Windows.Forms.Button();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.extraBatteryLifetimeTextBox = new System.Windows.Forms.TextBox();
this.oracleGroupBox = new System.Windows.Forms.GroupBox();
this.checkPcbIsInOracleCheckBox = new System.Windows.Forms.CheckBox();
this.oracleBatteryCheckBox = new System.Windows.Forms.CheckBox();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.usersDBConnStringTextBox = new System.Windows.Forms.TextBox();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.oracleGroupBox.SuspendLayout();
this.groupBox5.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Controls.Add(this.connectionStringTextBox);
this.groupBox1.Location = new System.Drawing.Point(12, 69);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(622, 50);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Connection string pre záznamy z výroby";
//
// connectionStringTextBox
//
this.connectionStringTextBox.Location = new System.Drawing.Point(17, 18);
this.connectionStringTextBox.Name = "connectionStringTextBox";
this.connectionStringTextBox.Size = new System.Drawing.Size(586, 20);
this.connectionStringTextBox.TabIndex = 0;
//
// groupBox2
//
this.groupBox2.Controls.Add(this.radioButton2);
this.groupBox2.Controls.Add(this.radioButton1);
this.groupBox2.Location = new System.Drawing.Point(12, 250);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(268, 70);
this.groupBox2.TabIndex = 4;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Režim činnosti";
//
// radioButton2
//
this.radioButton2.AutoSize = true;
this.radioButton2.Location = new System.Drawing.Point(101, 41);
this.radioButton2.Name = "radioButton2";
this.radioButton2.Size = new System.Drawing.Size(58, 17);
this.radioButton2.TabIndex = 1;
this.radioButton2.TabStop = true;
this.radioButton2.Text = "Výroba";
this.radioButton2.UseVisualStyleBackColor = true;
//
// radioButton1
//
this.radioButton1.AutoSize = true;
this.radioButton1.Location = new System.Drawing.Point(101, 20);
this.radioButton1.Name = "radioButton1";
this.radioButton1.Size = new System.Drawing.Size(46, 17);
this.radioButton1.TabIndex = 0;
this.radioButton1.TabStop = true;
this.radioButton1.Text = "Test";
this.radioButton1.UseVisualStyleBackColor = true;
//
// groupBox3
//
this.groupBox3.Controls.Add(this.workplaceNameTextBox);
this.groupBox3.Location = new System.Drawing.Point(12, 12);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(622, 50);
this.groupBox3.TabIndex = 0;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Meno pracoviska";
//
// workplaceNameTextBox
//
this.workplaceNameTextBox.Location = new System.Drawing.Point(17, 18);
this.workplaceNameTextBox.Name = "workplaceNameTextBox";
this.workplaceNameTextBox.Size = new System.Drawing.Size(586, 20);
this.workplaceNameTextBox.TabIndex = 0;
//
// saveButton
//
this.saveButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.saveButton.Location = new System.Drawing.Point(348, 270);
this.saveButton.Name = "saveButton";
this.saveButton.Size = new System.Drawing.Size(104, 42);
this.saveButton.TabIndex = 6;
this.saveButton.Text = "Uložiť";
this.saveButton.UseVisualStyleBackColor = true;
this.saveButton.Click += new System.EventHandler(this.saveButton_Click);
//
// cancelButton
//
this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.cancelButton.Location = new System.Drawing.Point(488, 270);
this.cancelButton.Name = "cancelButton";
this.cancelButton.Size = new System.Drawing.Size(104, 42);
this.cancelButton.TabIndex = 7;
this.cancelButton.Text = "Zrušiť";
this.cancelButton.UseVisualStyleBackColor = true;
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
//
// groupBox4
//
this.groupBox4.Controls.Add(this.extraBatteryLifetimeTextBox);
this.groupBox4.Location = new System.Drawing.Point(12, 182);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(268, 62);
this.groupBox4.TabIndex = 3;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Predĺženie životnosti baterky v mesiacoch";
//
// extraBatteryLifetimeTextBox
//
this.extraBatteryLifetimeTextBox.Location = new System.Drawing.Point(17, 25);
this.extraBatteryLifetimeTextBox.Name = "extraBatteryLifetimeTextBox";
this.extraBatteryLifetimeTextBox.Size = new System.Drawing.Size(230, 20);
this.extraBatteryLifetimeTextBox.TabIndex = 0;
//
// oracleGroupBox
//
this.oracleGroupBox.Controls.Add(this.checkPcbIsInOracleCheckBox);
this.oracleGroupBox.Controls.Add(this.oracleBatteryCheckBox);
this.oracleGroupBox.Location = new System.Drawing.Point(297, 182);
this.oracleGroupBox.Name = "oracleGroupBox";
this.oracleGroupBox.Size = new System.Drawing.Size(337, 74);
this.oracleGroupBox.TabIndex = 5;
this.oracleGroupBox.TabStop = false;
this.oracleGroupBox.Text = "Oracle";
this.oracleGroupBox.Visible = false;
//
// checkPcbIsInOracleCheckBox
//
this.checkPcbIsInOracleCheckBox.AutoSize = true;
this.checkPcbIsInOracleCheckBox.Location = new System.Drawing.Point(18, 45);
this.checkPcbIsInOracleCheckBox.Name = "checkPcbIsInOracleCheckBox";
this.checkPcbIsInOracleCheckBox.Size = new System.Drawing.Size(213, 17);
this.checkPcbIsInOracleCheckBox.TabIndex = 0;
this.checkPcbIsInOracleCheckBox.Text = "Skontrolovať či PCB už bola overovaná";
this.checkPcbIsInOracleCheckBox.UseVisualStyleBackColor = true;
//
// oracleBatteryCheckBox
//
this.oracleBatteryCheckBox.AutoSize = true;
this.oracleBatteryCheckBox.Location = new System.Drawing.Point(18, 19);
this.oracleBatteryCheckBox.Name = "oracleBatteryCheckBox";
this.oracleBatteryCheckBox.Size = new System.Drawing.Size(193, 17);
this.oracleBatteryCheckBox.TabIndex = 0;
this.oracleBatteryCheckBox.Text = "Uložiť informácie o batérii do Oracle";
this.oracleBatteryCheckBox.UseVisualStyleBackColor = true;
//
// groupBox5
//
this.groupBox5.Controls.Add(this.usersDBConnStringTextBox);
this.groupBox5.Location = new System.Drawing.Point(12, 125);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(622, 50);
this.groupBox5.TabIndex = 2;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Connection string pre centrálnu databázu používateľov";
//
// usersDBConnStringTextBox
//
this.usersDBConnStringTextBox.Location = new System.Drawing.Point(17, 18);
this.usersDBConnStringTextBox.Name = "usersDBConnStringTextBox";
this.usersDBConnStringTextBox.Size = new System.Drawing.Size(586, 20);
this.usersDBConnStringTextBox.TabIndex = 0;
//
// SettingsDlg
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(648, 333);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.oracleGroupBox);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.cancelButton);
this.Controls.Add(this.saveButton);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.Name = "SettingsDlg";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Text = "SettingsDlg";
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.oracleGroupBox.ResumeLayout(false);
this.oracleGroupBox.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox connectionStringTextBox;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.TextBox workplaceNameTextBox;
private System.Windows.Forms.Button saveButton;
private System.Windows.Forms.Button cancelButton;
private System.Windows.Forms.RadioButton radioButton2;
private System.Windows.Forms.RadioButton radioButton1;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.TextBox extraBatteryLifetimeTextBox;
private System.Windows.Forms.GroupBox oracleGroupBox;
private System.Windows.Forms.CheckBox oracleBatteryCheckBox;
private System.Windows.Forms.CheckBox checkPcbIsInOracleCheckBox;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.TextBox usersDBConnStringTextBox;
}
}
-87
View File
@@ -1,87 +0,0 @@
using System;
using System.Windows.Forms;
namespace MonitoringDB.Forms
{
public partial class SettingsDlg : Form
{
public string WorkplaceName
{
set { workplaceNameTextBox.Text = value; }
get { return workplaceNameTextBox.Text; }
}
public string ConnectionString
{
set { connectionStringTextBox.Text = value; }
get { return connectionStringTextBox.Text; }
}
public string UsersDBConnString
{
set { usersDBConnStringTextBox.Text = value; }
get { return usersDBConnStringTextBox.Text; }
}
public bool OracleBattery
{
set { oracleBatteryCheckBox.Checked = value; }
get { return oracleBatteryCheckBox.Checked; }
}
public bool CheckPcbIsInOracle
{
set { checkPcbIsInOracleCheckBox.Checked = value; }
get { return checkPcbIsInOracleCheckBox.Checked; }
}
public int ExtraBatterLifetime
{
get
{
int extraLifetime;
if (int.TryParse(extraBatteryLifetimeTextBox.Text, out extraLifetime) && extraLifetime >= 0) return extraLifetime;
return 0;
}
}
public MonitoringDB.Mode Mode
{
set
{
radioButton1.Checked = (value == MonitoringDB.Mode.Test);
radioButton2.Checked = (value == MonitoringDB.Mode.Production);
}
get
{
return radioButton1.Checked ? MonitoringDB.Mode.Test : MonitoringDB.Mode.Production;
}
}
/// <summary>
/// Basic configuration dialog
/// </summary>
/// <param name="isWorkplace">false = Konfiguracia pracovisk, true = Pracovisko</param>
public SettingsDlg(bool isWorkplace)
{
InitializeComponent();
if (isWorkplace)
{
oracleGroupBox.Visible = true;
}
extraBatteryLifetimeTextBox.Text = "0";
}
private void saveButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
Close();
}
private void cancelButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
Close();
}
}
}
-120
View File
@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
-49
View File
@@ -1,49 +0,0 @@
using System;
using System.Windows.Forms;
namespace MonitoringDB.Forms
{
public partial class TrivialLoginDlg : Form
{
public LoginLevel LoginLevel;
public TrivialLoginDlg()
{
InitializeComponent();
LoginLevel = LoginLevel.None;
}
private void okButton_Click(object sender, EventArgs e)
{
if (passwordTextBox.Text.ToLower().Equals("barcode"))
{
LoginLevel = LoginLevel.Administrator;
DialogResult = DialogResult.OK;
Close();
}
else if (passwordTextBox.Text.ToLower().Equals("teamleader"))
{
LoginLevel = LoginLevel.TeamLeader;
DialogResult = DialogResult.OK;
Close();
}
else if (passwordTextBox.Text.ToLower().Equals("kremik"))
{
LoginLevel = LoginLevel.MH;
DialogResult = DialogResult.OK;
Close();
}
else
{
DialogResult = DialogResult.Cancel;
Close();
}
}
private void cancelButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
Close();
}
}
}
-105
View File
@@ -1,105 +0,0 @@
namespace MonitoringDB.Forms
{
partial class TrivialLoginDlg
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.passwordGroupBox = new System.Windows.Forms.GroupBox();
this.passwordTextBox = new System.Windows.Forms.TextBox();
this.okButton = new System.Windows.Forms.Button();
this.cancelButton = new System.Windows.Forms.Button();
this.passwordGroupBox.SuspendLayout();
this.SuspendLayout();
//
// passwordGroupBox
//
this.passwordGroupBox.Controls.Add(this.passwordTextBox);
this.passwordGroupBox.Location = new System.Drawing.Point(12, 10);
this.passwordGroupBox.Name = "passwordGroupBox";
this.passwordGroupBox.Size = new System.Drawing.Size(200, 49);
this.passwordGroupBox.TabIndex = 0;
this.passwordGroupBox.TabStop = false;
this.passwordGroupBox.Text = "Heslo";
//
// passwordTextBox
//
this.passwordTextBox.Location = new System.Drawing.Point(51, 18);
this.passwordTextBox.Name = "passwordTextBox";
this.passwordTextBox.PasswordChar = '*';
this.passwordTextBox.Size = new System.Drawing.Size(100, 20);
this.passwordTextBox.TabIndex = 0;
//
// okButton
//
this.okButton.Location = new System.Drawing.Point(237, 18);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(75, 39);
this.okButton.TabIndex = 1;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// cancelButton
//
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelButton.Location = new System.Drawing.Point(330, 18);
this.cancelButton.Name = "cancelButton";
this.cancelButton.Size = new System.Drawing.Size(75, 39);
this.cancelButton.TabIndex = 2;
this.cancelButton.Text = "Cancel";
this.cancelButton.UseVisualStyleBackColor = true;
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
//
// LoginDlg
//
this.AcceptButton = this.okButton;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.cancelButton;
this.ClientSize = new System.Drawing.Size(426, 73);
this.Controls.Add(this.cancelButton);
this.Controls.Add(this.okButton);
this.Controls.Add(this.passwordGroupBox);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "LoginDlg";
this.Text = "LoginDlg";
this.passwordGroupBox.ResumeLayout(false);
this.passwordGroupBox.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox passwordGroupBox;
private System.Windows.Forms.TextBox passwordTextBox;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.Button cancelButton;
}
}
-120
View File
@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
-306
View File
@@ -1,306 +0,0 @@
///
/// Copyright (c) 2016-2017 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using MonitoringDB.Entities;
using MonitoringDB.Resources;
using NHibernate;
using NHibernate.Criterion;
namespace MonitoringDB
{
public class ItemSpec
{
///
/// Function delegate to pick a reference record and convert it to a string
///
public delegate string PrintDlgt(object x, string format, string precision, int width);
///
/// Public fields
///
public readonly ItemSpecID Uid; /// Unique Uid used to distinguish items
public readonly string Name; /// Name that can be localized to identify the item in a list
public readonly PrintDlgt PrintFn; /// Function used to convert the result to a text
public string Caption; /// User defined text printed in the column header
public string Format; /// Specifies the text generation
public string Precision; /// Specifies the text generation
public int Width; /// Specifies the text generation
readonly ItemSpecCaps itemSpecCaps;
/// <summary> Public parameterless constructor </summary>
public ItemSpec()
{
}
/// <summary> Constructor to specify all items </summary>
public ItemSpec(ItemSpecID uid, string name, PrintDlgt printFn, ItemSpecCaps itemSpecCaps)
{
Uid = uid;
Name = name;
PrintFn = printFn;
this.itemSpecCaps = itemSpecCaps;
///
Caption = name;
Format = "{0}";
Precision = string.Empty;
Width = 0;
}
/// <summary> Copy constructor </summary>
public ItemSpec Clone()
{
ItemSpec newItem = new ItemSpec(Uid, Name, PrintFn, itemSpecCaps);
newItem.Caption = Caption;
newItem.Format = Format;
newItem.Precision = Precision;
newItem.Width = Width;
return newItem;
}
/// <summary> Safe wrapper which replaces null-s by empty strings </summary>
public string Print(object x)
{
string str = PrintFn(x, Format, Precision, Width);
return (str == null) ? string.Empty : str;
}
/// <summary> Similar to Print(), in addition embeds text into "" </summary>
public string Export(object x)
{
string str = PrintFn(x, Format, Precision, Width);
if (str == null) str = string.Empty;
if (Uid == ItemSpecID.Barcode || Uid == ItemSpecID.PartBarcode || Uid == ItemSpecID.SerialNr || Uid == ItemSpecID.PurchaseOrder)
{
return string.Format("=\"{0}\"", str);
}
return str;
}
/// Static list of all available items
public static readonly IList<ItemSpec> AllItems;
///
/// Static constructor that initializes the list of all items
///
static ItemSpec()
{
AllItems = new List<ItemSpec>();
AllItems.Add(new ItemSpec(ItemSpecID.RefRecordID, Strings.RefRecordID, (x, f, p, w) => ((int)x).ToString(), ItemSpecCaps.ReferenceRecord));
AllItems.Add(new ItemSpec(ItemSpecID.TimeStamp, Strings.Time_stamp, (x, f, p, w) => string.IsNullOrEmpty(f) ? ((DateTime)x).ToString() : string.Format(f, (DateTime)x), ItemSpecCaps.ReferenceRecord));
AllItems.Add(new ItemSpec(ItemSpecID.Workstep, Strings.Workstep, (x, f, p, w) => string.IsNullOrEmpty(f) ? ((Workstep)x).Name : string.Format(f, ((Workstep)x).Name), ItemSpecCaps.ReferenceRecord));
AllItems.Add(new ItemSpec(ItemSpecID.Workplace, Strings.Workplace, (x, f, p, w) => string.IsNullOrEmpty(f) ? (string)x : string.Format(f, x), ItemSpecCaps.ReferenceRecord));
AllItems.Add(new ItemSpec(ItemSpecID.UserName, Strings.User_name, (x, f, p, w) => string.IsNullOrEmpty(f) ? (string)x : string.Format(f, x), ItemSpecCaps.ReferenceRecord));
AllItems.Add(new ItemSpec(ItemSpecID.Barcode, Strings.Barcode, (x, f, p, w) => string.IsNullOrEmpty(f) ? (string)x : string.Format(f, x), ItemSpecCaps.ReferenceRecord));
AllItems.Add(new ItemSpec(ItemSpecID.PartBarcode, Strings.Part_barcode, (x, f, p, w) => string.IsNullOrEmpty(f) ? (string)x : string.Format(f, x), ItemSpecCaps.ReferenceRecord | ItemSpecCaps.AssociatedRecord));
AllItems.Add(new ItemSpec(ItemSpecID.TimeStamp2, Strings.Time_stamp+"2", (x, f, p, w) => string.IsNullOrEmpty(f) ? ((DateTime)x).ToString() : string.Format(f, (DateTime)x), ItemSpecCaps.ReferenceRecord));
AllItems.Add(new ItemSpec(ItemSpecID.Workstep2, Strings.Workstep+"2", (x, f, p, w) => string.IsNullOrEmpty(f) ? ((Workstep)x).Name : string.Format(f, ((Workstep)x).Name), ItemSpecCaps.ReferenceRecord));
AllItems.Add(new ItemSpec(ItemSpecID.Workplace2, Strings.Workplace+"2", (x, f, p, w) => string.IsNullOrEmpty(f) ? (string)x : string.Format(f, x), ItemSpecCaps.ReferenceRecord));
AllItems.Add(new ItemSpec(ItemSpecID.UserName2, Strings.User_name+"2", (x, f, p, w) => string.IsNullOrEmpty(f) ? (string)x : string.Format(f, x), ItemSpecCaps.ReferenceRecord));
AllItems.Add(new ItemSpec(ItemSpecID.Barcode2, Strings.Barcode+"2", (x, f, p, w) => string.IsNullOrEmpty(f) ? (string)x : string.Format(f, x), ItemSpecCaps.ReferenceRecord));
AllItems.Add(new ItemSpec(ItemSpecID.PartBarcode2, Strings.Part_barcode+"2",(x, f, p, w)=> string.IsNullOrEmpty(f) ? (string)x : string.Format(f, x), ItemSpecCaps.ReferenceRecord | ItemSpecCaps.AssociatedRecord));
AllItems.Add(new ItemSpec(ItemSpecID.SerialNr, Strings.Serial_nr, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery));
AllItems.Add(new ItemSpec(ItemSpecID.PurchaseOrder, Strings.Purchase_order, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery));
AllItems.Add(new ItemSpec(ItemSpecID.TestResult, Strings.Test_result, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery));
AllItems.Add(new ItemSpec(ItemSpecID.MaxPruefindex, Strings.Max_pruefindex, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery));
AllItems.Add(new ItemSpec(ItemSpecID.Process, Strings.Process, (x, f, p, w) => string.IsNullOrEmpty(f) ? ((Process)x).Name : string.Format(f, ((Process)x).Name), ItemSpecCaps.ReferenceRecord));
}
public PropertyProjection GetProperty(ReferenceRecord refRecord, Record record)
{
switch (Uid)
{
case ItemSpecID.RefRecordID: return Projections.Property(() => refRecord.Id);
case ItemSpecID.TimeStamp: return Projections.Property(() => refRecord.TimeStamp);
case ItemSpecID.Workstep: return Projections.Property(() => refRecord.Workstep);
case ItemSpecID.Workplace: return Projections.Property(() => refRecord.Workplace);
case ItemSpecID.UserName: return Projections.Property(() => refRecord.UserName);
case ItemSpecID.Barcode: return Projections.Property(() => refRecord.Code);
case ItemSpecID.PartBarcode: return Projections.Property(() => record.Code);
case ItemSpecID.TimeStamp2: return null;
case ItemSpecID.Workstep2: return null;
case ItemSpecID.Workplace2: return null;
case ItemSpecID.UserName2: return null;
case ItemSpecID.Barcode2: return null;
case ItemSpecID.PartBarcode2: return null;
case ItemSpecID.SerialNr: return null;
case ItemSpecID.PurchaseOrder: return null;
case ItemSpecID.TestResult: return null;
case ItemSpecID.MaxPruefindex: return null;
case ItemSpecID.Process: return Projections.Property(() => refRecord.Process);
default: return null;
}
}
public PropertyProjection GetProperty2(ReferenceRecord refRecord2, Record record2)
{
switch (Uid)
{
case ItemSpecID.RefRecordID: return null;
case ItemSpecID.TimeStamp: return null;
case ItemSpecID.Workstep: return null;
case ItemSpecID.Workplace: return null;
case ItemSpecID.UserName: return null;
case ItemSpecID.Barcode: return null;
case ItemSpecID.PartBarcode: return null;
case ItemSpecID.TimeStamp2: return Projections.Property(() => refRecord2.TimeStamp);
case ItemSpecID.Workstep2: return Projections.Property(() => refRecord2.Workstep);
case ItemSpecID.Workplace2: return Projections.Property(() => refRecord2.Workplace);
case ItemSpecID.UserName2: return Projections.Property(() => refRecord2.UserName);
case ItemSpecID.Barcode2: return Projections.Property(() => refRecord2.Code);
case ItemSpecID.PartBarcode2: return Projections.Property(() => record2.Code);
case ItemSpecID.SerialNr: return null;
case ItemSpecID.PurchaseOrder: return null;
case ItemSpecID.TestResult: return null;
case ItemSpecID.MaxPruefindex: return null;
case ItemSpecID.Process: return Projections.Property(() => refRecord2.Process);
default: return null;
}
}
public ItemSpecCaps GetCaps()
{
return itemSpecCaps;
}
public static ItemSpec GetItem(ItemSpecID id)
{
foreach (var item in AllItems)
if (item.Uid == id)
return item.Clone();
return null;
}
public static ItemSpec GetItem(string uidName)
{
foreach (var item in AllItems)
if (item.Uid.ToString() == uidName)
return item.Clone();
return null;
}
public static ProjectionList GetProjections(IList<ItemSpec> items, ReferenceRecord refRecord, Record record)
{
ProjectionList projections = Projections.ProjectionList();
foreach (var item in items)
{
PropertyProjection projection = item.GetProperty(refRecord, record);
if (projection != null)
projections.Add(projection);
}
return projections;
}
public static IList<object[]> Expand(IList<object[]> data, IList<ItemSpec> items)
{
if (data.Count == 0) return data;
int iSize = data[0].Length;
int oSize = items.Count;
for (int i = 0; i < data.Count; i++)
{
object[] inArr = data[i];
object[] outArr = new object[oSize];
int srcIx = 0;
for (int dstIx = 0; dstIx < oSize; dstIx++)
{
outArr[dstIx] = ((items[dstIx].GetCaps() & ItemSpecCaps.OracleQuery) == ItemSpecCaps.OracleQuery) ? string.Empty : inArr[srcIx++];
}
data[i] = outArr;
}
return data;
}
//static string GetPartCode(ReferenceRecord refRecord, string partName)
//{
// if (refRecord != null && refRecord.Records != null)
// {
// foreach (var record in refRecord.Records)
// {
// if (record.Part.Name.Equals(partName))
// {
// return record.Code;
// }
// }
// }
// return string.Empty;
//}
public static string[] ToStrArray(IList<ItemSpec> items)
{
int count = (items != null) ? items.Count : 0;
string[] result = new string[count];
for (int i = 0; i < count; i++)
{
result[i] = string.Format("{0}~{1}~{2}~{3}~{4}",
items[i].Uid,
items[i].Caption,
items[i].Format,
items[i].Precision,
items[i].Width);
}
return result;
}
public static IList<ItemSpec> FromStrArray(string[] strArray)
{
IList<ItemSpec> result = new List<ItemSpec>();
if (strArray != null)
{
for (int i = 0; i < strArray.Length; i++)
{
string[] field = strArray[i].Split(new char[] { '~' });
try
{
ItemSpec item = GetItem(field[0]);
item.Caption = field[1];
item.Format = field[2];
item.Precision = field[3];
item.Width = int.Parse(field[4]);
result.Add(item);
}
catch
{
ItemSpec item = GetItem(ItemSpecID.RefRecordID);
item.Format = string.Format("Parse error: {0}", strArray[i]);
result.Add(item);
}
}
}
return result;
}
}
}
-23
View File
@@ -1,23 +0,0 @@
using FluentNHibernate.Mapping;
namespace MonitoringDB.Mappings
{
class PartMap : ClassMap<Entities.Part>
{
public PartMap()
{
Id(x => x.Id);
Map(x => x.Name);
Map(x => x.OraDBType);
Map(x => x.Description);
Map(x => x.CodeType);
Map(x => x.CodeForm);
Map(x => x.CodeLocation);
Map(x => x.LifetimeManagement);
Map(x => x.StepNumber);
References(x => x.Process);
References(x => x.Workstep);
}
}
}
-25
View File
@@ -1,25 +0,0 @@
using FluentNHibernate.Mapping;
namespace MonitoringDB.Mappings
{
class ProcessMap : ClassMap<Entities.Process>
{
public ProcessMap()
{
Id(x => x.Id);
Map(x => x.ItemNr);
Map(x => x.Name);
Map(x => x.Description);
Map(x => x.ReleaseStatus);
Map(x => x.TimeStamp);
Map(x => x.UserName);
HasMany(x => x.Parts)
.OrderBy("Name")
.Cascade.All();
HasMany(x => x.Worksteps)
.OrderBy("WorkstepNr")
.Cascade.All();
}
}
}
-17
View File
@@ -1,17 +0,0 @@
using FluentNHibernate.Mapping;
namespace MonitoringDB.Mappings
{
class RecordMap : ClassMap<Entities.Record>
{
public RecordMap()
{
Id(x => x.Id);
Map(x => x.Code);
Map(x => x.TimeStamp);
References(x => x.Part);
References(x => x.ReferenceRecord);
}
}
}
@@ -1,22 +0,0 @@
using FluentNHibernate.Mapping;
namespace MonitoringDB.Mappings
{
class ReferenceRecordMap : ClassMap<Entities.ReferenceRecord>
{
public ReferenceRecordMap()
{
Id(x => x.Id);
Map(x => x.Code);
Map(x => x.TimeStamp);
Map(x => x.UserName);
Map(x => x.Workplace);
Map(x => x.Result);
References(x => x.Process);
References(x => x.Workstep);
HasMany(x => x.Records)
.Cascade.All();
}
}
}
-23
View File
@@ -1,23 +0,0 @@
using FluentNHibernate.Mapping;
namespace MonitoringDB.Mappings
{
class WorkstepMap : ClassMap<Entities.Workstep>
{
public WorkstepMap()
{
Id(x => x.Id);
Map(x => x.WorkstepNr);
Map(x => x.Name);
Map(x => x.Description);
Map(x => x.CheckPartNr);
Map(x => x.AllowRepairs);
References(x => x.Process);
References(x => x.ReferencePart);
HasMany(x => x.Parts)
.OrderBy("StepNumber")
.Cascade.All();
}
}
}
-157
View File
@@ -1,157 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MonitoringDB</RootNamespace>
<AssemblyName>MonitoringDB</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="FluentNHibernate, Version=2.0.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Iesi.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<HintPath>..\packages\Iesi.Collections.4.0.0.4000\lib\net40\Iesi.Collections.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="log4net">
<HintPath>..\packages\log4net.2.0.2\lib\net40-full\log4net.dll</HintPath>
</Reference>
<Reference Include="MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\MySql.Data.6.6.5\lib\net40\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="NHibernate, Version=4.0.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<HintPath>..\packages\NHibernate.4.0.4.4000\lib\net40\NHibernate.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Forms\ListViewEx.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Forms\TrivialLoginDlg.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\TrivialLoginDlg.designer.cs">
<DependentUpon>TrivialLoginDlg.cs</DependentUpon>
</Compile>
<Compile Include="Forms\ModelessForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\ModelessForm.designer.cs">
<DependentUpon>ModelessForm.cs</DependentUpon>
</Compile>
<Compile Include="Forms\ResultsConfigDlg.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\ResultsConfigDlg.designer.cs">
<DependentUpon>ResultsConfigDlg.cs</DependentUpon>
</Compile>
<Compile Include="Forms\SettingsDlg.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\SettingsDlg.designer.cs">
<DependentUpon>SettingsDlg.cs</DependentUpon>
</Compile>
<Compile Include="ItemSpec.cs" />
<Compile Include="QuitAppException.cs" />
<Compile Include="Resources\Strings.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Strings.resx</DependentUpon>
</Compile>
<Compile Include="ScanVerificationInfo.cs" />
<Compile Include="SerializableDictionary.cs" />
<Compile Include="WMPart.cs" />
<Compile Include="Entities\Part.cs" />
<Compile Include="Entities\Process.cs" />
<Compile Include="Entities\Record.cs" />
<Compile Include="Entities\ReferenceRecord.cs" />
<Compile Include="Entities\Workstep.cs" />
<Compile Include="Enums.cs" />
<Compile Include="FluentNH.cs" />
<Compile Include="Mappings\PartMap.cs" />
<Compile Include="Mappings\ProcessMap.cs" />
<Compile Include="Mappings\RecordMap.cs" />
<Compile Include="Mappings\ReferenceRecordMap.cs" />
<Compile Include="Mappings\WorkstepMap.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Forms\ListViewEx.resx">
<DependentUpon>ListViewEx.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\TrivialLoginDlg.resx">
<DependentUpon>TrivialLoginDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\ModelessForm.resx">
<DependentUpon>ModelessForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\ResultsConfigDlg.resx">
<DependentUpon>ResultsConfigDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\SettingsDlg.resx">
<DependentUpon>SettingsDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Resources\Strings.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Strings.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
-36
View File
@@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Common")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Common")]
[assembly: AssemblyCopyright("Copyright © 2015-2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("b182c80f-8670-40ab-ad26-6fb8de86552e")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.5.57.0")]
[assembly: AssemblyFileVersion("1.5.57.0")]
-63
View File
@@ -1,63 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace MonitoringDB.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MonitoringDB.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}
-120
View File
@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
-12
View File
@@ -1,12 +0,0 @@
using System;
namespace MonitoringDB
{
public class QuitAppException : Exception
{
public QuitAppException(string message)
: base(message)
{
}
}
}
-333
View File
@@ -1,333 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace MonitoringDB.Resources {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Strings {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Strings() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MonitoringDB.Resources.Strings", typeof(Strings).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Add &gt;.
/// </summary>
internal static string Add {
get {
return ResourceManager.GetString("Add", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Available results.
/// </summary>
internal static string Available_results {
get {
return ResourceManager.GetString("Available_results", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Barcode.
/// </summary>
internal static string Barcode {
get {
return ResourceManager.GetString("Barcode", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Cancel.
/// </summary>
internal static string CancelBtnText {
get {
return ResourceManager.GetString("CancelBtnText", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Caption.
/// </summary>
internal static string Caption {
get {
return ResourceManager.GetString("Caption", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Configuration.
/// </summary>
internal static string Configuration {
get {
return ResourceManager.GetString("Configuration", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Down.
/// </summary>
internal static string DownBtnText {
get {
return ResourceManager.GetString("DownBtnText", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Format.
/// </summary>
internal static string Format {
get {
return ResourceManager.GetString("Format", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Item.
/// </summary>
internal static string Item {
get {
return ResourceManager.GetString("Item", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Max. prüfindex.
/// </summary>
internal static string Max_pruefindex {
get {
return ResourceManager.GetString("Max_pruefindex", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to OK.
/// </summary>
internal static string OkBtnText {
get {
return ResourceManager.GetString("OkBtnText", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Another part barcode.
/// </summary>
internal static string Part_barcode {
get {
return ResourceManager.GetString("Part_barcode", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Precision.
/// </summary>
internal static string Precision {
get {
return ResourceManager.GetString("Precision", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Process.
/// </summary>
internal static string Process {
get {
return ResourceManager.GetString("Process", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Purchase order.
/// </summary>
internal static string Purchase_order {
get {
return ResourceManager.GetString("Purchase_order", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Record ID.
/// </summary>
internal static string RefRecordID {
get {
return ResourceManager.GetString("RefRecordID", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &lt; Remove.
/// </summary>
internal static string Remove {
get {
return ResourceManager.GetString("Remove", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Remove all.
/// </summary>
internal static string Remove_all {
get {
return ResourceManager.GetString("Remove_all", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Selected results.
/// </summary>
internal static string Selected_results {
get {
return ResourceManager.GetString("Selected_results", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Serial nr..
/// </summary>
internal static string Serial_nr {
get {
return ResourceManager.GetString("Serial_nr", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Serial_number.
/// </summary>
internal static string Serial_number {
get {
return ResourceManager.GetString("Serial_number", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Summary.
/// </summary>
internal static string Summary {
get {
return ResourceManager.GetString("Summary", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Test result.
/// </summary>
internal static string Test_result {
get {
return ResourceManager.GetString("Test_result", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Text.
/// </summary>
internal static string Text {
get {
return ResourceManager.GetString("Text", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Time stamp.
/// </summary>
internal static string Time_stamp {
get {
return ResourceManager.GetString("Time_stamp", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Up.
/// </summary>
internal static string UpBtnText {
get {
return ResourceManager.GetString("UpBtnText", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to User name.
/// </summary>
internal static string User_name {
get {
return ResourceManager.GetString("User_name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Width.
/// </summary>
internal static string Width {
get {
return ResourceManager.GetString("Width", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Workplace.
/// </summary>
internal static string Workplace {
get {
return ResourceManager.GetString("Workplace", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Workstep.
/// </summary>
internal static string Workstep {
get {
return ResourceManager.GetString("Workstep", resourceCulture);
}
}
}
}
-25
View File
@@ -1,25 +0,0 @@
using MonitoringDB.Entities;
namespace MonitoringDB
{
public class ScanVerificationInfo
{
public Workstep Workstep; /// null = verification is disabled
public bool VerifyReferencePart; /// true = verify current workstep ReferencePart with another part
/// false = verify Part from current workstep parts with ReferencePart of another Workstep
public Part Part; /// Applicable when VerifyReferencePart == false
/// Constructor that disables verification
public ScanVerificationInfo()
{
Workstep = null;
}
public ScanVerificationInfo(Workstep workstep, bool verifyReferencePart, Part part)
{
Workstep = workstep;
VerifyReferencePart = verifyReferencePart;
Part = part;
}
}
}
-69
View File
@@ -1,69 +0,0 @@
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
namespace MonitoringDB
{
[XmlRoot("dictionary")]
public class SerializableDictionary<TKey, TValue>
: Dictionary<TKey, TValue>, IXmlSerializable
{
public System.Xml.Schema.XmlSchema GetSchema()
{
return null;
}
public void ReadXml(System.Xml.XmlReader reader)
{
XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));
XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));
bool wasEmpty = reader.IsEmptyElement;
reader.Read();
if (wasEmpty)
return;
while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
{
reader.ReadStartElement("item");
reader.ReadStartElement("key");
TKey key = (TKey)keySerializer.Deserialize(reader);
reader.ReadEndElement();
reader.ReadStartElement("value");
TValue value = (TValue)valueSerializer.Deserialize(reader);
reader.ReadEndElement();
this.Add(key, value);
reader.ReadEndElement();
reader.MoveToContent();
}
reader.ReadEndElement();
}
public void WriteXml(System.Xml.XmlWriter writer)
{
XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));
XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));
foreach (TKey key in this.Keys)
{
writer.WriteStartElement("item");
writer.WriteStartElement("key");
keySerializer.Serialize(writer, key);
writer.WriteEndElement();
writer.WriteStartElement("value");
TValue value = this[key];
valueSerializer.Serialize(writer, value);
writer.WriteEndElement();
writer.WriteEndElement();
}
}
}
}
-53
View File
@@ -1,53 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MonitoringDB.Entities;
namespace MonitoringDB
{
public class WMPart
{
public string Name;
public Process Process;
public string OraDBType;
public string Description;
public string Code;
public DateTime TimeStamp;
public CodeType CodeType;
public CodeForm CodeForm;
public CodeLocation CodeLocation;
public string UserName;
public string Workplace;
public WMPart(ReferenceRecord rr)
{
Name = rr.Workstep.ReferencePart.Name;
Process = rr.Process;
OraDBType = rr.Workstep.ReferencePart.OraDBType;
Description = rr.Workstep.ReferencePart.Description;
Code = rr.Code;
TimeStamp = rr.TimeStamp;
CodeType = rr.Workstep.ReferencePart.CodeType;
CodeForm = rr.Workstep.ReferencePart.CodeForm;
CodeLocation = rr.Workstep.ReferencePart.CodeLocation;
UserName = rr.UserName;
Workplace = rr.Workplace;
}
public WMPart(Record r)
{
Name = r.Part.Name;
Process = r.Part.Process;
OraDBType = r.Part.OraDBType;
Description = r.Part.Description;
Code = r.Code;
TimeStamp = r.TimeStamp;
CodeType = r.Part.CodeType;
CodeForm = r.Part.CodeForm;
CodeLocation = r.Part.CodeLocation;
UserName = r.ReferenceRecord.UserName;
Workplace = r.ReferenceRecord.Workplace;
}
}
}
-15
View File
@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.4000" newVersion="4.0.0.4000" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Iesi.Collections" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
-6
View File
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FluentNHibernate" version="2.0.3.0" targetFramework="net40" />
<package id="Iesi.Collections" version="4.0.0.4000" targetFramework="net40" />
<package id="NHibernate" version="4.0.4.4000" targetFramework="net40" />
</packages>
+6 -54
View File
@@ -107,61 +107,13 @@ namespace Results.Entities
return (timeSum == 0) ? 0 : (sum / timeSum);
}
public virtual double AmbTempStart()
{
for (int i = 0; i < TestRslts.Count; i++)
{
if (TestRslts[i].Publish() == Config.Entities.Publish.Always)
return TestRslts[i].AmbTempStart;
}
return 0;
}
public virtual double AmbPressStart()
{
for (int i = 0; i < TestRslts.Count; i++)
{
if (TestRslts[i].Publish() == Config.Entities.Publish.Always)
return TestRslts[i].AmbPressStart;
}
return 0;
}
public virtual double AmbHumiStart()
{
for (int i = 0; i < TestRslts.Count; i++)
{
if (TestRslts[i].Publish() == Config.Entities.Publish.Always)
return TestRslts[i].AmbHumiStart;
}
return 0;
}
public virtual double AmbTempStart() { return (TestRslts.Count > 0) ? TestRslts[0].AmbTempStart : 0; }
public virtual double AmbPressStart() { return (TestRslts.Count > 0) ? TestRslts[0].AmbPressStart : 0; }
public virtual double AmbHumiStart() { return (TestRslts.Count > 0) ? TestRslts[0].AmbHumiStart : 0; }
public virtual double AmbTempEnd()
{
for (int i = TestRslts.Count - 1; i >= 0; i++)
{
if (TestRslts[i].Publish() == Config.Entities.Publish.Always)
return TestRslts[i].AmbTempEnd;
}
return 0;
}
public virtual double AmbPressEnd()
{
for (int i = TestRslts.Count - 1; i >= 0; i++)
{
if (TestRslts[i].Publish() == Config.Entities.Publish.Always)
return TestRslts[i].AmbPressEnd;
}
return 0;
}
public virtual double AmbHumiEnd()
{
for (int i = TestRslts.Count - 1; i >= 0; i++)
{
if (TestRslts[i].Publish() == Config.Entities.Publish.Always)
return TestRslts[i].AmbHumiEnd;
}
return 0;
}
public virtual double AmbTempEnd() { return (TestRslts.Count > 0) ? TestRslts[TestRslts.Count - 1].AmbTempEnd : 0; }
public virtual double AmbPressEnd() { return (TestRslts.Count > 0) ? TestRslts[TestRslts.Count - 1].AmbPressEnd : 0; }
public virtual double AmbHumiEnd() { return (TestRslts.Count > 0) ? TestRslts[TestRslts.Count - 1].AmbHumiEnd : 0; }
public virtual double Buoyancy()
{
+1 -1
View File
@@ -109,7 +109,7 @@ namespace Results.Entities
public virtual float FlowMax { get; set; } /// [m3/h]
public virtual float Custom1 { get; set; } /// [°C] T ref hi mean
public virtual float Custom2 { get; set; } /// [°C] T ref hi start
public virtual float Custom2 { get; set; } /// [°C] T ref hi start
public virtual float Custom3 { get; set; } /// [°C] T ref hi end
public virtual float Custom4 { get; set; } /// [°C] T ref hi min
public virtual float Custom5 { get; set; } /// [°C] T ref hi max
-1
View File
@@ -211,7 +211,6 @@ namespace Results
Formatted_WM_ID, /// 184, Formated WM ID string:
/// {0}=start DateTime {1}-end DateTime, {2}=batch nr., {3}=wm pos.(1..max), {4}=s/n string
E21, /// 185
Count,
}
+2 -2
View File
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.18.815.0")]
[assembly: AssemblyFileVersion("2.18.815.0")]
[assembly: AssemblyVersion("2.18.782.0")]
[assembly: AssemblyFileVersion("2.18.782.0")]
+6 -7
View File
@@ -262,12 +262,12 @@ namespace Results
///
/// Ambient temperature/pressure/humidity/Buoyancy
///
AllItems.Add(new WMeterRsltItemSpec(ItemID.Ambient_temperature, string.Format("{0} Amb M", Strings.VName_Temp), Strings.Tooltip_T_Amb_M, Quantity.Temperature, ItemCategory.TestResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", (w.GetTestRslt(t) == null) ? w.Batch.AmbTempMean() : w.GetTestRslt(t).AmbTempMean)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Ambient_temperature, string.Format("{0} Amb M", Strings.VName_Temp), Strings.Tooltip_T_Amb_M, Quantity.Temperature, ItemCategory.TestResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", (w.GetTestRslt(t) == null) ? w.Batch.AmbTempMean() : w.GetTestRslt(t).AmbTempMean)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Ambient_pressure, string.Format("{0} Amb M", Strings.VName_Press), Strings.Tooltip_P_Amb_M, Quantity.Pressure, ItemCategory.TestResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V4", (w.GetTestRslt(t) == null) ? w.Batch.AmbPressMean() : w.GetTestRslt(t).AmbPressMean)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Ambient_humidity, string.Format("{0} Amb M", Strings.VName_Humi), Strings.Tooltip_Hu_Amb_M, Quantity.Humidity, ItemCategory.TestResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V2", (w.GetTestRslt(t) == null) ? w.Batch.AmbHumiMean() : w.GetTestRslt(t).AmbHumiMean)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Amb_temp_start_end, string.Format("{0} Amb ST/EN", Strings.VName_Temp), Quantity.Temperature, ItemCategory.TestResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", (w.GetTestRslt(t) == null) ? w.Batch.AmbTempStart() : w.GetTestRslt(t).AmbTempStart, (w.GetTestRslt(t) == null) ? w.Batch.AmbTempEnd() : w.GetTestRslt(t).AmbTempEnd)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Amb_press_start_end, string.Format("{0} Amb ST/EN", Strings.VName_Press), Quantity.Pressure, ItemCategory.TestResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V4", (w.GetTestRslt(t) == null) ? w.Batch.AmbPressStart(): w.GetTestRslt(t).AmbPressStart, (w.GetTestRslt(t) == null) ? w.Batch.AmbPressEnd() : w.GetTestRslt(t).AmbPressEnd)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Amb_humi_start_end, string.Format("{0} Amb ST/EN", Strings.VName_Humi), Quantity.Humidity, ItemCategory.TestResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V2", (w.GetTestRslt(t) == null) ? w.Batch.AmbHumiStart() : w.GetTestRslt(t).AmbHumiStart, (w.GetTestRslt(t) == null) ? w.Batch.AmbHumiEnd() : w.GetTestRslt(t).AmbHumiEnd)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Ambient_humidity, string.Format("{0} Amb M", Strings.VName_Humi), Strings.Tooltip_Hu_Amb_M, Quantity.Humidity, ItemCategory.TestResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V2", (w.GetTestRslt(t) == null) ? w.Batch.AmbHumiMean() : w.GetTestRslt(t).AmbHumiMean)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Amb_temp_start_end, string.Format("{0} Amb ST/EN", Strings.VName_Temp), Quantity.Temperature, ItemCategory.TestResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", (w.GetTestRslt(t) == null) ? w.Batch.AmbTempStart() : w.GetTestRslt(t).AmbTempStart, (w.GetTestRslt(t) == null) ? w.Batch.AmbTempEnd() : w.GetTestRslt(t).AmbTempEnd)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Amb_press_start_end, string.Format("{0} Amb ST/EN", Strings.VName_Press), Quantity.Pressure, ItemCategory.TestResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V4", (w.GetTestRslt(t) == null) ? w.Batch.AmbPressStart() : w.GetTestRslt(t).AmbPressStart, (w.GetTestRslt(t) == null) ? w.Batch.AmbPressEnd() : w.GetTestRslt(t).AmbPressEnd)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Amb_humi_start_end, string.Format("{0} Amb ST/EN", Strings.VName_Humi), Quantity.Humidity, ItemCategory.TestResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V2", (w.GetTestRslt(t) == null) ? w.Batch.AmbHumiStart() : w.GetTestRslt(t).AmbHumiStart, (w.GetTestRslt(t) == null) ? w.Batch.AmbHumiEnd() : w.GetTestRslt(t).AmbHumiEnd)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Buoyancy, "Buoyancy ()", Quantity.Number, ItemCategory.TestResult, (w, t, u, f, p) => string.IsNullOrEmpty(t) ? FormatDbl(u, f, p, "V6", w.Batch.Buoyancy()) : ((w.GetTestRslt(t) != null) ? FormatDbl(u, f, p, "V6", (w.GetTestRslt(t).Buoyancy)) : "")));
///
@@ -392,7 +392,6 @@ namespace Results
AllItems.Add(new WMeterRsltItemSpec(ItemID.E14, "E14 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x2000) != 0) ? Strings.Yes : Strings.No));
AllItems.Add(new WMeterRsltItemSpec(ItemID.E15, "E15 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x4000) != 0) ? Strings.Yes : Strings.No));
AllItems.Add(new WMeterRsltItemSpec(ItemID.E16, "E16 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x8000) != 0) ? Strings.Yes : Strings.No));
AllItems.Add(new WMeterRsltItemSpec(ItemID.E21, "E21 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x100000) != 0) ? Strings.Yes : Strings.No));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Table_row_nr, "Table row #", Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? TableRowNr.ToString() : string.Format(f, TableRowNr)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.Table_column_nr, "Table column #", Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? TableColumnNr.ToString() : string.Format(f, TableColumnNr)));
@@ -459,7 +458,7 @@ namespace Results
public static string FormatDbl(Config.Unit units, string format, string precisionOrEmpty, string dfltPrecision, double v1, double v2, CultureInfo ci)
{
double val1 = Config.Units.ConvertTo(units, v1);
double val2 = Config.Units.ConvertTo(units, v2);
double val2 = Config.Units.ConvertTo(units, v1);
string precision = string.IsNullOrEmpty(precisionOrEmpty) ? dfltPrecision : precisionOrEmpty;
+237
View File
@@ -0,0 +1,237 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
namespace ResultsBrowser.Forms
{
partial class ResultsConfig
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.okButton = new System.Windows.Forms.Button();
this.cancelButton = new System.Windows.Forms.Button();
this.availableResultsListBox = new System.Windows.Forms.ListBox();
this.selectedResultsListBox = new System.Windows.Forms.ListBox();
this.availableResultsLabel = new System.Windows.Forms.Label();
this.selectedResultsLabel = new System.Windows.Forms.Label();
this.removeAllButton = new System.Windows.Forms.Button();
this.removeButton = new System.Windows.Forms.Button();
this.addButton = new System.Windows.Forms.Button();
this.unlockButton = new System.Windows.Forms.Button();
this.singleRadioButton = new System.Windows.Forms.RadioButton();
this.combinedRadioButton = new System.Windows.Forms.RadioButton();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// okButton
//
this.okButton.Location = new System.Drawing.Point(283, 57);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(104, 30);
this.okButton.TabIndex = 4;
this.okButton.Text = "Close";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// cancelButton
//
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelButton.Location = new System.Drawing.Point(283, 94);
this.cancelButton.Name = "cancelButton";
this.cancelButton.Size = new System.Drawing.Size(104, 30);
this.cancelButton.TabIndex = 5;
this.cancelButton.Text = "Cancel";
this.cancelButton.UseVisualStyleBackColor = true;
this.cancelButton.Visible = false;
//
// availableResultsListBox
//
this.availableResultsListBox.Enabled = false;
this.availableResultsListBox.FormattingEnabled = true;
this.availableResultsListBox.Location = new System.Drawing.Point(12, 162);
this.availableResultsListBox.Name = "availableResultsListBox";
this.availableResultsListBox.Size = new System.Drawing.Size(135, 186);
this.availableResultsListBox.TabIndex = 6;
this.availableResultsListBox.DoubleClick += new System.EventHandler(this.availableResultsListBox_DoubleClick);
//
// selectedResultsListBox
//
this.selectedResultsListBox.Enabled = false;
this.selectedResultsListBox.FormattingEnabled = true;
this.selectedResultsListBox.Location = new System.Drawing.Point(252, 162);
this.selectedResultsListBox.Name = "selectedResultsListBox";
this.selectedResultsListBox.Size = new System.Drawing.Size(135, 186);
this.selectedResultsListBox.TabIndex = 7;
this.selectedResultsListBox.DoubleClick += new System.EventHandler(this.selectedResultsListBox_DoubleClick);
//
// availableResultsLabel
//
this.availableResultsLabel.AutoSize = true;
this.availableResultsLabel.Location = new System.Drawing.Point(12, 140);
this.availableResultsLabel.Name = "availableResultsLabel";
this.availableResultsLabel.Size = new System.Drawing.Size(86, 13);
this.availableResultsLabel.TabIndex = 8;
this.availableResultsLabel.Text = "Available results:";
//
// selectedResultsLabel
//
this.selectedResultsLabel.AutoSize = true;
this.selectedResultsLabel.Location = new System.Drawing.Point(249, 140);
this.selectedResultsLabel.Name = "selectedResultsLabel";
this.selectedResultsLabel.Size = new System.Drawing.Size(85, 13);
this.selectedResultsLabel.TabIndex = 9;
this.selectedResultsLabel.Text = "Selected results:";
//
// removeAllButton
//
this.removeAllButton.Anchor = System.Windows.Forms.AnchorStyles.None;
this.removeAllButton.Enabled = false;
this.removeAllButton.Location = new System.Drawing.Point(153, 273);
this.removeAllButton.Name = "removeAllButton";
this.removeAllButton.Size = new System.Drawing.Size(94, 30);
this.removeAllButton.TabIndex = 46;
this.removeAllButton.Text = "<< R&emove all";
this.removeAllButton.UseVisualStyleBackColor = true;
this.removeAllButton.Click += new System.EventHandler(this.removeAllButton_Click);
//
// removeButton
//
this.removeButton.Anchor = System.Windows.Forms.AnchorStyles.None;
this.removeButton.Enabled = false;
this.removeButton.Location = new System.Drawing.Point(153, 238);
this.removeButton.Name = "removeButton";
this.removeButton.Size = new System.Drawing.Size(93, 30);
this.removeButton.TabIndex = 45;
this.removeButton.Text = "< &Remove";
this.removeButton.UseVisualStyleBackColor = true;
this.removeButton.Click += new System.EventHandler(this.removeButton_Click);
//
// addButton
//
this.addButton.Anchor = System.Windows.Forms.AnchorStyles.None;
this.addButton.Enabled = false;
this.addButton.Location = new System.Drawing.Point(153, 203);
this.addButton.Name = "addButton";
this.addButton.Size = new System.Drawing.Size(93, 30);
this.addButton.TabIndex = 44;
this.addButton.Text = "&Add >";
this.addButton.UseVisualStyleBackColor = true;
this.addButton.Click += new System.EventHandler(this.addButton_Click);
//
// unlockButton
//
this.unlockButton.Location = new System.Drawing.Point(283, 21);
this.unlockButton.Name = "unlockButton";
this.unlockButton.Size = new System.Drawing.Size(104, 30);
this.unlockButton.TabIndex = 47;
this.unlockButton.Text = "Unlock";
this.unlockButton.UseVisualStyleBackColor = true;
this.unlockButton.Click += new System.EventHandler(this.unlockButton_Click);
//
// singleRadioButton
//
this.singleRadioButton.Appearance = System.Windows.Forms.Appearance.Button;
this.singleRadioButton.AutoSize = true;
this.singleRadioButton.Checked = true;
this.singleRadioButton.Location = new System.Drawing.Point(19, 24);
this.singleRadioButton.Name = "singleRadioButton";
this.singleRadioButton.Size = new System.Drawing.Size(46, 23);
this.singleRadioButton.TabIndex = 48;
this.singleRadioButton.TabStop = true;
this.singleRadioButton.Text = "Single";
this.singleRadioButton.UseVisualStyleBackColor = true;
this.singleRadioButton.CheckedChanged += new System.EventHandler(this.singleRadioButton_CheckedChanged);
//
// combinedRadioButton
//
this.combinedRadioButton.Appearance = System.Windows.Forms.Appearance.Button;
this.combinedRadioButton.AutoSize = true;
this.combinedRadioButton.Location = new System.Drawing.Point(71, 24);
this.combinedRadioButton.Name = "combinedRadioButton";
this.combinedRadioButton.Size = new System.Drawing.Size(64, 23);
this.combinedRadioButton.TabIndex = 49;
this.combinedRadioButton.Text = "Combined";
this.combinedRadioButton.UseVisualStyleBackColor = true;
this.combinedRadioButton.CheckedChanged += new System.EventHandler(this.combinedRadioButton_CheckedChanged);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.combinedRadioButton);
this.groupBox1.Controls.Add(this.singleRadioButton);
this.groupBox1.Location = new System.Drawing.Point(12, 21);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(153, 60);
this.groupBox1.TabIndex = 52;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Water Meter";
//
// ResultsConfig
//
this.AcceptButton = this.okButton;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.cancelButton;
this.ClientSize = new System.Drawing.Size(399, 358);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.unlockButton);
this.Controls.Add(this.removeAllButton);
this.Controls.Add(this.removeButton);
this.Controls.Add(this.addButton);
this.Controls.Add(this.selectedResultsLabel);
this.Controls.Add(this.availableResultsLabel);
this.Controls.Add(this.selectedResultsListBox);
this.Controls.Add(this.availableResultsListBox);
this.Controls.Add(this.cancelButton);
this.Controls.Add(this.okButton);
this.Name = "ResultsConfig";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "ResultsConfig";
this.Load += new System.EventHandler(this.ResultsConfig_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.Button cancelButton;
private System.Windows.Forms.ListBox availableResultsListBox;
private System.Windows.Forms.ListBox selectedResultsListBox;
private System.Windows.Forms.Label availableResultsLabel;
private System.Windows.Forms.Label selectedResultsLabel;
private System.Windows.Forms.Button removeAllButton;
private System.Windows.Forms.Button removeButton;
private System.Windows.Forms.Button addButton;
private System.Windows.Forms.Button unlockButton;
private System.Windows.Forms.RadioButton singleRadioButton;
private System.Windows.Forms.RadioButton combinedRadioButton;
private System.Windows.Forms.GroupBox groupBox1;
}
}
+219
View File
@@ -0,0 +1,219 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Results.Entities;
using ResultsBrowser.Resources;
namespace ResultsBrowser.Forms
{
public partial class ResultsConfig : Form
{
/// <summary>
/// Required access rights to make changes with this form
/// </summary>
const Users.Grp.GID RequiredGroupMembership = Users.Grp.GID.Metrologists;
public Config.Entities.TestsArrangement TestsArrangement;
public Config.Entities.MetersArrangement MetersArrangement;
public int NrMetersInOneGroup;
public IList<Results.ItemSpec> currentlyAvailableItems;
public IList<Results.ItemSpec> ReportItems_Single;
public IList<Results.ItemSpec> ReportItems_Compound;
bool combined; /// false = single meter items, true = combined meter items
Config.Entities.Device device; /// Screen, Printer or Disk
bool unlocked; /// true = changes enabled
public ResultsConfig(bool combined)
{
InitializeComponent();
this.combined = combined;
device = Config.Entities.Device.Screen;
unlocked = false;
cancelButton.Visible = false;
}
void Localize()
{
Text = Strings.Configuration;
groupBox1.Text = Strings.Water_Meter;
singleRadioButton.Text = Strings.SingleBtnText;
combinedRadioButton.Text = Strings.CombinedBtnText;
availableResultsLabel.Text = Strings.Available_results;
selectedResultsLabel.Text = Strings.Selected_results;
addButton.Text = Strings.Add;
removeButton.Text = Strings.Remove;
removeAllButton.Text = Strings.Remove_all;
unlockButton.Text = Strings.UnlockBtnText;
okButton.Text = Strings.CloseBtnText;
cancelButton.Text = Strings.CancelBtnText;
}
void ResultsConfig_Load(object sender, EventArgs e)
{
Localize();
singleRadioButton.Checked = !combined;
combinedRadioButton.Checked = combined;
RedrawAvailable();
RedrawSelected();
}
/// <summary>
/// Gets the list of selected items based on watermeter type and device selections
/// </summary>
/// <returns>List of selected result items</returns>
IList<Results.ItemSpec> GetSelectedItems()
{
if (combined)
{
return ReportItems_Compound;
}
else
{
return ReportItems_Single;
}
}
/// <summary>
/// Redraw selected items (right hand side)
/// </summary>
void RedrawAvailable()
{
availableResultsListBox.Items.Clear();
currentlyAvailableItems = new List<Results.ItemSpec>();
foreach (var item in Results.ItemSpec.AllItems)
{
if (!GetSelectedItems().Contains(item) && (combined ? item.CanPrintCompoundMeter : item.CanPrintSingle))
{
currentlyAvailableItems.Add(item);
availableResultsListBox.Items.Add(item.Name);
}
}
}
/// <summary>
/// Redraw selected items (right hand side)
/// </summary>
void RedrawSelected()
{
selectedResultsListBox.Items.Clear();
foreach (var item in GetSelectedItems())
{
selectedResultsListBox.Items.Add(item.Name);
}
}
void unlockButton_Click(object sender, EventArgs e)
{
if (!unlocked)
{
//if (!User.CurrentUser.IsMemberOf(RequiredGroupMembership))
//{
// if ((new LoginDlg(RequiredGroupMembership)).ShowDialog() != DialogResult.OK) return;
//}
unlocked = true;
///
/// Unlock user interface controls
///
unlockButton.Enabled = false;
okButton.Text = Strings.OkBtnText;
cancelButton.Visible = true;
availableResultsListBox.Enabled = true;
selectedResultsListBox.Enabled = true;
addButton.Enabled = true;
removeButton.Enabled = true;
removeAllButton.Enabled = true;
}
}
void okButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
Close();
}
void availableResultsListBox_DoubleClick(object sender, EventArgs e)
{
/// Double click works when just one item is selected
IList<Results.ItemSpec> itemsToRemove = new List<Results.ItemSpec>();
if (availableResultsListBox.SelectedIndices.Count == 1)
{
var item = currentlyAvailableItems[availableResultsListBox.SelectedIndices[0]];
GetSelectedItems().Add(item);
RedrawAvailable();
RedrawSelected();
}
}
void addButton_Click(object sender, EventArgs e)
{
/// Append at the end, this code supports multiple selected items,
/// although ListBox control settings may limit the max.number of selected items to one.
for (int i = availableResultsListBox.SelectedIndices.Count - 1; i >= 0; i--)
{
var item = currentlyAvailableItems[availableResultsListBox.SelectedIndices[i]];
GetSelectedItems().Add(item);
}
RedrawAvailable();
RedrawSelected();
}
private void selectedResultsListBox_DoubleClick(object sender, EventArgs e)
{
/// Double click works when just one item is selected
if (selectedResultsListBox.SelectedIndices.Count == 1)
{
GetSelectedItems().RemoveAt(selectedResultsListBox.SelectedIndices[0]);
RedrawAvailable();
RedrawSelected();
}
}
void removeButton_Click(object sender, EventArgs e)
{
/// Remove from the list (the last selected item first so that the indexes are not affected)
for (int i = selectedResultsListBox.SelectedIndices.Count - 1; i >= 0; i--)
{
GetSelectedItems().RemoveAt(selectedResultsListBox.SelectedIndices[i]);
}
RedrawAvailable();
RedrawSelected();
}
void removeAllButton_Click(object sender, EventArgs e)
{
/// Remove all items from 'Selected' list
GetSelectedItems().Clear();
RedrawAvailable();
RedrawSelected();
}
private void singleRadioButton_CheckedChanged(object sender, EventArgs e)
{
}
private void combinedRadioButton_CheckedChanged(object sender, EventArgs e)
{
combined = combinedRadioButton.Checked;
RedrawAvailable();
RedrawSelected();
}
}
}
+2 -2
View File
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.18.796.0")]
[assembly: AssemblyFileVersion("2.18.796.0")]
[assembly: AssemblyVersion("2.17.748.0")]
[assembly: AssemblyFileVersion("2.17.748.0")]
+9
View File
@@ -125,6 +125,12 @@
<Compile Include="Forms\NoBenchOrDatabaseDlg.designer.cs">
<DependentUpon>NoBenchOrDatabaseDlg.cs</DependentUpon>
</Compile>
<Compile Include="Forms\ResultsConfig.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\ResultsConfig.designer.cs">
<DependentUpon>ResultsConfig.cs</DependentUpon>
</Compile>
<Compile Include="Forms\StatisticsDlg.cs">
<SubType>Form</SubType>
</Compile>
@@ -182,6 +188,9 @@
<EmbeddedResource Include="Forms\NoBenchOrDatabaseDlg.resx">
<DependentUpon>NoBenchOrDatabaseDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\ResultsConfig.resx">
<DependentUpon>ResultsConfig.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\StatisticsDlg.resx">
<DependentUpon>StatisticsDlg.cs</DependentUpon>
</EmbeddedResource>
@@ -1,327 +0,0 @@
///
/// Copyright (c) 2017 Sensus Slovensko a.s.
///
namespace TBF.BenchControl.DataEntry.Standard6
{
partial class CycleEndForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.textBox2 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.textBox3 = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.textBox4 = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.textBox5 = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.textBox6 = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.remarkTextBox1 = new System.Windows.Forms.TextBox();
this.stateLabel = new System.Windows.Forms.Label();
this.remarkLabel = new System.Windows.Forms.Label();
this.remarkTextBox2 = new System.Windows.Forms.TextBox();
this.remarkTextBox3 = new System.Windows.Forms.TextBox();
this.remarkTextBox4 = new System.Windows.Forms.TextBox();
this.remarkTextBox5 = new System.Windows.Forms.TextBox();
this.remarkTextBox6 = new System.Windows.Forms.TextBox();
this.batchRemarkButton = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(200, 107);
this.textBox2.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(159, 31);
this.textBox2.TabIndex = 1;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(26, 110);
this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(147, 23);
this.label2.TabIndex = 0;
this.label2.Text = "Water meter 2";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(200, 61);
this.textBox1.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(159, 31);
this.textBox1.TabIndex = 1;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(26, 64);
this.label1.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(147, 23);
this.label1.TabIndex = 0;
this.label1.Text = "Water meter 1";
//
// okButton
//
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.okButton.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.okButton.ForeColor = System.Drawing.Color.Black;
this.okButton.Location = new System.Drawing.Point(858, 32);
this.okButton.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(108, 60);
this.okButton.TabIndex = 7;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(200, 153);
this.textBox3.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(159, 31);
this.textBox3.TabIndex = 1;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(26, 156);
this.label3.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(147, 23);
this.label3.TabIndex = 0;
this.label3.Text = "Water meter 3";
//
// textBox4
//
this.textBox4.Location = new System.Drawing.Point(200, 199);
this.textBox4.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.textBox4.Name = "textBox4";
this.textBox4.Size = new System.Drawing.Size(159, 31);
this.textBox4.TabIndex = 1;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(26, 202);
this.label4.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(147, 23);
this.label4.TabIndex = 0;
this.label4.Text = "Water meter 4";
//
// textBox5
//
this.textBox5.Location = new System.Drawing.Point(200, 245);
this.textBox5.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.textBox5.Name = "textBox5";
this.textBox5.Size = new System.Drawing.Size(159, 31);
this.textBox5.TabIndex = 1;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(26, 248);
this.label5.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(147, 23);
this.label5.TabIndex = 0;
this.label5.Text = "Water meter 5";
//
// textBox6
//
this.textBox6.Location = new System.Drawing.Point(200, 291);
this.textBox6.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.textBox6.Name = "textBox6";
this.textBox6.Size = new System.Drawing.Size(159, 31);
this.textBox6.TabIndex = 1;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(26, 294);
this.label6.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(147, 23);
this.label6.TabIndex = 0;
this.label6.Text = "Water meter 6";
//
// remarkTextBox1
//
this.remarkTextBox1.Location = new System.Drawing.Point(400, 61);
this.remarkTextBox1.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.remarkTextBox1.Name = "remarkTextBox1";
this.remarkTextBox1.Size = new System.Drawing.Size(421, 31);
this.remarkTextBox1.TabIndex = 8;
//
// stateLabel
//
this.stateLabel.AutoSize = true;
this.stateLabel.Location = new System.Drawing.Point(196, 24);
this.stateLabel.Name = "stateLabel";
this.stateLabel.Size = new System.Drawing.Size(68, 23);
this.stateLabel.TabIndex = 9;
this.stateLabel.Text = "State:";
//
// remarkLabel
//
this.remarkLabel.AutoSize = true;
this.remarkLabel.Location = new System.Drawing.Point(396, 24);
this.remarkLabel.Name = "remarkLabel";
this.remarkLabel.Size = new System.Drawing.Size(211, 23);
this.remarkLabel.TabIndex = 10;
this.remarkLabel.Text = "Water meter remark:";
//
// remarkTextBox2
//
this.remarkTextBox2.Location = new System.Drawing.Point(400, 107);
this.remarkTextBox2.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.remarkTextBox2.Name = "remarkTextBox2";
this.remarkTextBox2.Size = new System.Drawing.Size(421, 31);
this.remarkTextBox2.TabIndex = 11;
//
// remarkTextBox3
//
this.remarkTextBox3.Location = new System.Drawing.Point(400, 153);
this.remarkTextBox3.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.remarkTextBox3.Name = "remarkTextBox3";
this.remarkTextBox3.Size = new System.Drawing.Size(421, 31);
this.remarkTextBox3.TabIndex = 12;
//
// remarkTextBox4
//
this.remarkTextBox4.Location = new System.Drawing.Point(400, 199);
this.remarkTextBox4.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.remarkTextBox4.Name = "remarkTextBox4";
this.remarkTextBox4.Size = new System.Drawing.Size(421, 31);
this.remarkTextBox4.TabIndex = 13;
//
// remarkTextBox5
//
this.remarkTextBox5.Location = new System.Drawing.Point(400, 245);
this.remarkTextBox5.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.remarkTextBox5.Name = "remarkTextBox5";
this.remarkTextBox5.Size = new System.Drawing.Size(421, 31);
this.remarkTextBox5.TabIndex = 14;
//
// remarkTextBox6
//
this.remarkTextBox6.Location = new System.Drawing.Point(400, 291);
this.remarkTextBox6.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.remarkTextBox6.Name = "remarkTextBox6";
this.remarkTextBox6.Size = new System.Drawing.Size(421, 31);
this.remarkTextBox6.TabIndex = 15;
//
// batchRemarkButton
//
this.batchRemarkButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.batchRemarkButton.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.batchRemarkButton.ForeColor = System.Drawing.Color.Black;
this.batchRemarkButton.Location = new System.Drawing.Point(858, 107);
this.batchRemarkButton.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.batchRemarkButton.Name = "batchRemarkButton";
this.batchRemarkButton.Size = new System.Drawing.Size(108, 60);
this.batchRemarkButton.TabIndex = 16;
this.batchRemarkButton.Text = "Batch remark";
this.batchRemarkButton.UseVisualStyleBackColor = true;
this.batchRemarkButton.Click += new System.EventHandler(this.batchRemarkButton_Click);
//
// CycleEndForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 23F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.ClientSize = new System.Drawing.Size(1001, 349);
this.Controls.Add(this.batchRemarkButton);
this.Controls.Add(this.remarkTextBox6);
this.Controls.Add(this.remarkTextBox5);
this.Controls.Add(this.remarkTextBox4);
this.Controls.Add(this.remarkTextBox3);
this.Controls.Add(this.remarkTextBox2);
this.Controls.Add(this.remarkLabel);
this.Controls.Add(this.stateLabel);
this.Controls.Add(this.remarkTextBox1);
this.Controls.Add(this.textBox6);
this.Controls.Add(this.label6);
this.Controls.Add(this.textBox5);
this.Controls.Add(this.label5);
this.Controls.Add(this.textBox4);
this.Controls.Add(this.label4);
this.Controls.Add(this.textBox3);
this.Controls.Add(this.label3);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.label2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label1);
this.Controls.Add(this.okButton);
this.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.Name = "CycleEndForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Text = "Daten";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox textBox5;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox textBox6;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox remarkTextBox1;
private System.Windows.Forms.Label stateLabel;
private System.Windows.Forms.Label remarkLabel;
private System.Windows.Forms.TextBox remarkTextBox2;
private System.Windows.Forms.TextBox remarkTextBox3;
private System.Windows.Forms.TextBox remarkTextBox4;
private System.Windows.Forms.TextBox remarkTextBox5;
private System.Windows.Forms.TextBox remarkTextBox6;
private System.Windows.Forms.Button batchRemarkButton;
}
}
@@ -1,16 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System;
namespace TBF.BenchControl.GenericDevices
{
public interface IPlotter
{
int StartGraph(int batchNr, string testName, int repetition);
void UpdateGraph(int graphId, float x, float y);
void StopGraph(int graphId, float ymin, float ymax);
}
}
@@ -1,438 +0,0 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
namespace TBF.BenchControl.MettlerToledo.Multi
{
partial class BalanceCfgCtrl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.handshakeComboBox = new System.Windows.Forms.ComboBox();
this.stopBitsComboBox = new System.Windows.Forms.ComboBox();
this.parityComboBox = new System.Windows.Forms.ComboBox();
this.nameTextBox = new System.Windows.Forms.TextBox();
this.nameLabel = new System.Windows.Forms.Label();
this.classNameLabel = new System.Windows.Forms.Label();
this.handshakeLabel = new System.Windows.Forms.Label();
this.stopBitsLabel = new System.Windows.Forms.Label();
this.dataBitsTextBox = new System.Windows.Forms.TextBox();
this.dataBitsLabel = new System.Windows.Forms.Label();
this.parityLabel = new System.Windows.Forms.Label();
this.baudRateTextBox = new System.Windows.Forms.TextBox();
this.baudRateLabel = new System.Windows.Forms.Label();
this.comPortNrTextBox = new System.Windows.Forms.TextBox();
this.comPortNrLabel = new System.Windows.Forms.Label();
this.capacityLabel = new System.Windows.Forms.Label();
this.capacityTextBox = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.emptyTextBox = new System.Windows.Forms.TextBox();
this.emptyLabel = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.emptyTimeTextBox = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.formatTextBox = new System.Windows.Forms.TextBox();
this.formatLabel = new System.Windows.Forms.Label();
this.idNrTextBox = new System.Windows.Forms.TextBox();
this.idNrLabel = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.resolutionTextBox = new System.Windows.Forms.TextBox();
this.resolutionLabel = new System.Windows.Forms.Label();
this.drainValveComboBox = new System.Windows.Forms.ComboBox();
this.drainingValveLabel = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// handshakeComboBox
//
this.handshakeComboBox.Enabled = false;
this.handshakeComboBox.FormattingEnabled = true;
this.handshakeComboBox.Location = new System.Drawing.Point(236, 256);
this.handshakeComboBox.Name = "handshakeComboBox";
this.handshakeComboBox.Size = new System.Drawing.Size(43, 21);
this.handshakeComboBox.TabIndex = 32;
//
// stopBitsComboBox
//
this.stopBitsComboBox.Enabled = false;
this.stopBitsComboBox.FormattingEnabled = true;
this.stopBitsComboBox.Location = new System.Drawing.Point(236, 235);
this.stopBitsComboBox.Name = "stopBitsComboBox";
this.stopBitsComboBox.Size = new System.Drawing.Size(43, 21);
this.stopBitsComboBox.TabIndex = 30;
//
// parityComboBox
//
this.parityComboBox.Enabled = false;
this.parityComboBox.FormattingEnabled = true;
this.parityComboBox.Location = new System.Drawing.Point(100, 256);
this.parityComboBox.Name = "parityComboBox";
this.parityComboBox.Size = new System.Drawing.Size(43, 21);
this.parityComboBox.TabIndex = 26;
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(150, 26);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(143, 20);
this.nameTextBox.TabIndex = 2;
//
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(26, 29);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 1;
this.nameLabel.Text = "Name";
//
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(147, 7);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(89, 13);
this.classNameLabel.TabIndex = 0;
this.classNameLabel.Text = "ComponentName";
//
// handshakeLabel
//
this.handshakeLabel.AutoSize = true;
this.handshakeLabel.Location = new System.Drawing.Point(162, 259);
this.handshakeLabel.Name = "handshakeLabel";
this.handshakeLabel.Size = new System.Drawing.Size(62, 13);
this.handshakeLabel.TabIndex = 31;
this.handshakeLabel.Text = "Handshake";
//
// stopBitsLabel
//
this.stopBitsLabel.AutoSize = true;
this.stopBitsLabel.Location = new System.Drawing.Point(162, 238);
this.stopBitsLabel.Name = "stopBitsLabel";
this.stopBitsLabel.Size = new System.Drawing.Size(49, 13);
this.stopBitsLabel.TabIndex = 29;
this.stopBitsLabel.Text = "Stop Bits";
//
// dataBitsTextBox
//
this.dataBitsTextBox.Enabled = false;
this.dataBitsTextBox.Location = new System.Drawing.Point(236, 213);
this.dataBitsTextBox.Name = "dataBitsTextBox";
this.dataBitsTextBox.Size = new System.Drawing.Size(43, 20);
this.dataBitsTextBox.TabIndex = 28;
//
// dataBitsLabel
//
this.dataBitsLabel.AutoSize = true;
this.dataBitsLabel.Location = new System.Drawing.Point(162, 216);
this.dataBitsLabel.Name = "dataBitsLabel";
this.dataBitsLabel.Size = new System.Drawing.Size(50, 13);
this.dataBitsLabel.TabIndex = 27;
this.dataBitsLabel.Text = "Data Bits";
//
// parityLabel
//
this.parityLabel.AutoSize = true;
this.parityLabel.Location = new System.Drawing.Point(26, 261);
this.parityLabel.Name = "parityLabel";
this.parityLabel.Size = new System.Drawing.Size(33, 13);
this.parityLabel.TabIndex = 25;
this.parityLabel.Text = "Parity";
//
// baudRateTextBox
//
this.baudRateTextBox.Enabled = false;
this.baudRateTextBox.Location = new System.Drawing.Point(100, 235);
this.baudRateTextBox.Name = "baudRateTextBox";
this.baudRateTextBox.Size = new System.Drawing.Size(43, 20);
this.baudRateTextBox.TabIndex = 24;
//
// baudRateLabel
//
this.baudRateLabel.AutoSize = true;
this.baudRateLabel.Location = new System.Drawing.Point(26, 238);
this.baudRateLabel.Name = "baudRateLabel";
this.baudRateLabel.Size = new System.Drawing.Size(58, 13);
this.baudRateLabel.TabIndex = 23;
this.baudRateLabel.Text = "Baud Rate";
//
// comPortNrTextBox
//
this.comPortNrTextBox.Enabled = false;
this.comPortNrTextBox.Location = new System.Drawing.Point(100, 213);
this.comPortNrTextBox.Name = "comPortNrTextBox";
this.comPortNrTextBox.Size = new System.Drawing.Size(43, 20);
this.comPortNrTextBox.TabIndex = 22;
//
// comPortNrLabel
//
this.comPortNrLabel.AutoSize = true;
this.comPortNrLabel.Location = new System.Drawing.Point(26, 216);
this.comPortNrLabel.Name = "comPortNrLabel";
this.comPortNrLabel.Size = new System.Drawing.Size(68, 13);
this.comPortNrLabel.TabIndex = 21;
this.comPortNrLabel.Text = "Serial Port #:";
//
// capacityLabel
//
this.capacityLabel.AutoSize = true;
this.capacityLabel.Location = new System.Drawing.Point(25, 71);
this.capacityLabel.Name = "capacityLabel";
this.capacityLabel.Size = new System.Drawing.Size(76, 13);
this.capacityLabel.TabIndex = 5;
this.capacityLabel.Text = "Tank Capacity";
//
// capacityTextBox
//
this.capacityTextBox.Enabled = false;
this.capacityTextBox.Location = new System.Drawing.Point(151, 68);
this.capacityTextBox.Name = "capacityTextBox";
this.capacityTextBox.Size = new System.Drawing.Size(43, 20);
this.capacityTextBox.TabIndex = 6;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(200, 71);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(19, 13);
this.label2.TabIndex = 7;
this.label2.Text = "kg";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(200, 113);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(19, 13);
this.label3.TabIndex = 13;
this.label3.Text = "kg";
//
// emptyTextBox
//
this.emptyTextBox.Enabled = false;
this.emptyTextBox.Location = new System.Drawing.Point(151, 110);
this.emptyTextBox.Name = "emptyTextBox";
this.emptyTextBox.Size = new System.Drawing.Size(43, 20);
this.emptyTextBox.TabIndex = 12;
//
// emptyLabel
//
this.emptyLabel.AutoSize = true;
this.emptyLabel.Location = new System.Drawing.Point(25, 113);
this.emptyLabel.Name = "emptyLabel";
this.emptyLabel.Size = new System.Drawing.Size(109, 13);
this.emptyLabel.TabIndex = 11;
this.emptyLabel.Text = "Tank empty threshold";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(200, 155);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(24, 13);
this.label4.TabIndex = 18;
this.label4.Text = "sec";
//
// emptyTimeTextBox
//
this.emptyTimeTextBox.Enabled = false;
this.emptyTimeTextBox.Location = new System.Drawing.Point(151, 152);
this.emptyTimeTextBox.Name = "emptyTimeTextBox";
this.emptyTimeTextBox.Size = new System.Drawing.Size(43, 20);
this.emptyTimeTextBox.TabIndex = 17;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(26, 155);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(58, 13);
this.label5.TabIndex = 16;
this.label5.Text = "Drain Time";
//
// formatTextBox
//
this.formatTextBox.Enabled = false;
this.formatTextBox.Location = new System.Drawing.Point(151, 131);
this.formatTextBox.Name = "formatTextBox";
this.formatTextBox.Size = new System.Drawing.Size(43, 20);
this.formatTextBox.TabIndex = 15;
//
// formatLabel
//
this.formatLabel.AutoSize = true;
this.formatLabel.Location = new System.Drawing.Point(26, 134);
this.formatLabel.Name = "formatLabel";
this.formatLabel.Size = new System.Drawing.Size(76, 13);
this.formatLabel.TabIndex = 14;
this.formatLabel.Text = "Decimal points";
//
// idNrTextBox
//
this.idNrTextBox.Enabled = false;
this.idNrTextBox.Location = new System.Drawing.Point(151, 47);
this.idNrTextBox.Name = "idNrTextBox";
this.idNrTextBox.Size = new System.Drawing.Size(43, 20);
this.idNrTextBox.TabIndex = 4;
this.idNrTextBox.TextChanged += new System.EventHandler(this.idNrTextBox_TextChanged);
//
// idNrLabel
//
this.idNrLabel.AutoSize = true;
this.idNrLabel.Location = new System.Drawing.Point(25, 50);
this.idNrLabel.Name = "idNrLabel";
this.idNrLabel.Size = new System.Drawing.Size(85, 13);
this.idNrLabel.TabIndex = 3;
this.idNrLabel.Text = "ID Number (1..3)";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(200, 92);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(19, 13);
this.label1.TabIndex = 10;
this.label1.Text = "kg";
//
// resolutionTextBox
//
this.resolutionTextBox.Enabled = false;
this.resolutionTextBox.Location = new System.Drawing.Point(151, 89);
this.resolutionTextBox.Name = "resolutionTextBox";
this.resolutionTextBox.Size = new System.Drawing.Size(43, 20);
this.resolutionTextBox.TabIndex = 9;
//
// resolutionLabel
//
this.resolutionLabel.AutoSize = true;
this.resolutionLabel.Location = new System.Drawing.Point(25, 92);
this.resolutionLabel.Name = "resolutionLabel";
this.resolutionLabel.Size = new System.Drawing.Size(57, 13);
this.resolutionLabel.TabIndex = 8;
this.resolutionLabel.Text = "Resolution";
//
// drainValveComboBox
//
this.drainValveComboBox.Enabled = false;
this.drainValveComboBox.FormattingEnabled = true;
this.drainValveComboBox.Location = new System.Drawing.Point(150, 173);
this.drainValveComboBox.Name = "drainValveComboBox";
this.drainValveComboBox.Size = new System.Drawing.Size(143, 21);
this.drainValveComboBox.TabIndex = 20;
//
// drainingValveLabel
//
this.drainingValveLabel.AutoSize = true;
this.drainingValveLabel.Location = new System.Drawing.Point(25, 176);
this.drainingValveLabel.Name = "drainingValveLabel";
this.drainingValveLabel.Size = new System.Drawing.Size(61, 13);
this.drainingValveLabel.TabIndex = 19;
this.drainingValveLabel.Text = "Drain valve";
//
// BalanceCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.drainValveComboBox);
this.Controls.Add(this.drainingValveLabel);
this.Controls.Add(this.label1);
this.Controls.Add(this.resolutionTextBox);
this.Controls.Add(this.resolutionLabel);
this.Controls.Add(this.idNrTextBox);
this.Controls.Add(this.idNrLabel);
this.Controls.Add(this.formatTextBox);
this.Controls.Add(this.formatLabel);
this.Controls.Add(this.label4);
this.Controls.Add(this.emptyTimeTextBox);
this.Controls.Add(this.label5);
this.Controls.Add(this.label3);
this.Controls.Add(this.emptyTextBox);
this.Controls.Add(this.emptyLabel);
this.Controls.Add(this.label2);
this.Controls.Add(this.capacityTextBox);
this.Controls.Add(this.capacityLabel);
this.Controls.Add(this.handshakeComboBox);
this.Controls.Add(this.stopBitsComboBox);
this.Controls.Add(this.parityComboBox);
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.classNameLabel);
this.Controls.Add(this.handshakeLabel);
this.Controls.Add(this.stopBitsLabel);
this.Controls.Add(this.dataBitsTextBox);
this.Controls.Add(this.dataBitsLabel);
this.Controls.Add(this.parityLabel);
this.Controls.Add(this.baudRateTextBox);
this.Controls.Add(this.baudRateLabel);
this.Controls.Add(this.comPortNrTextBox);
this.Controls.Add(this.comPortNrLabel);
this.Name = "BalanceCfgCtrl";
this.Size = new System.Drawing.Size(450, 300);
this.Load += new System.EventHandler(this.BalanceCfgCtrl_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ComboBox handshakeComboBox;
private System.Windows.Forms.ComboBox stopBitsComboBox;
private System.Windows.Forms.ComboBox parityComboBox;
private System.Windows.Forms.TextBox nameTextBox;
private System.Windows.Forms.Label nameLabel;
private System.Windows.Forms.Label classNameLabel;
private System.Windows.Forms.Label handshakeLabel;
private System.Windows.Forms.Label stopBitsLabel;
private System.Windows.Forms.TextBox dataBitsTextBox;
private System.Windows.Forms.Label dataBitsLabel;
private System.Windows.Forms.Label parityLabel;
private System.Windows.Forms.TextBox baudRateTextBox;
private System.Windows.Forms.Label baudRateLabel;
private System.Windows.Forms.TextBox comPortNrTextBox;
private System.Windows.Forms.Label comPortNrLabel;
private System.Windows.Forms.Label capacityLabel;
private System.Windows.Forms.TextBox capacityTextBox;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox emptyTextBox;
private System.Windows.Forms.Label emptyLabel;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox emptyTimeTextBox;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox formatTextBox;
private System.Windows.Forms.Label formatLabel;
private System.Windows.Forms.TextBox idNrTextBox;
private System.Windows.Forms.Label idNrLabel;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox resolutionTextBox;
private System.Windows.Forms.Label resolutionLabel;
private System.Windows.Forms.ComboBox drainValveComboBox;
private System.Windows.Forms.Label drainingValveLabel;
}
}
@@ -1,48 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System;
namespace TBF.BenchControl.Output.DB.ProductionMonitoring
{
public enum CodeType
{
UniqueNr,
FlowtubeNr, /// Prvé 3 znaky sa zhodujú s poslednými 3 znakmi názvu
FlowtubeNrLU, /// Začiatok kódu sa zhoduje s názvom
BatchNr,
BatchNrContainingPartName,
DateMMYY,
QualityCheck,
}
public enum CodeForm
{
Barcode,
QRCode,
Keyboard,
OkNok,
}
public enum CodeLocation
{
OnPart,
OnPallet,
}
public enum LifetimeManagement
{
None,
OneYear,
Count,
}
public enum ReleaseStatus
{
In_preparation,
Released,
ReleasedActive,
Deactivated,
Count,
}
}
@@ -1,26 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.Output.DB.ProductionMonitoring
{
public class Factory : IComponentFactory
{
public string ClassName { get { return this.GetType().Namespace.Substring(17); } }
public void ResetStaticProperties() { Monitoring.ResetStaticProperties(); }
public IComponent DummyComponent() { return new Monitoring(); }
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Monitoring(cfg); }
public IComponentCfg DefaultConfig() { return new MonitoringCfg(this.GetType().Namespace.Substring(24), this); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
return ComponentCfgBase.CreateFromDbEntity(MonitoringCfg.Serializer, component, this);
}
}
}
@@ -1,246 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using log4net;
using NHibernate;
using Config.Entities;
using MonitoringDB.Entities;
namespace TBF.BenchControl.Output.DB.ProductionMonitoring
{
public enum Retv
{
OK,
Error,
}
public class Monitoring : ComponentBase, IOperation, GenericDevices.IResultsWriter, Generic.IDevice
{
private static readonly ILog log = LogManager.GetLogger(typeof(Monitoring));
public override string ToString() { return string.Format("Monitoring({0})", Cfg.ToString(1)); }
public const string WorkstepName = "Test_bench";
MonitoringCfg monitoringCfg;
string workplace { get { return monitoringCfg.Workplace; } }
enum CurrentOp
{
None,
SaveMonitoringRecords,
}
CurrentOp currentOp;
bool opCompleted;
bool anyError;
/// <summary>
/// Results to print
/// </summary>
Results.Entities.Batch batch;
ISessionFactory sessionFactory; /// Factory to create database sessions initialized in the constructor
IList<Process> processes;
Dictionary<int, Process> processDictionary;
Dictionary<int, IList<Workstep>> workstepsDictionary;
public Monitoring() {}
public Monitoring(Generic.IComponentCfg cfg)
: base(cfg)
{
monitoringCfg = cfg as MonitoringCfg;
currentOp = CurrentOp.None;
log.Debug(this.ToString());
}
public void Initialize()
{
if (monitoringCfg.DebugLevel == DebugMode.Simulate) return;
///
/// Session factory is used to create database sessions
///
sessionFactory = FluentNHibernate.Cfg.Fluently
.Configure()
.Database(FluentNHibernate.Cfg.Db.MySQLConfiguration.Standard.ConnectionString(monitoringCfg.ConnStr))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<MonitoringDB.Entities.Process>())
.ExposeConfiguration(MonitoringDB.FluentNH.BuildSchema)
.BuildSessionFactory();
///
/// Read processes and worksteps from the database (this verifies DB connection as well)
///
log.WarnFormat("Reading processes/worksteps from production monitoring DB started");
ReadProcessesFromDB(sessionFactory.OpenSession());
log.WarnFormat("Reading processes/worksteps from production monitoring DB completed");
}
public void RunDeviceBefore() { }
public void RunDeviceAfter() {}
public void StopDevice() {}
public void StopDevice2() {}
/// <summary>
/// Writes the test cycle results into a file, Events: Event.ResultsWritten
/// </summary>
/// <param name="procedure">Procedure to print the results of</param>
/// <param name="unsortedResults">Results to write into the file</param>
/// <returns>Reference to the operation</returns>
public IOperation WriteResultsOp(Results.Entities.Batch batch)
{
if (currentOp != CurrentOp.None)
throw new Exception("Sequence error");
else
currentOp = CurrentOp.SaveMonitoringRecords;
this.batch = batch;
return this;
}
/// <summary>Start this operation</summary>
public void Start()
{
opCompleted = false;
anyError = false;
}
/// <summary>Run this operation</summary>
/// <returns>Event.ResultsWritten or Event.Error</returns>
public Event Run()
{
if (monitoringCfg.DebugLevel == DebugMode.Simulate || batch.WaterMeters.Count == 0)
{
opCompleted = true;
return Event.ResultsWritten;
}
if (currentOp == CurrentOp.SaveMonitoringRecords)
{
if (!opCompleted)
{
ITransaction transaction = null;
try
{
ISession session = sessionFactory.OpenSession();
transaction = session.BeginTransaction();
int wrCount = WriteResultsToDatabase(session, batch);
transaction.Commit();
session.Flush();
opCompleted = true;
log.ErrorFormat("Batch {0}: {1} of {2} watermeters written to production monitoring DB",
batch.BatchNr, wrCount, batch.WaterMeters.Count);
}
catch (Exception exc)
{
if (transaction != null && !transaction.WasCommitted) transaction.Rollback();
anyError = true;
log.WarnFormat("Failed to write batch {0} results to production monitoring DB: {1}",
batch.BatchNr, exc.Message);
}
}
if (anyError)
return Event.ResultsNotWritten;
else
return Event.ResultsWritten;
}
else
{
return Event.None;
}
}
/// <summary>Stop this operation</summary>
public void Stop()
{
currentOp = CurrentOp.None;
}
/// <summary>
/// Write results of a batch of water meters to the DB
/// </summary>
/// <param name="session">DB session</param>
/// <param name="batch">Batch entity</param>
int WriteResultsToDatabase(ISession session, Results.Entities.Batch batch)
{
int wrCount = 0;
foreach (var wMtr in batch.WaterMeters)
{
wrCount += SaveSingleWM2DB(session, wMtr);
}
return wrCount;
}
/// <summary>
/// Write one meter results to the DB
/// </summary>
/// <param name="session">DB session</param>
/// <param name="wm">Watermeter entity</param>
/// <returns>Number of written reference record</returns>
int SaveSingleWM2DB(ISession session, Results.Entities.WaterMeter wm)
{
if (string.IsNullOrEmpty(wm.SerialNr)) return 0; /// Without PCB number there is no DB activity
///
/// Get all already existing reference records with Code == wm.SerialNr, refRecords[0] will be the most recent one
///
IList<ReferenceRecord> refRecords;
int trialsCount = 0;
do
{
if (trialsCount > 0) ReadProcessesFromDB(session);
refRecords = session.QueryOver<ReferenceRecord>()
.Where(rr => (rr.Code == wm.SerialNr))
.OrderBy(rr => rr.TimeStamp).Desc
.List();
trialsCount++;
}
while (refRecords.Count == 0 && trialsCount <= 2);
///
/// Save a new reference record from this test bench if workstep "Test_bench" is defined in the obtained WM process
///
IList<Workstep> worksteps;
if ((refRecords.Count > 0) && workstepsDictionary.TryGetValue(refRecords[0].Process.Id, out worksteps) && (worksteps.Count == 1))
{
session.SaveOrUpdate(new ReferenceRecord(refRecords[0].Process, worksteps[0], wm.SerialNr, Users.GlobalData.CurrentUser.UserName, workplace, wm.Passed ? 0 : 1));
return 1;
}
return 0;
}
/// <summary>
/// Updates processes, processDictionary and workstepsDictionary
/// </summary>
/// <param name="session">DB session</param>
void ReadProcessesFromDB(ISession session)
{
processes = session.QueryOver<Process>().List();
processDictionary = new Dictionary<int, Process>();
workstepsDictionary = new Dictionary<int, IList<Workstep>>();
foreach (var pr in processes)
{
IList<Workstep> worksteps = session.QueryOver<Workstep>().Where(ws => ((ws.Process == pr) && (ws.Name == WorkstepName))).List();
processDictionary.Add(pr.Id, pr);
workstepsDictionary.Add(pr.Id, worksteps);
}
}
}
}
@@ -1,41 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System.Xml.Serialization;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.Output.DB.ProductionMonitoring
{
public class MonitoringCfg : ComponentCfgBase, Generic.IComponentCfg
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(MonitoringCfg) })[0];
protected override XmlSerializer GetSerializer() { return Serializer; }
public IComponentCfgCtrl GetControl() { return new MonitoringCfgCtrl(); }
public string Workplace;
public string ConnStr;
/// Private parameterless constructor invoked by all other (public) constructors
MonitoringCfg()
{
ParentName = string.Empty;
Workplace = "WR10";
ConnStr = "SERVER=10.42.128.16; DATABASE=sledovanie2018; UID=vyroba2018; PASSWORD=qwerty; CHARSET=utf8;";
}
public MonitoringCfg(string name, IComponentFactory factory)
: this()
{
this.Name = name;
this.Factory = factory;
}
public string ToString(int i)
{
return string.Format("Name={0}, Workplace={1}", Name, Workplace);
}
}
}
@@ -1,82 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System;
using System.Windows.Forms;
using log4net;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.Output.DB.ProductionMonitoring
{
public partial class MonitoringCfgCtrl : Configs.ConfigCtrlUtils, IComponentCfgCtrl
{
static readonly ILog log = LogManager.GetLogger(typeof(MonitoringCfgCtrl));
public bool ShowMore { get { return false; } }
MonitoringCfg config;
public IComponentCfg Config
{
get { return config as IComponentCfg; }
set
{
config = value as MonitoringCfg;
Redraw();
}
}
public MonitoringCfgCtrl()
{
InitializeComponent();
}
private void WriterCfgCtrl_Load(object sender, EventArgs e)
{
Redraw();
}
public void Closing()
{
}
void Redraw()
{
if (config == null) return; /// Control was not loaded, settings were not changed
classNameLabel.Text = config.Factory.ClassName;
nameTextBox.Text = config.Name;
workplaceTextBox.Text = config.Workplace;
connStrTextBox.Text = config.ConnStr;
}
public void Unlock()
{
nameTextBox.Enabled = true;
workplaceTextBox.Enabled = true;
connStrTextBox.Enabled = true;
}
public CfgUpdateFlags VerifyCfg(ref string message)
{
return CfgUpdateFlags.None;
}
public CfgUpdateFlags UpdateCfg()
{
CfgUpdateFlags flags = CfgUpdateFlags.None;
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
if (config.Name != nameTextBox.Text)
{
config.Name = nameTextBox.Text;
flags |= CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd;
}
flags |= UpdateDifferent(ref config.Workplace, workplaceTextBox.Text, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.ConnStr, connStrTextBox.Text, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
return flags;
}
}
}
@@ -1,132 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
namespace TBF.BenchControl.Output.DB.ProductionMonitoring
{
partial class MonitoringCfgCtrl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.nameTextBox = new System.Windows.Forms.TextBox();
this.nameLabel = new System.Windows.Forms.Label();
this.classNameLabel = new System.Windows.Forms.Label();
this.workplaceTextBox = new System.Windows.Forms.TextBox();
this.workplaceLabel = new System.Windows.Forms.Label();
this.connStrTextBox = new System.Windows.Forms.TextBox();
this.connStrLabel = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(110, 41);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(146, 20);
this.nameTextBox.TabIndex = 2;
//
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(15, 44);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 1;
this.nameLabel.Text = "Name";
//
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(107, 19);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
this.classNameLabel.TabIndex = 0;
this.classNameLabel.Text = "ComonentName";
//
// workplaceTextBox
//
this.workplaceTextBox.Enabled = false;
this.workplaceTextBox.Location = new System.Drawing.Point(110, 67);
this.workplaceTextBox.Name = "workplaceTextBox";
this.workplaceTextBox.Size = new System.Drawing.Size(146, 20);
this.workplaceTextBox.TabIndex = 4;
//
// workplaceLabel
//
this.workplaceLabel.AutoSize = true;
this.workplaceLabel.Location = new System.Drawing.Point(15, 70);
this.workplaceLabel.Name = "workplaceLabel";
this.workplaceLabel.Size = new System.Drawing.Size(59, 13);
this.workplaceLabel.TabIndex = 3;
this.workplaceLabel.Text = "Workplace";
//
// connStrTextBox
//
this.connStrTextBox.Enabled = false;
this.connStrTextBox.Location = new System.Drawing.Point(110, 93);
this.connStrTextBox.Name = "connStrTextBox";
this.connStrTextBox.Size = new System.Drawing.Size(327, 20);
this.connStrTextBox.TabIndex = 22;
//
// connStrLabel
//
this.connStrLabel.AutoSize = true;
this.connStrLabel.Location = new System.Drawing.Point(15, 96);
this.connStrLabel.Name = "connStrLabel";
this.connStrLabel.Size = new System.Drawing.Size(89, 13);
this.connStrLabel.TabIndex = 21;
this.connStrLabel.Text = "Connection string";
//
// MonitoringCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.connStrTextBox);
this.Controls.Add(this.connStrLabel);
this.Controls.Add(this.workplaceTextBox);
this.Controls.Add(this.workplaceLabel);
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.classNameLabel);
this.Name = "MonitoringCfgCtrl";
this.Size = new System.Drawing.Size(450, 230);
this.Load += new System.EventHandler(this.WriterCfgCtrl_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox nameTextBox;
private System.Windows.Forms.Label nameLabel;
private System.Windows.Forms.Label classNameLabel;
private System.Windows.Forms.TextBox workplaceTextBox;
private System.Windows.Forms.Label workplaceLabel;
private System.Windows.Forms.TextBox connStrTextBox;
private System.Windows.Forms.Label connStrLabel;
}
}
@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -1,61 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using MySql.Data.MySqlClient;
namespace TBF.BenchControl.Output.DB.ProductionMonitoring
{
public class WMPart
{
public string Name;
public int ProcessId;
public string OraDBType;
public string Description;
public string Code;
public DateTime TimeStamp;
public CodeType CodeType;
public CodeForm CodeForm;
public CodeLocation CodeLocation;
public string UserName;
public string Workplace;
public WMPart() {}
public static IList<WMPart> FindWMParts(MySqlConnection dbConn, string pcbNumber)
{
IList<WMPart> foundParts = new List<WMPart>(); /// initially empty
if (string.IsNullOrEmpty(pcbNumber)) return foundParts; /// return an empty list
try
{
dbConn.Open();
//IList<Entities.ReferenceRecord> referenceRecords = session
// .QueryOver<Entities.ReferenceRecord>()
// .Where(x => (x.Code == pcbNumber))
// .OrderBy(x => x.TimeStamp).Desc
// .List<Entities.ReferenceRecord>();
MySqlCommand cmd = dbConn.CreateCommand();
cmd.CommandText = string.Format("SELECT Id, TimeStamp, UserName, Workplace, Result, Process_id, Workstep_id FROM ReferenceRecord WHERE Code = {0}", pcbNumber);
cmd.ExecuteNonQuery();
MySqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
foundParts.Add( new WMPart() { Code = pcbNumber, ProcessId = dr.GetInt32(5), /* etc */ } );
}
dr.Close();
cmd.Dispose();
}
catch
{
}
return foundParts;
}
}
}
@@ -1,26 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.Output.DB.SaveFlowmeterCorrections
{
public class Factory : IComponentFactory
{
public string ClassName { get { return this.GetType().Namespace.Substring(17); } }
public void ResetStaticProperties() { SaveFlowmeterCorr.ResetStaticProperties(); }
public IComponent DummyComponent() { return new SaveFlowmeterCorr(); }
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new SaveFlowmeterCorr(cfg); }
public IComponentCfg DefaultConfig() { return new SaveFlowmeterCorrCfg(this.GetType().Namespace.Substring(24), this); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
return ComponentCfgBase.CreateFromDbEntity(SaveFlowmeterCorrCfg.Serializer, component, this);
}
}
}
@@ -1,212 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using log4net;
using NHibernate;
using NHibernate.Criterion;
using Config.Entities;
using MonitoringDB.Entities;
namespace TBF.BenchControl.Output.DB.SaveFlowmeterCorrections
{
public enum Retv
{
OK,
Error,
}
public class SaveFlowmeterCorr : ComponentBase, IOperation, GenericDevices.IResultsWriter
{
private static readonly ILog log = LogManager.GetLogger(typeof(SaveFlowmeterCorr));
public override string ToString() { return string.Format("SaveFlowmeterCorr({0})", Cfg.ToString(1)); }
SaveFlowmeterCorrCfg myCfg;
enum CurrentOp
{
None,
SaveFlowmeterCorrections,
}
CurrentOp currentOp;
bool opCompleted;
bool anyError;
/// <summary>
/// Results to parse for reference flowmeter corrections
/// </summary>
Results.Entities.Batch batch;
IList<MeasurementCorrection> newCorrections;
public SaveFlowmeterCorr() {}
public SaveFlowmeterCorr(Generic.IComponentCfg cfg)
: base(cfg)
{
myCfg = cfg as SaveFlowmeterCorrCfg;
currentOp = CurrentOp.None;
log.Debug(this.ToString());
}
/// <summary>
/// Writes the test cycle results into a file, Events: Event.ResultsWritten
/// </summary>
/// <param name="procedure">Procedure to print the results of</param>
/// <param name="unsortedResults">Results to write into the file</param>
/// <returns>Reference to the operation</returns>
public IOperation WriteResultsOp(Results.Entities.Batch batch)
{
if (currentOp != CurrentOp.None)
throw new Exception("Sequence error");
else
currentOp = CurrentOp.SaveFlowmeterCorrections;
this.batch = batch;
return this;
}
IList<MeasurementCorrection> GetCorrections(Results.Entities.Batch batch, string flowmeterName, int rngIx, double tempRngLo, double tempRngHi)
{
IList<MeasurementCorrection> rslt = new List<MeasurementCorrection>();
foreach (var tr in batch.TestRslts)
{
float testTempLimLo = tr.TempLimLo();
float testTempLimHi = tr.TempLimHi();
if (tr.Components.Flowmeter == flowmeterName && tr.Evaluate() && testTempLimLo >= tempRngLo && testTempLimHi <= tempRngHi)
{
double correction = BenchControl.Formulas.CorrectionFromError(tr.FlowMean, tr.ErrorMaster);
rslt.Add(new MeasurementCorrection { RangeIx = rngIx, Measurement = tr.FlowMean, Correction = (float)correction });
}
}
return rslt;
}
void DeleteExistingCorrections(ISession session, Component cmpnt, int rangeIx)
{
for (int i = cmpnt.Corrections.Count - 1; i >= 0; i--)
{
if (cmpnt.Corrections[i].RangeIx == rangeIx)
{
session.Delete(cmpnt.Corrections[i]);
cmpnt.Corrections.RemoveAt(i);
}
}
session.SaveOrUpdate(cmpnt);
}
void SaveNewCorrections(ISession session, Component cmpnt, int rangeIx, IList<MeasurementCorrection> corrections)
{
if (cmpnt.Corrections == null) cmpnt.Corrections = new List<MeasurementCorrection>();
foreach (var mc in corrections)
{
mc.RangeIx = rangeIx;
cmpnt.Corrections.Add(mc);
session.SaveOrUpdate(mc);
}
session.SaveOrUpdate(cmpnt);
}
/// <summary>Start this operation</summary>
public void Start()
{
opCompleted = false;
anyError = false;
}
/// <summary>Run this operation</summary>
/// <returns>Event.ResultsWritten or Event.Error</returns>
public Event Run()
{
if (myCfg.DebugLevel == DebugMode.Simulate)
{
opCompleted = true;
return Event.ResultsWritten;
}
if (currentOp == CurrentOp.SaveFlowmeterCorrections)
{
if (!opCompleted)
{
ITransaction transaction = null;
try
{
ISession session = Config.FluentCommon.CreateSession(Users.Entities.DBKind.Config);
transaction = session.BeginTransaction();
for (int fmtr = 1; fmtr <= myCfg.FlowmetersCount(); fmtr++)
{
string flowmeterName = myCfg.GetFlowmeterName(fmtr);
Elde.FlowMeter.FlowMeter flowmeter = TbfComponents.FindComponent(flowmeterName) as Elde.FlowMeter.FlowMeter;
if (flowmeter != null)
{
var cmpntEntities = session.QueryOver<Component>()
.Where(cmpnt => (cmpnt.Name == flowmeterName))
.List();
if (cmpntEntities.Count != 1)
{
log.ErrorFormat("No unique flowmeter named {0}", myCfg.GetFlowmeterName(fmtr));
continue;
}
for (int rng = 0; rng <= myCfg.RangesCount(); rng++)
{
if (myCfg.FlowmtrRangeEnabled(fmtr, rng))
{
double tempRngLo = flowmeter.GetTempLo(rng);
double tempRngHi = flowmeter.GetTempHi(rng);
newCorrections = GetCorrections(batch, flowmeterName, rng, tempRngLo, tempRngHi);
DeleteExistingCorrections(session, cmpntEntities[0], rng);
SaveNewCorrections(session, cmpntEntities[0], rng, newCorrections);
}
}
}
}
transaction.Commit();
session.Flush();
opCompleted = true;
log.WarnFormat("Measurement corrections successfully saved");
}
catch (Exception exc)
{
if (transaction != null && !transaction.WasCommitted) transaction.Rollback();
anyError = true;
log.ErrorFormat("Failed to write corrections calculated from batch {0}: {1}", batch.BatchNr, exc.Message);
}
}
if (anyError)
return Event.ResultsNotWritten;
else
return Event.ResultsWritten;
}
else
{
return Event.None;
}
}
/// <summary>Stop this operation</summary>
public void Stop()
{
currentOp = CurrentOp.None;
}
}
}
@@ -1,219 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System.Xml.Serialization;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.Output.DB.SaveFlowmeterCorrections
{
public class SaveFlowmeterCorrCfg : ComponentCfgBase, Generic.IComponentCfg
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(SaveFlowmeterCorrCfg) })[0];
protected override XmlSerializer GetSerializer() { return Serializer; }
public IComponentCfgCtrl GetControl() { return new SaveFlowmeterCorrCfgCtrl(); }
public string Flowmeter1;
public string Flowmeter2;
public string Flowmeter3;
public string Flowmeter4;
public string Flowmeter5;
public string Flowmeter6;
public string Flowmeter7;
public bool Flowm1Rng1;
public bool Flowm1Rng2;
public bool Flowm1Rng3;
public bool Flowm1Rng4;
public bool Flowm1Rng5;
public bool Flowm2Rng1;
public bool Flowm2Rng2;
public bool Flowm2Rng3;
public bool Flowm2Rng4;
public bool Flowm2Rng5;
public bool Flowm3Rng1;
public bool Flowm3Rng2;
public bool Flowm3Rng3;
public bool Flowm3Rng4;
public bool Flowm3Rng5;
public bool Flowm4Rng1;
public bool Flowm4Rng2;
public bool Flowm4Rng3;
public bool Flowm4Rng4;
public bool Flowm4Rng5;
public bool Flowm5Rng1;
public bool Flowm5Rng2;
public bool Flowm5Rng3;
public bool Flowm5Rng4;
public bool Flowm5Rng5;
public bool Flowm6Rng1;
public bool Flowm6Rng2;
public bool Flowm6Rng3;
public bool Flowm6Rng4;
public bool Flowm6Rng5;
public bool Flowm7Rng1;
public bool Flowm7Rng2;
public bool Flowm7Rng3;
public bool Flowm7Rng4;
public bool Flowm7Rng5;
public int FlowmetersCount() { return 7; }
public int RangesCount() { return 5; }
/// <summary>
/// Get flowmeter name
/// </summary>
/// <param name="f">Flowmeter index 1 .. FlowmetersCount()==7</param>
/// <returns>Flowmeter name or null</returns>
public string GetFlowmeterName(int f)
{
switch (f)
{
case 1: return Flowmeter1;
case 2: return Flowmeter2;
case 3: return Flowmeter3;
case 4: return Flowmeter4;
case 5: return Flowmeter5;
case 6: return Flowmeter6;
case 7: return Flowmeter7;
default: return null;
}
}
/// <summary>
/// Is range enabled
/// </summary>
/// <param name="f">Flowmeter index 1 .. FlowmetersCount()==7</param>
/// <param name="r">Range index 0 .. RangesCount()==5</param>
/// <returns>ture if the range is enabled</returns>
public bool FlowmtrRangeEnabled(int f, int r)
{
if (f == 1)
{
switch (r)
{
case 0: return !(Flowm1Rng1 || Flowm1Rng2 || Flowm1Rng3 || Flowm1Rng4 || Flowm1Rng5);
case 1: return Flowm1Rng1;
case 2: return Flowm1Rng2;
case 3: return Flowm1Rng3;
case 4: return Flowm1Rng4;
case 5: return Flowm1Rng5;
default: break;
}
}
else if (f == 2)
{
switch (r)
{
case 0: return !(Flowm2Rng1 || Flowm2Rng2 || Flowm2Rng3 || Flowm2Rng4 || Flowm2Rng5);
case 1: return Flowm2Rng1;
case 2: return Flowm2Rng2;
case 3: return Flowm2Rng3;
case 4: return Flowm2Rng4;
case 5: return Flowm2Rng5;
default: break;
}
}
else if (f == 3)
{
switch (r)
{
case 0: return !(Flowm3Rng1 || Flowm3Rng2 || Flowm3Rng3 || Flowm3Rng4 || Flowm3Rng5);
case 1: return Flowm3Rng1;
case 2: return Flowm3Rng2;
case 3: return Flowm3Rng3;
case 4: return Flowm3Rng4;
case 5: return Flowm3Rng5;
default: break;
}
}
else if (f == 4)
{
switch (r)
{
case 0: return !(Flowm4Rng1 || Flowm4Rng2 || Flowm4Rng3 || Flowm4Rng4 || Flowm4Rng5);
case 1: return Flowm4Rng1;
case 2: return Flowm4Rng2;
case 3: return Flowm4Rng3;
case 4: return Flowm4Rng4;
case 5: return Flowm4Rng5;
default: break;
}
}
else if (f == 5)
{
switch (r)
{
case 0: return !(Flowm5Rng1 || Flowm5Rng2 || Flowm5Rng3 || Flowm5Rng4 || Flowm5Rng5);
case 1: return Flowm5Rng1;
case 2: return Flowm5Rng2;
case 3: return Flowm5Rng3;
case 4: return Flowm5Rng4;
case 5: return Flowm5Rng5;
default: break;
}
}
else if (f == 6)
{
switch (r)
{
case 0: return !(Flowm6Rng1 || Flowm6Rng2 || Flowm6Rng3 || Flowm6Rng4 || Flowm6Rng5);
case 1: return Flowm6Rng1;
case 2: return Flowm6Rng2;
case 3: return Flowm6Rng3;
case 4: return Flowm6Rng4;
case 5: return Flowm6Rng5;
default: break;
}
}
else if (f == 7)
{
switch (r)
{
case 0: return !(Flowm7Rng1 || Flowm7Rng2 || Flowm7Rng3 || Flowm7Rng4 || Flowm7Rng5);
case 1: return Flowm7Rng1;
case 2: return Flowm7Rng2;
case 3: return Flowm7Rng3;
case 4: return Flowm7Rng4;
case 5: return Flowm7Rng5;
default: break;
}
}
return false;
}
/// Private parameterless constructor invoked by all other (public) constructors
SaveFlowmeterCorrCfg()
{
ParentName = string.Empty;
Flowmeter1 = "I1";
Flowmeter2 = "I2";
Flowmeter3 = "I3";
Flowmeter4 = null;
Flowmeter5 = null;
Flowmeter6 = null;
Flowmeter7 = null;
}
public SaveFlowmeterCorrCfg(string name, IComponentFactory factory)
: this()
{
this.Name = name;
this.Factory = factory;
}
public string ToString(int i)
{
return string.Format("Name={0}, Flowmtr1={1}, Flowmtr2={2}, Flowmtr3={3}, Flowmtr4={4}, Flowmtr5={5}, Flowmtr6={6}, Flowmtr7={7}",
Name, Flowmeter1, Flowmeter2, Flowmeter3, Flowmeter4, Flowmeter5, Flowmeter6, Flowmeter7);
}
}
}
@@ -1,361 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System;
using System.Windows.Forms;
using log4net;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.Output.DB.SaveFlowmeterCorrections
{
public partial class SaveFlowmeterCorrCfgCtrl : Configs.ConfigCtrlUtils, IComponentCfgCtrl
{
static readonly ILog log = LogManager.GetLogger(typeof(SaveFlowmeterCorrCfgCtrl));
public bool ShowMore { get { return false; } }
ComponentParametersDlg parent;
SaveFlowmeterCorrCfg config;
public IComponentCfg Config
{
get { return config as IComponentCfg; }
set
{
config = value as SaveFlowmeterCorrCfg;
Redraw();
}
}
public SaveFlowmeterCorrCfgCtrl()
{
InitializeComponent();
}
private void WriterCfgCtrl_Load(object sender, EventArgs e)
{
parent = ParentForm as ComponentParametersDlg;
if (parent == null) return;
if (parent.TbfComponents != null)
{
flowmeter1ComboBox.Items.Add("---");
flowmeter2ComboBox.Items.Add("---");
flowmeter3ComboBox.Items.Add("---");
flowmeter4ComboBox.Items.Add("---");
flowmeter5ComboBox.Items.Add("---");
flowmeter6ComboBox.Items.Add("---");
flowmeter7ComboBox.Items.Add("---");
///
foreach (var cmpnt in parent.TbfComponents)
{
if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is TBF.BenchControl.Elde.FlowMeter.FlowMeterFactory)
{
flowmeter1ComboBox.Items.Add(cmpnt.Name);
flowmeter2ComboBox.Items.Add(cmpnt.Name);
flowmeter3ComboBox.Items.Add(cmpnt.Name);
flowmeter4ComboBox.Items.Add(cmpnt.Name);
flowmeter5ComboBox.Items.Add(cmpnt.Name);
flowmeter6ComboBox.Items.Add(cmpnt.Name);
flowmeter7ComboBox.Items.Add(cmpnt.Name);
}
}
}
Redraw();
}
public void Closing()
{
}
void Redraw()
{
if (config == null) return; /// Control was not loaded, settings were not changed
classNameLabel.Text = config.Factory.ClassName;
nameTextBox.Text = config.Name;
flowmeter1ComboBox.Text = string.IsNullOrEmpty(config.Flowmeter1) ? "---" : config.Flowmeter1;
flowm1Rng1CheckBox.Checked = config.Flowm1Rng1;
flowm1Rng2CheckBox.Checked = config.Flowm1Rng2;
flowm1Rng3CheckBox.Checked = config.Flowm1Rng3;
flowm1Rng4CheckBox.Checked = config.Flowm1Rng4;
flowm1Rng5CheckBox.Checked = config.Flowm1Rng5;
flowm1Rng0CheckBox.Checked = !(config.Flowm1Rng1 || config.Flowm1Rng2 || config.Flowm1Rng3 || config.Flowm1Rng4 || config.Flowm1Rng5);
flowmeter2ComboBox.Text = string.IsNullOrEmpty(config.Flowmeter2) ? "---" : config.Flowmeter2;
flowm2Rng1CheckBox.Checked = config.Flowm2Rng1;
flowm2Rng2CheckBox.Checked = config.Flowm2Rng2;
flowm2Rng3CheckBox.Checked = config.Flowm2Rng3;
flowm2Rng4CheckBox.Checked = config.Flowm2Rng4;
flowm2Rng5CheckBox.Checked = config.Flowm2Rng5;
flowm2Rng0CheckBox.Checked = !(config.Flowm2Rng1 || config.Flowm2Rng2 || config.Flowm2Rng3 || config.Flowm2Rng4 || config.Flowm2Rng5);
flowmeter3ComboBox.Text = string.IsNullOrEmpty(config.Flowmeter3) ? "---" : config.Flowmeter3;
flowm3Rng1CheckBox.Checked = config.Flowm3Rng1;
flowm3Rng2CheckBox.Checked = config.Flowm3Rng2;
flowm3Rng3CheckBox.Checked = config.Flowm3Rng3;
flowm3Rng4CheckBox.Checked = config.Flowm3Rng4;
flowm3Rng5CheckBox.Checked = config.Flowm3Rng5;
flowm3Rng0CheckBox.Checked = !(config.Flowm3Rng1 || config.Flowm3Rng2 || config.Flowm3Rng3 || config.Flowm3Rng4 || config.Flowm3Rng5);
flowmeter4ComboBox.Text = string.IsNullOrEmpty(config.Flowmeter4) ? "---" : config.Flowmeter4;
flowm4Rng1CheckBox.Checked = config.Flowm4Rng1;
flowm4Rng2CheckBox.Checked = config.Flowm4Rng2;
flowm4Rng3CheckBox.Checked = config.Flowm4Rng3;
flowm4Rng4CheckBox.Checked = config.Flowm4Rng4;
flowm4Rng5CheckBox.Checked = config.Flowm4Rng5;
flowm4Rng0CheckBox.Checked = !(config.Flowm4Rng1 || config.Flowm4Rng2 || config.Flowm4Rng3 || config.Flowm4Rng4 || config.Flowm4Rng5);
flowmeter5ComboBox.Text = string.IsNullOrEmpty(config.Flowmeter5) ? "---" : config.Flowmeter5;
flowm5Rng1CheckBox.Checked = config.Flowm5Rng1;
flowm5Rng2CheckBox.Checked = config.Flowm5Rng2;
flowm5Rng3CheckBox.Checked = config.Flowm5Rng3;
flowm5Rng4CheckBox.Checked = config.Flowm5Rng4;
flowm5Rng5CheckBox.Checked = config.Flowm5Rng5;
flowm5Rng0CheckBox.Checked = !(config.Flowm5Rng1 || config.Flowm5Rng2 || config.Flowm5Rng3 || config.Flowm5Rng4 || config.Flowm5Rng5);
flowmeter6ComboBox.Text = string.IsNullOrEmpty(config.Flowmeter6) ? "---" : config.Flowmeter6;
flowm6Rng1CheckBox.Checked = config.Flowm6Rng1;
flowm6Rng2CheckBox.Checked = config.Flowm6Rng2;
flowm6Rng3CheckBox.Checked = config.Flowm6Rng3;
flowm6Rng4CheckBox.Checked = config.Flowm6Rng4;
flowm6Rng5CheckBox.Checked = config.Flowm6Rng5;
flowm6Rng0CheckBox.Checked = !(config.Flowm6Rng1 || config.Flowm6Rng2 || config.Flowm6Rng3 || config.Flowm6Rng4 || config.Flowm6Rng5);
flowmeter7ComboBox.Text = string.IsNullOrEmpty(config.Flowmeter7) ? "---" : config.Flowmeter7;
flowm7Rng1CheckBox.Checked = config.Flowm7Rng1;
flowm7Rng2CheckBox.Checked = config.Flowm7Rng2;
flowm7Rng3CheckBox.Checked = config.Flowm7Rng3;
flowm7Rng4CheckBox.Checked = config.Flowm7Rng4;
flowm7Rng5CheckBox.Checked = config.Flowm7Rng5;
flowm7Rng0CheckBox.Checked = !(config.Flowm7Rng1 || config.Flowm7Rng2 || config.Flowm7Rng3 || config.Flowm7Rng4 || config.Flowm7Rng5);
}
public void Unlock()
{
nameTextBox.Enabled = true;
flowmeter1ComboBox.Enabled = true;
flowm1Rng0CheckBox.Enabled = true;
flowm1Rng1CheckBox.Enabled = true;
flowm1Rng2CheckBox.Enabled = true;
flowm1Rng3CheckBox.Enabled = true;
flowm1Rng4CheckBox.Enabled = true;
flowm1Rng5CheckBox.Enabled = true;
flowmeter2ComboBox.Enabled = true;
flowm2Rng0CheckBox.Enabled = true;
flowm2Rng1CheckBox.Enabled = true;
flowm2Rng2CheckBox.Enabled = true;
flowm2Rng3CheckBox.Enabled = true;
flowm2Rng4CheckBox.Enabled = true;
flowm2Rng5CheckBox.Enabled = true;
flowmeter3ComboBox.Enabled = true;
flowm3Rng0CheckBox.Enabled = true;
flowm3Rng1CheckBox.Enabled = true;
flowm3Rng2CheckBox.Enabled = true;
flowm3Rng3CheckBox.Enabled = true;
flowm3Rng4CheckBox.Enabled = true;
flowm3Rng5CheckBox.Enabled = true;
flowmeter4ComboBox.Enabled = true;
flowm4Rng0CheckBox.Enabled = true;
flowm4Rng1CheckBox.Enabled = true;
flowm4Rng2CheckBox.Enabled = true;
flowm4Rng3CheckBox.Enabled = true;
flowm4Rng4CheckBox.Enabled = true;
flowm4Rng5CheckBox.Enabled = true;
flowmeter5ComboBox.Enabled = true;
flowm5Rng0CheckBox.Enabled = true;
flowm5Rng1CheckBox.Enabled = true;
flowm5Rng2CheckBox.Enabled = true;
flowm5Rng3CheckBox.Enabled = true;
flowm5Rng4CheckBox.Enabled = true;
flowm5Rng5CheckBox.Enabled = true;
flowmeter6ComboBox.Enabled = true;
flowm6Rng0CheckBox.Enabled = true;
flowm6Rng1CheckBox.Enabled = true;
flowm6Rng2CheckBox.Enabled = true;
flowm6Rng3CheckBox.Enabled = true;
flowm6Rng4CheckBox.Enabled = true;
flowm6Rng5CheckBox.Enabled = true;
flowmeter7ComboBox.Enabled = true;
flowm7Rng0CheckBox.Enabled = true;
flowm7Rng1CheckBox.Enabled = true;
flowm7Rng2CheckBox.Enabled = true;
flowm7Rng3CheckBox.Enabled = true;
flowm7Rng4CheckBox.Enabled = true;
flowm7Rng5CheckBox.Enabled = true;
}
public CfgUpdateFlags VerifyCfg(ref string message)
{
CfgUpdateFlags flags = CfgUpdateFlags.None;
if (!flowmeter1ComboBox.Items.Contains(flowmeter1ComboBox.Text))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid {0}", flowmeter1Label.Text);
}
if ((flowmeter1ComboBox.Text != "---") &&
(flowm1Rng0CheckBox.Checked == (flowm1Rng1CheckBox.Checked || flowm1Rng2CheckBox.Checked || flowm1Rng3CheckBox.Checked ||
flowm1Rng4CheckBox.Checked || flowm1Rng5CheckBox.Checked)))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid ranges for {0}", flowmeter1Label.Text);
}
if (!flowmeter2ComboBox.Items.Contains(flowmeter2ComboBox.Text))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid {0}", flowmeter2Label.Text);
}
if ((flowmeter2ComboBox.Text != "---") &&
(flowm2Rng0CheckBox.Checked == (flowm2Rng1CheckBox.Checked || flowm2Rng2CheckBox.Checked || flowm2Rng3CheckBox.Checked ||
flowm2Rng4CheckBox.Checked || flowm2Rng5CheckBox.Checked)))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid ranges for {0}", flowmeter2Label.Text);
}
if (!flowmeter3ComboBox.Items.Contains(flowmeter3ComboBox.Text))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid {0}", flowmeter3Label.Text);
}
if ((flowmeter3ComboBox.Text != "---") &&
(flowm3Rng0CheckBox.Checked == (flowm3Rng1CheckBox.Checked || flowm3Rng2CheckBox.Checked || flowm3Rng3CheckBox.Checked ||
flowm3Rng4CheckBox.Checked || flowm3Rng5CheckBox.Checked)))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid ranges for {0}", flowmeter3Label.Text);
}
if (!flowmeter4ComboBox.Items.Contains(flowmeter4ComboBox.Text))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid {0}", flowmeter4Label.Text);
}
if ((flowmeter4ComboBox.Text != "---") &&
(flowm4Rng0CheckBox.Checked == (flowm4Rng1CheckBox.Checked || flowm4Rng2CheckBox.Checked || flowm4Rng3CheckBox.Checked ||
flowm4Rng4CheckBox.Checked || flowm4Rng5CheckBox.Checked)))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid ranges for {0}", flowmeter4Label.Text);
}
if (!flowmeter5ComboBox.Items.Contains(flowmeter5ComboBox.Text))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid {0}", flowmeter5Label.Text);
}
if ((flowmeter5ComboBox.Text != "---") &&
(flowm5Rng0CheckBox.Checked == (flowm5Rng1CheckBox.Checked || flowm5Rng2CheckBox.Checked || flowm5Rng3CheckBox.Checked ||
flowm5Rng4CheckBox.Checked || flowm5Rng5CheckBox.Checked)))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid ranges for {0}", flowmeter5Label.Text);
}
if (!flowmeter6ComboBox.Items.Contains(flowmeter6ComboBox.Text))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid {0}", flowmeter6Label.Text);
}
if ((flowmeter6ComboBox.Text != "---") &&
(flowm6Rng0CheckBox.Checked == (flowm6Rng1CheckBox.Checked || flowm6Rng2CheckBox.Checked || flowm6Rng3CheckBox.Checked ||
flowm6Rng4CheckBox.Checked || flowm6Rng5CheckBox.Checked)))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid ranges for {0}", flowmeter6Label.Text);
}
if (!flowmeter7ComboBox.Items.Contains(flowmeter7ComboBox.Text))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid {0}", flowmeter7Label.Text);
}
if ((flowmeter7ComboBox.Text != "---") &&
(flowm7Rng0CheckBox.Checked == (flowm7Rng1CheckBox.Checked || flowm7Rng2CheckBox.Checked || flowm7Rng3CheckBox.Checked ||
flowm7Rng4CheckBox.Checked || flowm7Rng5CheckBox.Checked)))
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format("Invalid ranges for {0}", flowmeter7Label.Text);
}
return flags;
}
public CfgUpdateFlags UpdateCfg()
{
CfgUpdateFlags flags = CfgUpdateFlags.None;
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
if (config.Name != nameTextBox.Text)
{
config.Name = nameTextBox.Text;
flags |= CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd;
}
flags |= UpdateDifferent(ref config.Flowmeter1, flowmeter1ComboBox.Text, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm1Rng1, flowm1Rng1CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm1Rng2, flowm1Rng2CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm1Rng3, flowm1Rng3CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm1Rng4, flowm1Rng4CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm1Rng5, flowm1Rng5CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowmeter2, flowmeter2ComboBox.Text, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm2Rng1, flowm2Rng1CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm2Rng2, flowm2Rng2CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm2Rng3, flowm2Rng3CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm2Rng4, flowm2Rng4CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm2Rng5, flowm2Rng5CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowmeter3, flowmeter3ComboBox.Text, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm3Rng1, flowm3Rng1CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm3Rng2, flowm3Rng2CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm3Rng3, flowm3Rng3CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm3Rng4, flowm3Rng4CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm3Rng5, flowm3Rng5CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowmeter4, flowmeter4ComboBox.Text, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm4Rng1, flowm4Rng1CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm4Rng2, flowm4Rng2CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm4Rng3, flowm4Rng3CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm4Rng4, flowm4Rng4CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm4Rng5, flowm4Rng5CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowmeter5, flowmeter5ComboBox.Text, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm5Rng1, flowm5Rng1CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm5Rng2, flowm5Rng2CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm5Rng3, flowm5Rng3CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm5Rng4, flowm5Rng4CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm5Rng5, flowm5Rng5CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowmeter6, flowmeter6ComboBox.Text, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm6Rng1, flowm6Rng1CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm6Rng2, flowm6Rng2CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm6Rng3, flowm6Rng3CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm6Rng4, flowm6Rng4CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm6Rng5, flowm6Rng5CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowmeter7, flowmeter7ComboBox.Text, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm7Rng1, flowm7Rng1CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm7Rng2, flowm7Rng2CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm7Rng3, flowm7Rng3CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm7Rng4, flowm7Rng4CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
flags |= UpdateDifferent(ref config.Flowm7Rng5, flowm7Rng5CheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
return flags;
}
}
}
@@ -1,854 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
namespace TBF.BenchControl.Output.DB.SaveFlowmeterCorrections
{
partial class SaveFlowmeterCorrCfgCtrl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.nameTextBox = new System.Windows.Forms.TextBox();
this.nameLabel = new System.Windows.Forms.Label();
this.classNameLabel = new System.Windows.Forms.Label();
this.flowmeter1Label = new System.Windows.Forms.Label();
this.flowmeter1ComboBox = new System.Windows.Forms.ComboBox();
this.flowm1Rng1CheckBox = new System.Windows.Forms.CheckBox();
this.flowm1Rng2CheckBox = new System.Windows.Forms.CheckBox();
this.flowm1Rng3CheckBox = new System.Windows.Forms.CheckBox();
this.flowm1Rng4CheckBox = new System.Windows.Forms.CheckBox();
this.flowm1Rng5CheckBox = new System.Windows.Forms.CheckBox();
this.flowm2Rng5CheckBox = new System.Windows.Forms.CheckBox();
this.flowm2Rng4CheckBox = new System.Windows.Forms.CheckBox();
this.flowm2Rng3CheckBox = new System.Windows.Forms.CheckBox();
this.flowm2Rng2CheckBox = new System.Windows.Forms.CheckBox();
this.flowm2Rng1CheckBox = new System.Windows.Forms.CheckBox();
this.flowmeter2ComboBox = new System.Windows.Forms.ComboBox();
this.flowmeter2Label = new System.Windows.Forms.Label();
this.flowm3Rng5CheckBox = new System.Windows.Forms.CheckBox();
this.flowm3Rng4CheckBox = new System.Windows.Forms.CheckBox();
this.flowm3Rng3CheckBox = new System.Windows.Forms.CheckBox();
this.flowm3Rng2CheckBox = new System.Windows.Forms.CheckBox();
this.flowm3Rng1CheckBox = new System.Windows.Forms.CheckBox();
this.flowmeter3ComboBox = new System.Windows.Forms.ComboBox();
this.flowmeter3Label = new System.Windows.Forms.Label();
this.flowm4Rng5CheckBox = new System.Windows.Forms.CheckBox();
this.flowm4Rng4CheckBox = new System.Windows.Forms.CheckBox();
this.flowm4Rng3CheckBox = new System.Windows.Forms.CheckBox();
this.flowm4Rng2CheckBox = new System.Windows.Forms.CheckBox();
this.flowm4Rng1CheckBox = new System.Windows.Forms.CheckBox();
this.flowmeter4ComboBox = new System.Windows.Forms.ComboBox();
this.flowmeter4Label = new System.Windows.Forms.Label();
this.flowm5Rng5CheckBox = new System.Windows.Forms.CheckBox();
this.flowm5Rng4CheckBox = new System.Windows.Forms.CheckBox();
this.flowm5Rng3CheckBox = new System.Windows.Forms.CheckBox();
this.flowm5Rng2CheckBox = new System.Windows.Forms.CheckBox();
this.flowm5Rng1CheckBox = new System.Windows.Forms.CheckBox();
this.flowmeter5ComboBox = new System.Windows.Forms.ComboBox();
this.flowmeter5Label = new System.Windows.Forms.Label();
this.flowm5Rng0CheckBox = new System.Windows.Forms.CheckBox();
this.flowm4Rng0CheckBox = new System.Windows.Forms.CheckBox();
this.flowm3Rng0CheckBox = new System.Windows.Forms.CheckBox();
this.flowm2Rng0CheckBox = new System.Windows.Forms.CheckBox();
this.flowm1Rng0CheckBox = new System.Windows.Forms.CheckBox();
this.label1 = new System.Windows.Forms.Label();
this.flowm6Rng0CheckBox = new System.Windows.Forms.CheckBox();
this.flowm6Rng5CheckBox = new System.Windows.Forms.CheckBox();
this.flowm6Rng4CheckBox = new System.Windows.Forms.CheckBox();
this.flowm6Rng3CheckBox = new System.Windows.Forms.CheckBox();
this.flowm6Rng2CheckBox = new System.Windows.Forms.CheckBox();
this.flowm6Rng1CheckBox = new System.Windows.Forms.CheckBox();
this.flowmeter6ComboBox = new System.Windows.Forms.ComboBox();
this.flowmeter6Label = new System.Windows.Forms.Label();
this.flowm7Rng0CheckBox = new System.Windows.Forms.CheckBox();
this.flowm7Rng5CheckBox = new System.Windows.Forms.CheckBox();
this.flowm7Rng4CheckBox = new System.Windows.Forms.CheckBox();
this.flowm7Rng3CheckBox = new System.Windows.Forms.CheckBox();
this.flowm7Rng2CheckBox = new System.Windows.Forms.CheckBox();
this.flowm7Rng1CheckBox = new System.Windows.Forms.CheckBox();
this.flowmeter7ComboBox = new System.Windows.Forms.ComboBox();
this.flowmeter7Label = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(95, 41);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(285, 20);
this.nameTextBox.TabIndex = 2;
//
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(15, 44);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 1;
this.nameLabel.Text = "Name";
//
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(107, 19);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
this.classNameLabel.TabIndex = 0;
this.classNameLabel.Text = "ComonentName";
//
// flowmeter1Label
//
this.flowmeter1Label.AutoSize = true;
this.flowmeter1Label.Location = new System.Drawing.Point(15, 96);
this.flowmeter1Label.Name = "flowmeter1Label";
this.flowmeter1Label.Size = new System.Drawing.Size(64, 13);
this.flowmeter1Label.TabIndex = 3;
this.flowmeter1Label.Text = "Flowmeter 1";
//
// flowmeter1ComboBox
//
this.flowmeter1ComboBox.Enabled = false;
this.flowmeter1ComboBox.FormattingEnabled = true;
this.flowmeter1ComboBox.Location = new System.Drawing.Point(95, 93);
this.flowmeter1ComboBox.Name = "flowmeter1ComboBox";
this.flowmeter1ComboBox.Size = new System.Drawing.Size(69, 21);
this.flowmeter1ComboBox.TabIndex = 4;
//
// flowm1Rng1CheckBox
//
this.flowm1Rng1CheckBox.AutoSize = true;
this.flowm1Rng1CheckBox.Enabled = false;
this.flowm1Rng1CheckBox.Location = new System.Drawing.Point(245, 96);
this.flowm1Rng1CheckBox.Name = "flowm1Rng1CheckBox";
this.flowm1Rng1CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm1Rng1CheckBox.TabIndex = 6;
this.flowm1Rng1CheckBox.Text = "1";
this.flowm1Rng1CheckBox.UseVisualStyleBackColor = true;
//
// flowm1Rng2CheckBox
//
this.flowm1Rng2CheckBox.AutoSize = true;
this.flowm1Rng2CheckBox.Enabled = false;
this.flowm1Rng2CheckBox.Location = new System.Drawing.Point(275, 96);
this.flowm1Rng2CheckBox.Name = "flowm1Rng2CheckBox";
this.flowm1Rng2CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm1Rng2CheckBox.TabIndex = 7;
this.flowm1Rng2CheckBox.Text = "2";
this.flowm1Rng2CheckBox.UseVisualStyleBackColor = true;
//
// flowm1Rng3CheckBox
//
this.flowm1Rng3CheckBox.AutoSize = true;
this.flowm1Rng3CheckBox.Enabled = false;
this.flowm1Rng3CheckBox.Location = new System.Drawing.Point(305, 96);
this.flowm1Rng3CheckBox.Name = "flowm1Rng3CheckBox";
this.flowm1Rng3CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm1Rng3CheckBox.TabIndex = 8;
this.flowm1Rng3CheckBox.Text = "3";
this.flowm1Rng3CheckBox.UseVisualStyleBackColor = true;
//
// flowm1Rng4CheckBox
//
this.flowm1Rng4CheckBox.AutoSize = true;
this.flowm1Rng4CheckBox.Enabled = false;
this.flowm1Rng4CheckBox.Location = new System.Drawing.Point(335, 96);
this.flowm1Rng4CheckBox.Name = "flowm1Rng4CheckBox";
this.flowm1Rng4CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm1Rng4CheckBox.TabIndex = 9;
this.flowm1Rng4CheckBox.Text = "4";
this.flowm1Rng4CheckBox.UseVisualStyleBackColor = true;
//
// flowm1Rng5CheckBox
//
this.flowm1Rng5CheckBox.AutoSize = true;
this.flowm1Rng5CheckBox.Enabled = false;
this.flowm1Rng5CheckBox.Location = new System.Drawing.Point(365, 96);
this.flowm1Rng5CheckBox.Name = "flowm1Rng5CheckBox";
this.flowm1Rng5CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm1Rng5CheckBox.TabIndex = 10;
this.flowm1Rng5CheckBox.Text = "5";
this.flowm1Rng5CheckBox.UseVisualStyleBackColor = true;
//
// flowm2Rng5CheckBox
//
this.flowm2Rng5CheckBox.AutoSize = true;
this.flowm2Rng5CheckBox.Enabled = false;
this.flowm2Rng5CheckBox.Location = new System.Drawing.Point(365, 123);
this.flowm2Rng5CheckBox.Name = "flowm2Rng5CheckBox";
this.flowm2Rng5CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm2Rng5CheckBox.TabIndex = 18;
this.flowm2Rng5CheckBox.Text = "5";
this.flowm2Rng5CheckBox.UseVisualStyleBackColor = true;
//
// flowm2Rng4CheckBox
//
this.flowm2Rng4CheckBox.AutoSize = true;
this.flowm2Rng4CheckBox.Enabled = false;
this.flowm2Rng4CheckBox.Location = new System.Drawing.Point(335, 123);
this.flowm2Rng4CheckBox.Name = "flowm2Rng4CheckBox";
this.flowm2Rng4CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm2Rng4CheckBox.TabIndex = 17;
this.flowm2Rng4CheckBox.Text = "4";
this.flowm2Rng4CheckBox.UseVisualStyleBackColor = true;
//
// flowm2Rng3CheckBox
//
this.flowm2Rng3CheckBox.AutoSize = true;
this.flowm2Rng3CheckBox.Enabled = false;
this.flowm2Rng3CheckBox.Location = new System.Drawing.Point(305, 123);
this.flowm2Rng3CheckBox.Name = "flowm2Rng3CheckBox";
this.flowm2Rng3CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm2Rng3CheckBox.TabIndex = 16;
this.flowm2Rng3CheckBox.Text = "3";
this.flowm2Rng3CheckBox.UseVisualStyleBackColor = true;
//
// flowm2Rng2CheckBox
//
this.flowm2Rng2CheckBox.AutoSize = true;
this.flowm2Rng2CheckBox.Enabled = false;
this.flowm2Rng2CheckBox.Location = new System.Drawing.Point(275, 123);
this.flowm2Rng2CheckBox.Name = "flowm2Rng2CheckBox";
this.flowm2Rng2CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm2Rng2CheckBox.TabIndex = 15;
this.flowm2Rng2CheckBox.Text = "2";
this.flowm2Rng2CheckBox.UseVisualStyleBackColor = true;
//
// flowm2Rng1CheckBox
//
this.flowm2Rng1CheckBox.AutoSize = true;
this.flowm2Rng1CheckBox.Enabled = false;
this.flowm2Rng1CheckBox.Location = new System.Drawing.Point(245, 123);
this.flowm2Rng1CheckBox.Name = "flowm2Rng1CheckBox";
this.flowm2Rng1CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm2Rng1CheckBox.TabIndex = 14;
this.flowm2Rng1CheckBox.Text = "1";
this.flowm2Rng1CheckBox.UseVisualStyleBackColor = true;
//
// flowmeter2ComboBox
//
this.flowmeter2ComboBox.Enabled = false;
this.flowmeter2ComboBox.FormattingEnabled = true;
this.flowmeter2ComboBox.Location = new System.Drawing.Point(95, 120);
this.flowmeter2ComboBox.Name = "flowmeter2ComboBox";
this.flowmeter2ComboBox.Size = new System.Drawing.Size(69, 21);
this.flowmeter2ComboBox.TabIndex = 12;
//
// flowmeter2Label
//
this.flowmeter2Label.AutoSize = true;
this.flowmeter2Label.Location = new System.Drawing.Point(15, 123);
this.flowmeter2Label.Name = "flowmeter2Label";
this.flowmeter2Label.Size = new System.Drawing.Size(64, 13);
this.flowmeter2Label.TabIndex = 11;
this.flowmeter2Label.Text = "Flowmeter 2";
//
// flowm3Rng5CheckBox
//
this.flowm3Rng5CheckBox.AutoSize = true;
this.flowm3Rng5CheckBox.Enabled = false;
this.flowm3Rng5CheckBox.Location = new System.Drawing.Point(365, 150);
this.flowm3Rng5CheckBox.Name = "flowm3Rng5CheckBox";
this.flowm3Rng5CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm3Rng5CheckBox.TabIndex = 26;
this.flowm3Rng5CheckBox.Text = "5";
this.flowm3Rng5CheckBox.UseVisualStyleBackColor = true;
//
// flowm3Rng4CheckBox
//
this.flowm3Rng4CheckBox.AutoSize = true;
this.flowm3Rng4CheckBox.Enabled = false;
this.flowm3Rng4CheckBox.Location = new System.Drawing.Point(335, 150);
this.flowm3Rng4CheckBox.Name = "flowm3Rng4CheckBox";
this.flowm3Rng4CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm3Rng4CheckBox.TabIndex = 25;
this.flowm3Rng4CheckBox.Text = "4";
this.flowm3Rng4CheckBox.UseVisualStyleBackColor = true;
//
// flowm3Rng3CheckBox
//
this.flowm3Rng3CheckBox.AutoSize = true;
this.flowm3Rng3CheckBox.Enabled = false;
this.flowm3Rng3CheckBox.Location = new System.Drawing.Point(305, 150);
this.flowm3Rng3CheckBox.Name = "flowm3Rng3CheckBox";
this.flowm3Rng3CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm3Rng3CheckBox.TabIndex = 24;
this.flowm3Rng3CheckBox.Text = "3";
this.flowm3Rng3CheckBox.UseVisualStyleBackColor = true;
//
// flowm3Rng2CheckBox
//
this.flowm3Rng2CheckBox.AutoSize = true;
this.flowm3Rng2CheckBox.Enabled = false;
this.flowm3Rng2CheckBox.Location = new System.Drawing.Point(275, 150);
this.flowm3Rng2CheckBox.Name = "flowm3Rng2CheckBox";
this.flowm3Rng2CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm3Rng2CheckBox.TabIndex = 23;
this.flowm3Rng2CheckBox.Text = "2";
this.flowm3Rng2CheckBox.UseVisualStyleBackColor = true;
//
// flowm3Rng1CheckBox
//
this.flowm3Rng1CheckBox.AutoSize = true;
this.flowm3Rng1CheckBox.Enabled = false;
this.flowm3Rng1CheckBox.Location = new System.Drawing.Point(245, 150);
this.flowm3Rng1CheckBox.Name = "flowm3Rng1CheckBox";
this.flowm3Rng1CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm3Rng1CheckBox.TabIndex = 22;
this.flowm3Rng1CheckBox.Text = "1";
this.flowm3Rng1CheckBox.UseVisualStyleBackColor = true;
//
// flowmeter3ComboBox
//
this.flowmeter3ComboBox.Enabled = false;
this.flowmeter3ComboBox.FormattingEnabled = true;
this.flowmeter3ComboBox.Location = new System.Drawing.Point(95, 147);
this.flowmeter3ComboBox.Name = "flowmeter3ComboBox";
this.flowmeter3ComboBox.Size = new System.Drawing.Size(69, 21);
this.flowmeter3ComboBox.TabIndex = 20;
//
// flowmeter3Label
//
this.flowmeter3Label.AutoSize = true;
this.flowmeter3Label.Location = new System.Drawing.Point(15, 150);
this.flowmeter3Label.Name = "flowmeter3Label";
this.flowmeter3Label.Size = new System.Drawing.Size(64, 13);
this.flowmeter3Label.TabIndex = 19;
this.flowmeter3Label.Text = "Flowmeter 3";
//
// flowm4Rng5CheckBox
//
this.flowm4Rng5CheckBox.AutoSize = true;
this.flowm4Rng5CheckBox.Enabled = false;
this.flowm4Rng5CheckBox.Location = new System.Drawing.Point(365, 177);
this.flowm4Rng5CheckBox.Name = "flowm4Rng5CheckBox";
this.flowm4Rng5CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm4Rng5CheckBox.TabIndex = 34;
this.flowm4Rng5CheckBox.Text = "5";
this.flowm4Rng5CheckBox.UseVisualStyleBackColor = true;
//
// flowm4Rng4CheckBox
//
this.flowm4Rng4CheckBox.AutoSize = true;
this.flowm4Rng4CheckBox.Enabled = false;
this.flowm4Rng4CheckBox.Location = new System.Drawing.Point(335, 177);
this.flowm4Rng4CheckBox.Name = "flowm4Rng4CheckBox";
this.flowm4Rng4CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm4Rng4CheckBox.TabIndex = 33;
this.flowm4Rng4CheckBox.Text = "4";
this.flowm4Rng4CheckBox.UseVisualStyleBackColor = true;
//
// flowm4Rng3CheckBox
//
this.flowm4Rng3CheckBox.AutoSize = true;
this.flowm4Rng3CheckBox.Enabled = false;
this.flowm4Rng3CheckBox.Location = new System.Drawing.Point(305, 177);
this.flowm4Rng3CheckBox.Name = "flowm4Rng3CheckBox";
this.flowm4Rng3CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm4Rng3CheckBox.TabIndex = 32;
this.flowm4Rng3CheckBox.Text = "3";
this.flowm4Rng3CheckBox.UseVisualStyleBackColor = true;
//
// flowm4Rng2CheckBox
//
this.flowm4Rng2CheckBox.AutoSize = true;
this.flowm4Rng2CheckBox.Enabled = false;
this.flowm4Rng2CheckBox.Location = new System.Drawing.Point(275, 177);
this.flowm4Rng2CheckBox.Name = "flowm4Rng2CheckBox";
this.flowm4Rng2CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm4Rng2CheckBox.TabIndex = 31;
this.flowm4Rng2CheckBox.Text = "2";
this.flowm4Rng2CheckBox.UseVisualStyleBackColor = true;
//
// flowm4Rng1CheckBox
//
this.flowm4Rng1CheckBox.AutoSize = true;
this.flowm4Rng1CheckBox.Enabled = false;
this.flowm4Rng1CheckBox.Location = new System.Drawing.Point(245, 177);
this.flowm4Rng1CheckBox.Name = "flowm4Rng1CheckBox";
this.flowm4Rng1CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm4Rng1CheckBox.TabIndex = 30;
this.flowm4Rng1CheckBox.Text = "1";
this.flowm4Rng1CheckBox.UseVisualStyleBackColor = true;
//
// flowmeter4ComboBox
//
this.flowmeter4ComboBox.Enabled = false;
this.flowmeter4ComboBox.FormattingEnabled = true;
this.flowmeter4ComboBox.Location = new System.Drawing.Point(95, 174);
this.flowmeter4ComboBox.Name = "flowmeter4ComboBox";
this.flowmeter4ComboBox.Size = new System.Drawing.Size(69, 21);
this.flowmeter4ComboBox.TabIndex = 28;
//
// flowmeter4Label
//
this.flowmeter4Label.AutoSize = true;
this.flowmeter4Label.Location = new System.Drawing.Point(15, 177);
this.flowmeter4Label.Name = "flowmeter4Label";
this.flowmeter4Label.Size = new System.Drawing.Size(64, 13);
this.flowmeter4Label.TabIndex = 27;
this.flowmeter4Label.Text = "Flowmeter 4";
//
// flowm5Rng5CheckBox
//
this.flowm5Rng5CheckBox.AutoSize = true;
this.flowm5Rng5CheckBox.Enabled = false;
this.flowm5Rng5CheckBox.Location = new System.Drawing.Point(365, 204);
this.flowm5Rng5CheckBox.Name = "flowm5Rng5CheckBox";
this.flowm5Rng5CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm5Rng5CheckBox.TabIndex = 42;
this.flowm5Rng5CheckBox.Text = "5";
this.flowm5Rng5CheckBox.UseVisualStyleBackColor = true;
//
// flowm5Rng4CheckBox
//
this.flowm5Rng4CheckBox.AutoSize = true;
this.flowm5Rng4CheckBox.Enabled = false;
this.flowm5Rng4CheckBox.Location = new System.Drawing.Point(335, 204);
this.flowm5Rng4CheckBox.Name = "flowm5Rng4CheckBox";
this.flowm5Rng4CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm5Rng4CheckBox.TabIndex = 41;
this.flowm5Rng4CheckBox.Text = "4";
this.flowm5Rng4CheckBox.UseVisualStyleBackColor = true;
//
// flowm5Rng3CheckBox
//
this.flowm5Rng3CheckBox.AutoSize = true;
this.flowm5Rng3CheckBox.Enabled = false;
this.flowm5Rng3CheckBox.Location = new System.Drawing.Point(305, 204);
this.flowm5Rng3CheckBox.Name = "flowm5Rng3CheckBox";
this.flowm5Rng3CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm5Rng3CheckBox.TabIndex = 40;
this.flowm5Rng3CheckBox.Text = "3";
this.flowm5Rng3CheckBox.UseVisualStyleBackColor = true;
//
// flowm5Rng2CheckBox
//
this.flowm5Rng2CheckBox.AutoSize = true;
this.flowm5Rng2CheckBox.Enabled = false;
this.flowm5Rng2CheckBox.Location = new System.Drawing.Point(275, 204);
this.flowm5Rng2CheckBox.Name = "flowm5Rng2CheckBox";
this.flowm5Rng2CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm5Rng2CheckBox.TabIndex = 39;
this.flowm5Rng2CheckBox.Text = "2";
this.flowm5Rng2CheckBox.UseVisualStyleBackColor = true;
//
// flowm5Rng1CheckBox
//
this.flowm5Rng1CheckBox.AutoSize = true;
this.flowm5Rng1CheckBox.Enabled = false;
this.flowm5Rng1CheckBox.Location = new System.Drawing.Point(245, 204);
this.flowm5Rng1CheckBox.Name = "flowm5Rng1CheckBox";
this.flowm5Rng1CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm5Rng1CheckBox.TabIndex = 38;
this.flowm5Rng1CheckBox.Text = "1";
this.flowm5Rng1CheckBox.UseVisualStyleBackColor = true;
//
// flowmeter5ComboBox
//
this.flowmeter5ComboBox.Enabled = false;
this.flowmeter5ComboBox.FormattingEnabled = true;
this.flowmeter5ComboBox.Location = new System.Drawing.Point(95, 201);
this.flowmeter5ComboBox.Name = "flowmeter5ComboBox";
this.flowmeter5ComboBox.Size = new System.Drawing.Size(69, 21);
this.flowmeter5ComboBox.TabIndex = 36;
//
// flowmeter5Label
//
this.flowmeter5Label.AutoSize = true;
this.flowmeter5Label.Location = new System.Drawing.Point(15, 204);
this.flowmeter5Label.Name = "flowmeter5Label";
this.flowmeter5Label.Size = new System.Drawing.Size(64, 13);
this.flowmeter5Label.TabIndex = 35;
this.flowmeter5Label.Text = "Flowmeter 5";
//
// flowm5Rng0CheckBox
//
this.flowm5Rng0CheckBox.AutoSize = true;
this.flowm5Rng0CheckBox.Enabled = false;
this.flowm5Rng0CheckBox.Location = new System.Drawing.Point(196, 204);
this.flowm5Rng0CheckBox.Name = "flowm5Rng0CheckBox";
this.flowm5Rng0CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm5Rng0CheckBox.TabIndex = 37;
this.flowm5Rng0CheckBox.Text = "0";
this.flowm5Rng0CheckBox.UseVisualStyleBackColor = true;
//
// flowm4Rng0CheckBox
//
this.flowm4Rng0CheckBox.AutoSize = true;
this.flowm4Rng0CheckBox.Enabled = false;
this.flowm4Rng0CheckBox.Location = new System.Drawing.Point(196, 177);
this.flowm4Rng0CheckBox.Name = "flowm4Rng0CheckBox";
this.flowm4Rng0CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm4Rng0CheckBox.TabIndex = 29;
this.flowm4Rng0CheckBox.Text = "0";
this.flowm4Rng0CheckBox.UseVisualStyleBackColor = true;
//
// flowm3Rng0CheckBox
//
this.flowm3Rng0CheckBox.AutoSize = true;
this.flowm3Rng0CheckBox.Enabled = false;
this.flowm3Rng0CheckBox.Location = new System.Drawing.Point(196, 150);
this.flowm3Rng0CheckBox.Name = "flowm3Rng0CheckBox";
this.flowm3Rng0CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm3Rng0CheckBox.TabIndex = 21;
this.flowm3Rng0CheckBox.Text = "0";
this.flowm3Rng0CheckBox.UseVisualStyleBackColor = true;
//
// flowm2Rng0CheckBox
//
this.flowm2Rng0CheckBox.AutoSize = true;
this.flowm2Rng0CheckBox.Enabled = false;
this.flowm2Rng0CheckBox.Location = new System.Drawing.Point(196, 123);
this.flowm2Rng0CheckBox.Name = "flowm2Rng0CheckBox";
this.flowm2Rng0CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm2Rng0CheckBox.TabIndex = 13;
this.flowm2Rng0CheckBox.Text = "0";
this.flowm2Rng0CheckBox.UseVisualStyleBackColor = true;
//
// flowm1Rng0CheckBox
//
this.flowm1Rng0CheckBox.AutoSize = true;
this.flowm1Rng0CheckBox.Enabled = false;
this.flowm1Rng0CheckBox.Location = new System.Drawing.Point(196, 96);
this.flowm1Rng0CheckBox.Name = "flowm1Rng0CheckBox";
this.flowm1Rng0CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm1Rng0CheckBox.TabIndex = 5;
this.flowm1Rng0CheckBox.Text = "0";
this.flowm1Rng0CheckBox.UseVisualStyleBackColor = true;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(193, 72);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(179, 13);
this.label1.TabIndex = 43;
this.label1.Text = "Ranges to calibrate (either 0 or 1...5)";
//
// flowm6Rng0CheckBox
//
this.flowm6Rng0CheckBox.AutoSize = true;
this.flowm6Rng0CheckBox.Enabled = false;
this.flowm6Rng0CheckBox.Location = new System.Drawing.Point(196, 231);
this.flowm6Rng0CheckBox.Name = "flowm6Rng0CheckBox";
this.flowm6Rng0CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm6Rng0CheckBox.TabIndex = 46;
this.flowm6Rng0CheckBox.Text = "0";
this.flowm6Rng0CheckBox.UseVisualStyleBackColor = true;
//
// flowm6Rng5CheckBox
//
this.flowm6Rng5CheckBox.AutoSize = true;
this.flowm6Rng5CheckBox.Enabled = false;
this.flowm6Rng5CheckBox.Location = new System.Drawing.Point(365, 231);
this.flowm6Rng5CheckBox.Name = "flowm6Rng5CheckBox";
this.flowm6Rng5CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm6Rng5CheckBox.TabIndex = 51;
this.flowm6Rng5CheckBox.Text = "5";
this.flowm6Rng5CheckBox.UseVisualStyleBackColor = true;
//
// flowm6Rng4CheckBox
//
this.flowm6Rng4CheckBox.AutoSize = true;
this.flowm6Rng4CheckBox.Enabled = false;
this.flowm6Rng4CheckBox.Location = new System.Drawing.Point(335, 231);
this.flowm6Rng4CheckBox.Name = "flowm6Rng4CheckBox";
this.flowm6Rng4CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm6Rng4CheckBox.TabIndex = 50;
this.flowm6Rng4CheckBox.Text = "4";
this.flowm6Rng4CheckBox.UseVisualStyleBackColor = true;
//
// flowm6Rng3CheckBox
//
this.flowm6Rng3CheckBox.AutoSize = true;
this.flowm6Rng3CheckBox.Enabled = false;
this.flowm6Rng3CheckBox.Location = new System.Drawing.Point(305, 231);
this.flowm6Rng3CheckBox.Name = "flowm6Rng3CheckBox";
this.flowm6Rng3CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm6Rng3CheckBox.TabIndex = 49;
this.flowm6Rng3CheckBox.Text = "3";
this.flowm6Rng3CheckBox.UseVisualStyleBackColor = true;
//
// flowm6Rng2CheckBox
//
this.flowm6Rng2CheckBox.AutoSize = true;
this.flowm6Rng2CheckBox.Enabled = false;
this.flowm6Rng2CheckBox.Location = new System.Drawing.Point(275, 231);
this.flowm6Rng2CheckBox.Name = "flowm6Rng2CheckBox";
this.flowm6Rng2CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm6Rng2CheckBox.TabIndex = 48;
this.flowm6Rng2CheckBox.Text = "2";
this.flowm6Rng2CheckBox.UseVisualStyleBackColor = true;
//
// flowm6Rng1CheckBox
//
this.flowm6Rng1CheckBox.AutoSize = true;
this.flowm6Rng1CheckBox.Enabled = false;
this.flowm6Rng1CheckBox.Location = new System.Drawing.Point(245, 231);
this.flowm6Rng1CheckBox.Name = "flowm6Rng1CheckBox";
this.flowm6Rng1CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm6Rng1CheckBox.TabIndex = 47;
this.flowm6Rng1CheckBox.Text = "1";
this.flowm6Rng1CheckBox.UseVisualStyleBackColor = true;
//
// flowmeter6ComboBox
//
this.flowmeter6ComboBox.Enabled = false;
this.flowmeter6ComboBox.FormattingEnabled = true;
this.flowmeter6ComboBox.Location = new System.Drawing.Point(95, 228);
this.flowmeter6ComboBox.Name = "flowmeter6ComboBox";
this.flowmeter6ComboBox.Size = new System.Drawing.Size(69, 21);
this.flowmeter6ComboBox.TabIndex = 45;
//
// flowmeter6Label
//
this.flowmeter6Label.AutoSize = true;
this.flowmeter6Label.Location = new System.Drawing.Point(15, 231);
this.flowmeter6Label.Name = "flowmeter6Label";
this.flowmeter6Label.Size = new System.Drawing.Size(64, 13);
this.flowmeter6Label.TabIndex = 44;
this.flowmeter6Label.Text = "Flowmeter 6";
//
// flowm7Rng0CheckBox
//
this.flowm7Rng0CheckBox.AutoSize = true;
this.flowm7Rng0CheckBox.Enabled = false;
this.flowm7Rng0CheckBox.Location = new System.Drawing.Point(196, 258);
this.flowm7Rng0CheckBox.Name = "flowm7Rng0CheckBox";
this.flowm7Rng0CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm7Rng0CheckBox.TabIndex = 54;
this.flowm7Rng0CheckBox.Text = "0";
this.flowm7Rng0CheckBox.UseVisualStyleBackColor = true;
//
// flowm7Rng5CheckBox
//
this.flowm7Rng5CheckBox.AutoSize = true;
this.flowm7Rng5CheckBox.Enabled = false;
this.flowm7Rng5CheckBox.Location = new System.Drawing.Point(365, 258);
this.flowm7Rng5CheckBox.Name = "flowm7Rng5CheckBox";
this.flowm7Rng5CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm7Rng5CheckBox.TabIndex = 59;
this.flowm7Rng5CheckBox.Text = "5";
this.flowm7Rng5CheckBox.UseVisualStyleBackColor = true;
//
// flowm7Rng4CheckBox
//
this.flowm7Rng4CheckBox.AutoSize = true;
this.flowm7Rng4CheckBox.Enabled = false;
this.flowm7Rng4CheckBox.Location = new System.Drawing.Point(335, 258);
this.flowm7Rng4CheckBox.Name = "flowm7Rng4CheckBox";
this.flowm7Rng4CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm7Rng4CheckBox.TabIndex = 58;
this.flowm7Rng4CheckBox.Text = "4";
this.flowm7Rng4CheckBox.UseVisualStyleBackColor = true;
//
// flowm7Rng3CheckBox
//
this.flowm7Rng3CheckBox.AutoSize = true;
this.flowm7Rng3CheckBox.Enabled = false;
this.flowm7Rng3CheckBox.Location = new System.Drawing.Point(305, 258);
this.flowm7Rng3CheckBox.Name = "flowm7Rng3CheckBox";
this.flowm7Rng3CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm7Rng3CheckBox.TabIndex = 57;
this.flowm7Rng3CheckBox.Text = "3";
this.flowm7Rng3CheckBox.UseVisualStyleBackColor = true;
//
// flowm7Rng2CheckBox
//
this.flowm7Rng2CheckBox.AutoSize = true;
this.flowm7Rng2CheckBox.Enabled = false;
this.flowm7Rng2CheckBox.Location = new System.Drawing.Point(275, 258);
this.flowm7Rng2CheckBox.Name = "flowm7Rng2CheckBox";
this.flowm7Rng2CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm7Rng2CheckBox.TabIndex = 56;
this.flowm7Rng2CheckBox.Text = "2";
this.flowm7Rng2CheckBox.UseVisualStyleBackColor = true;
//
// flowm7Rng1CheckBox
//
this.flowm7Rng1CheckBox.AutoSize = true;
this.flowm7Rng1CheckBox.Enabled = false;
this.flowm7Rng1CheckBox.Location = new System.Drawing.Point(245, 258);
this.flowm7Rng1CheckBox.Name = "flowm7Rng1CheckBox";
this.flowm7Rng1CheckBox.Size = new System.Drawing.Size(32, 17);
this.flowm7Rng1CheckBox.TabIndex = 55;
this.flowm7Rng1CheckBox.Text = "1";
this.flowm7Rng1CheckBox.UseVisualStyleBackColor = true;
//
// flowmeter7ComboBox
//
this.flowmeter7ComboBox.Enabled = false;
this.flowmeter7ComboBox.FormattingEnabled = true;
this.flowmeter7ComboBox.Location = new System.Drawing.Point(95, 255);
this.flowmeter7ComboBox.Name = "flowmeter7ComboBox";
this.flowmeter7ComboBox.Size = new System.Drawing.Size(69, 21);
this.flowmeter7ComboBox.TabIndex = 53;
//
// flowmeter7Label
//
this.flowmeter7Label.AutoSize = true;
this.flowmeter7Label.Location = new System.Drawing.Point(15, 258);
this.flowmeter7Label.Name = "flowmeter7Label";
this.flowmeter7Label.Size = new System.Drawing.Size(64, 13);
this.flowmeter7Label.TabIndex = 52;
this.flowmeter7Label.Text = "Flowmeter 7";
//
// SaveFlowmeterCorrCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.flowm7Rng0CheckBox);
this.Controls.Add(this.flowm7Rng5CheckBox);
this.Controls.Add(this.flowm7Rng4CheckBox);
this.Controls.Add(this.flowm7Rng3CheckBox);
this.Controls.Add(this.flowm7Rng2CheckBox);
this.Controls.Add(this.flowm7Rng1CheckBox);
this.Controls.Add(this.flowmeter7ComboBox);
this.Controls.Add(this.flowmeter7Label);
this.Controls.Add(this.flowm6Rng0CheckBox);
this.Controls.Add(this.flowm6Rng5CheckBox);
this.Controls.Add(this.flowm6Rng4CheckBox);
this.Controls.Add(this.flowm6Rng3CheckBox);
this.Controls.Add(this.flowm6Rng2CheckBox);
this.Controls.Add(this.flowm6Rng1CheckBox);
this.Controls.Add(this.flowmeter6ComboBox);
this.Controls.Add(this.flowmeter6Label);
this.Controls.Add(this.label1);
this.Controls.Add(this.flowm5Rng0CheckBox);
this.Controls.Add(this.flowm4Rng0CheckBox);
this.Controls.Add(this.flowm3Rng0CheckBox);
this.Controls.Add(this.flowm2Rng0CheckBox);
this.Controls.Add(this.flowm1Rng0CheckBox);
this.Controls.Add(this.flowm5Rng5CheckBox);
this.Controls.Add(this.flowm5Rng4CheckBox);
this.Controls.Add(this.flowm5Rng3CheckBox);
this.Controls.Add(this.flowm5Rng2CheckBox);
this.Controls.Add(this.flowm5Rng1CheckBox);
this.Controls.Add(this.flowmeter5ComboBox);
this.Controls.Add(this.flowmeter5Label);
this.Controls.Add(this.flowm4Rng5CheckBox);
this.Controls.Add(this.flowm4Rng4CheckBox);
this.Controls.Add(this.flowm4Rng3CheckBox);
this.Controls.Add(this.flowm4Rng2CheckBox);
this.Controls.Add(this.flowm4Rng1CheckBox);
this.Controls.Add(this.flowmeter4ComboBox);
this.Controls.Add(this.flowmeter4Label);
this.Controls.Add(this.flowm3Rng5CheckBox);
this.Controls.Add(this.flowm3Rng4CheckBox);
this.Controls.Add(this.flowm3Rng3CheckBox);
this.Controls.Add(this.flowm3Rng2CheckBox);
this.Controls.Add(this.flowm3Rng1CheckBox);
this.Controls.Add(this.flowmeter3ComboBox);
this.Controls.Add(this.flowmeter3Label);
this.Controls.Add(this.flowm2Rng5CheckBox);
this.Controls.Add(this.flowm2Rng4CheckBox);
this.Controls.Add(this.flowm2Rng3CheckBox);
this.Controls.Add(this.flowm2Rng2CheckBox);
this.Controls.Add(this.flowm2Rng1CheckBox);
this.Controls.Add(this.flowmeter2ComboBox);
this.Controls.Add(this.flowmeter2Label);
this.Controls.Add(this.flowm1Rng5CheckBox);
this.Controls.Add(this.flowm1Rng4CheckBox);
this.Controls.Add(this.flowm1Rng3CheckBox);
this.Controls.Add(this.flowm1Rng2CheckBox);
this.Controls.Add(this.flowm1Rng1CheckBox);
this.Controls.Add(this.flowmeter1ComboBox);
this.Controls.Add(this.flowmeter1Label);
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.classNameLabel);
this.Name = "SaveFlowmeterCorrCfgCtrl";
this.Size = new System.Drawing.Size(450, 300);
this.Load += new System.EventHandler(this.WriterCfgCtrl_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox nameTextBox;
private System.Windows.Forms.Label nameLabel;
private System.Windows.Forms.Label classNameLabel;
private System.Windows.Forms.Label flowmeter1Label;
private System.Windows.Forms.ComboBox flowmeter1ComboBox;
private System.Windows.Forms.CheckBox flowm1Rng1CheckBox;
private System.Windows.Forms.CheckBox flowm1Rng2CheckBox;
private System.Windows.Forms.CheckBox flowm1Rng3CheckBox;
private System.Windows.Forms.CheckBox flowm1Rng4CheckBox;
private System.Windows.Forms.CheckBox flowm1Rng5CheckBox;
private System.Windows.Forms.CheckBox flowm2Rng5CheckBox;
private System.Windows.Forms.CheckBox flowm2Rng4CheckBox;
private System.Windows.Forms.CheckBox flowm2Rng3CheckBox;
private System.Windows.Forms.CheckBox flowm2Rng2CheckBox;
private System.Windows.Forms.CheckBox flowm2Rng1CheckBox;
private System.Windows.Forms.ComboBox flowmeter2ComboBox;
private System.Windows.Forms.Label flowmeter2Label;
private System.Windows.Forms.CheckBox flowm3Rng5CheckBox;
private System.Windows.Forms.CheckBox flowm3Rng4CheckBox;
private System.Windows.Forms.CheckBox flowm3Rng3CheckBox;
private System.Windows.Forms.CheckBox flowm3Rng2CheckBox;
private System.Windows.Forms.CheckBox flowm3Rng1CheckBox;
private System.Windows.Forms.ComboBox flowmeter3ComboBox;
private System.Windows.Forms.Label flowmeter3Label;
private System.Windows.Forms.CheckBox flowm4Rng5CheckBox;
private System.Windows.Forms.CheckBox flowm4Rng4CheckBox;
private System.Windows.Forms.CheckBox flowm4Rng3CheckBox;
private System.Windows.Forms.CheckBox flowm4Rng2CheckBox;
private System.Windows.Forms.CheckBox flowm4Rng1CheckBox;
private System.Windows.Forms.ComboBox flowmeter4ComboBox;
private System.Windows.Forms.Label flowmeter4Label;
private System.Windows.Forms.CheckBox flowm5Rng5CheckBox;
private System.Windows.Forms.CheckBox flowm5Rng4CheckBox;
private System.Windows.Forms.CheckBox flowm5Rng3CheckBox;
private System.Windows.Forms.CheckBox flowm5Rng2CheckBox;
private System.Windows.Forms.CheckBox flowm5Rng1CheckBox;
private System.Windows.Forms.ComboBox flowmeter5ComboBox;
private System.Windows.Forms.Label flowmeter5Label;
private System.Windows.Forms.CheckBox flowm5Rng0CheckBox;
private System.Windows.Forms.CheckBox flowm4Rng0CheckBox;
private System.Windows.Forms.CheckBox flowm3Rng0CheckBox;
private System.Windows.Forms.CheckBox flowm2Rng0CheckBox;
private System.Windows.Forms.CheckBox flowm1Rng0CheckBox;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.CheckBox flowm6Rng0CheckBox;
private System.Windows.Forms.CheckBox flowm6Rng5CheckBox;
private System.Windows.Forms.CheckBox flowm6Rng4CheckBox;
private System.Windows.Forms.CheckBox flowm6Rng3CheckBox;
private System.Windows.Forms.CheckBox flowm6Rng2CheckBox;
private System.Windows.Forms.CheckBox flowm6Rng1CheckBox;
private System.Windows.Forms.ComboBox flowmeter6ComboBox;
private System.Windows.Forms.Label flowmeter6Label;
private System.Windows.Forms.CheckBox flowm7Rng0CheckBox;
private System.Windows.Forms.CheckBox flowm7Rng5CheckBox;
private System.Windows.Forms.CheckBox flowm7Rng4CheckBox;
private System.Windows.Forms.CheckBox flowm7Rng3CheckBox;
private System.Windows.Forms.CheckBox flowm7Rng2CheckBox;
private System.Windows.Forms.CheckBox flowm7Rng1CheckBox;
private System.Windows.Forms.ComboBox flowmeter7ComboBox;
private System.Windows.Forms.Label flowmeter7Label;
}
}
@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
-80
View File
@@ -1,80 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System;
using System.IO;
using System.Collections.Generic;
using log4net;
namespace TBF.BenchControl.Sequences
{
public class Plotter : BenchControl.GenericDevices.IPlotter
{
static readonly ILog log = LogManager.GetLogger(typeof(Plotter));
static readonly Dictionary<int, BinaryWriter> writers = new Dictionary<int, BinaryWriter>();
static int nextGraphId = 1;
readonly string caption;
///
public Plotter(string caption)
{
this.caption = caption;
}
public int StartGraph(int batchNr, string testName, int repetition)
{
try
{
int graphId = nextGraphId++;
string directory = Path.Combine(TBF.Program.GraphsDir, batchNr.ToString(), testName, repetition.ToString());
Directory.CreateDirectory(directory);
BinaryWriter writer = new BinaryWriter(File.Open(Path.Combine(directory, caption), FileMode.Create));
writers.Add(graphId, writer);
log.InfoFormat("Graph file #{0} successfully created (batch={1} test={2} repet={3} caption={4})",
graphId, batchNr, testName, repetition, caption);
return graphId;
}
catch (Exception exc)
{
log.ErrorFormat("Failed to create a graph file (batch={0} test={1} repet={2} caption={3}): {4}",
batchNr, testName, repetition, caption, exc.Message);
return 0;
}
}
public void UpdateGraph(int graphId, float x, float y)
{
try
{
BinaryWriter writer = writers[graphId];
writer.Write(x);
writer.Write(y);
}
catch (Exception exc)
{
log.ErrorFormat("Failed to update graph file #{0}: {1}", graphId, exc.Message);
}
}
public void StopGraph(int graphId, float ymin, float ymax)
{
try
{
BinaryWriter writer = writers[graphId];
writer.Write(ymin);
writer.Write(ymax);
writer.Close();
writers.Remove(graphId);
}
catch (Exception exc)
{
log.ErrorFormat("Failed to close graph file #{0}: {1}", graphId, exc.Message);
}
}
}
}
-100
View File
@@ -1,100 +0,0 @@
namespace TBF.Forms
{
partial class RemarkDlg
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.closeButton = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.textBox1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.closeButton);
this.splitContainer1.Size = new System.Drawing.Size(459, 249);
this.splitContainer1.SplitterDistance = 340;
this.splitContainer1.TabIndex = 0;
//
// closeButton
//
this.closeButton.Location = new System.Drawing.Point(18, 21);
this.closeButton.Name = "closeButton";
this.closeButton.Size = new System.Drawing.Size(75, 43);
this.closeButton.TabIndex = 0;
this.closeButton.Text = "Close";
this.closeButton.UseVisualStyleBackColor = true;
this.closeButton.Click += new System.EventHandler(this.closeButton_Click);
//
// textBox1
//
this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBox1.Location = new System.Drawing.Point(0, 0);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(340, 249);
this.textBox1.TabIndex = 0;
//
// RemarkDlg
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(459, 249);
this.Controls.Add(this.splitContainer1);
this.Name = "RemarkDlg";
this.Text = "Remark";
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.PerformLayout();
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button closeButton;
}
}
-25
View File
@@ -1,25 +0,0 @@
using System;
using System.Windows.Forms;
using TBF.Resources;
namespace TBF.Forms
{
public partial class RemarkDlg : Form
{
public string Remark;
public RemarkDlg()
{
InitializeComponent();
Text = Strings.Remark;
textBox1.Text = Remark;
}
private void closeButton_Click(object sender, EventArgs e)
{
Remark = textBox1.Text;
DialogResult = DialogResult.OK;
Close();
}
}
}
-120
View File
@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
-343
View File
@@ -1,343 +0,0 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using TBF.Resources;
using TBF.UiBridge;
using GraphLib;
using log4net;
namespace TBF.Screens
{
public partial class GraphsTabPageCtrl : UserControl
{
static readonly ILog log = LogManager.GetLogger(typeof(GraphsTabPageCtrl));
static readonly GraphInfo[] SupportedGraphs = new GraphInfo[] {
new GraphInfo { FileName = "Flow", Caption = string.Format("Q [m3/h]", Strings.Flow) },
new GraphInfo { FileName = "Pressure up", Caption = string.Format("Pr up [bar]", Strings.Pressure) },
new GraphInfo { FileName = "Pressure down", Caption = string.Format("Pr dw [bar]", Strings.Pressure) },
new GraphInfo { FileName = "Temperature up", Caption = string.Format("T up [°C]", Strings.Temperature) },
new GraphInfo { FileName = "Temperature down", Caption = string.Format("T dw [°C]", Strings.Temperature) },
new GraphInfo { FileName = "Temperature div", Caption = string.Format("T di [°C]", Strings.Temperature) },
};
PlotterGraphPaneEx.LayoutMode layoutMode;
CheckBox[] checkBoxes;
string selectedGraphsPath;
int selectedBatchNr;
string selectedTestName;
public GraphsTabPageCtrl()
{
InitializeComponent();
/// checkBoxes array must be initialized before other actions
checkBoxes = new CheckBox[] { checkBox1, checkBox2, checkBox3, checkBox4, checkBox5, checkBox6 };
Localize();
UpdateCheckBoxesVisibility();
checkBox1.Checked = Program.LocalSettings.Graph1_On;
checkBox2.Checked = Program.LocalSettings.Graph2_On;
checkBox3.Checked = Program.LocalSettings.Graph3_On;
checkBox4.Checked = Program.LocalSettings.Graph4_On;
checkBox5.Checked = Program.LocalSettings.Graph5_On;
checkBox6.Checked = Program.LocalSettings.Graph6_On;
layoutMode = Program.LocalSettings.GraphsLayoutMode;
layoutModeComboBox.Text = layoutMode.ToString();
for (PlotterGraphPaneEx.LayoutMode mode = 0; mode <= PlotterGraphPaneEx.LayoutMode.TILES_HOR; mode++)
{
layoutModeComboBox.Items.Add(mode.ToString());
}
UpdateTestsHistory(testsHistoryTreeView);
selectedGraphsPath = null;
//Bridge.ProcessDataHandler += delegate(object sender, ProcessDataEventArgs args)
//{
// if (InvokeRequired)
// {
// Invoke(new EventHandler<ProcessDataEventArgs>(OnProcessData), sender, args);
// }
// else OnProcessData(sender, args);
//};
}
//void OnProcessData(object sender, ProcessDataEventArgs args)
//{
// if (!paused && isRunning == true)
// {
// try
// {
// gPane.starting_idx += Math.Min(RichTextBoxFinds.BenchControl.StateMachine.;
// UpdateScrollBar();
// gPane.Invalidate();
// }
// catch { }
// }
//}
void Localize()
{
refreshButton.Text = Strings.Refresh;
for (int i = 0; i < checkBoxes.Length; i++)
{
if (i < SupportedGraphs.Length)
{
checkBoxes[i].Text = SupportedGraphs[i].Caption;
}
}
}
void UpdateCheckBoxesVisibility()
{
for (int i = 0; i < checkBoxes.Length; i++)
{
checkBoxes[i].Visible = (i < SupportedGraphs.Length);
}
}
private void refreshButton_Click(object sender, EventArgs e)
{
UpdateTestsHistory(testsHistoryTreeView);
}
void UpdateTestsHistory(TreeView treeView)
{
try
{
string[] batches = Directory.GetDirectories(Program.GraphsDir);
treeView.Nodes.Clear();
for (int i = batches.Length - 1; i >= Math.Max(0, batches.Length - 20); i--)
{
string b = batches[i];
string batchNrSstr = Path.GetFileName(b);
string rootNodeName = Path.GetFileName(b);
if ((TBF.BenchControl.Sequences.ProcessData.BatchRslts != null) && rootNodeName.Equals(TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.BatchNr.ToString()))
{
rootNodeName = Strings.current;
}
TreeNode node = new TreeNode(rootNodeName);
node.Tag = null;
treeView.Nodes.Add(node);
string[] tests = Directory.GetDirectories(b);
foreach (var t in tests)
{
string testNameStr = Path.GetFileName(t);
TreeNode subnode = new TreeNode(testNameStr);
node.Nodes.Add(subnode);
string[] repetitions = Directory.GetDirectories(t);
if (repetitions.Length == 1)
{
subnode.Tag = string.Format("{0}~{1}~{2}", repetitions[0], batchNrSstr, testNameStr);
}
else if (repetitions.Length > 1)
{
subnode.Tag = null;
foreach (var r in repetitions)
{
string repetStr = Path.GetFileName(r);
TreeNode subsubnode = new TreeNode(repetStr);
subsubnode.Tag = string.Format("{0}~{1}~{2}/{3}", r, batchNrSstr, testNameStr, repetStr);
subnode.Nodes.Add(subsubnode);
}
}
else
{
subnode.Tag = null;
}
}
}
}
catch (Exception exc)
{
log.ErrorFormat("UpdateTestsHistory() failed: {0}", exc.Message);
}
}
private void testsHistoryTreeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Node.Tag is string)
{
string[] fields = (e.Node.Tag as string).Split(new char[]{'~'});
selectedGraphsPath = fields[0];
selectedBatchNr = int.Parse(fields[1]);
selectedTestName = fields[2];
ShowGraphs(plotterDisplayEx, selectedGraphsPath, selectedBatchNr, selectedTestName);
}
}
void ShowGraphs(PlotterDisplayEx display, string path, int batchNr, string testName)
{
Color[] colors = { Color.DarkRed,
Color.DarkSlateGray,
Color.DarkCyan,
Color.DarkGreen,
Color.DarkBlue ,
Color.DarkMagenta,
Color.DeepPink };
float[] gridY = { 0.0002f, 0.0005f, 0.001f, 0.002f, 0.005f, 0.01f, 0.02f, 0.05f, 0.1f, 0.2f, 0.5f, 1, 2, 5, 10, 20, 50, 100, 200, 500 };
this.SuspendLayout();
display.Smoothing = System.Drawing.Drawing2D.SmoothingMode.None;
display.SetDisplayRangeX(0, 300);
display.PanelLayout = layoutMode;
display.BackgroundColorTop = Color.White;
display.BackgroundColorBot = Color.White;
display.SolidGridColor = Color.LightGray;
display.DashedGridColor = Color.LightGray;
display.DataSources.Clear();
bool first = true;
for (int i = 0; i < checkBoxes.Length; i++)
{
if (checkBoxes[i].Checked && SupportedGraphs.Length > i)
{
DataSource dataSrc = new DataSource();
float ymin;
float ymax;
int samplesCount = dataSrc.LoadSamples(Path.Combine(path, SupportedGraphs[i].FileName), out ymin, out ymax);
/// Following section of code makes sure graps 1, 2 and graphs 3, 4, 5 use the same scale (Y-axis)
DataSource dummyDS = new DataSource();
float y1, y2, y3, y4;
switch (i)
{
case 0:
default:
break;
case 1:
dummyDS.LoadSamples(Path.Combine(path, SupportedGraphs[2].FileName), out y1, out y2);
if (y1 < ymin) ymin = y1;
if (y2 > ymax) ymax = y2;
break;
case 2:
dummyDS.LoadSamples(Path.Combine(path, SupportedGraphs[1].FileName), out y1, out y2);
if (y1 < ymin) ymin = y1;
if (y2 > ymax) ymax = y2;
break;
case 3:
dummyDS.LoadSamples(Path.Combine(path, SupportedGraphs[4].FileName), out y1, out y2);
dummyDS.LoadSamples(Path.Combine(path, SupportedGraphs[5].FileName), out y3, out y4);
if (y1 < ymin) ymin = y1;
if (y2 > ymax) ymax = y2;
if (y3 < ymin) ymin = y3;
if (y4 > ymax) ymax = y4;
break;
case 4:
dummyDS.LoadSamples(Path.Combine(path, SupportedGraphs[3].FileName), out y1, out y2);
dummyDS.LoadSamples(Path.Combine(path, SupportedGraphs[5].FileName), out y3, out y4);
if (y1 < ymin) ymin = y1;
if (y2 > ymax) ymax = y2;
if (y3 < ymin) ymin = y3;
if (y4 > ymax) ymax = y4;
break;
case 5:
dummyDS.LoadSamples(Path.Combine(path, SupportedGraphs[3].FileName), out y1, out y2);
dummyDS.LoadSamples(Path.Combine(path, SupportedGraphs[4].FileName), out y3, out y4);
if (y1 < ymin) ymin = y1;
if (y2 > ymax) ymax = y2;
if (y3 < ymin) ymin = y3;
if (y4 > ymax) ymax = y4;
break;
}
if (first)
{
first = false;
dataSrc.Name = string.Format("{0} {1} {2}", batchNr, testName, SupportedGraphs[i].Caption);
}
else
{
dataSrc.Name = SupportedGraphs[i].Caption;
}
dataSrc.OnRenderXAxisLabel += RenderXLabel;
dataSrc.OnRenderYAxisLabel = RenderYLabel;
dataSrc.AutoScaleY = false;
dataSrc.SetDisplayRangeY(ymin * 0.9f, ymax * 1.1f);
float d = ymax * 1.1f - ymin * 0.9f;
int j = gridY.Length - 1;
while ((2 * gridY[j] > d) && (j > 0)) j--;
dataSrc.SetGridDistanceY(gridY[j]);
dataSrc.GraphColor = colors[i % colors.Length];
display.DataSources.Add(dataSrc);
}
}
this.ResumeLayout();
display.Refresh();
}
private string RenderXLabel(DataSource s, int idx)
{
if (s.AutoScaleX)
{
//if (idx % 2 == 0)
return ((int)(s.Samples[idx].X)).ToString();
//else
// return string.Empty;
}
else
{
return ((int)(s.Samples[idx].X)).ToString();
}
}
private string RenderYLabel(DataSource s, float value)
{
return string.Format("{0:0.0}", value);
}
private void checkBox1_CheckedChanged(object sender, EventArgs e) { Program.LocalSettings.Graph1_On = checkBox1.Checked; AnyCBChanged(); }
private void checkBox2_CheckedChanged(object sender, EventArgs e) { Program.LocalSettings.Graph2_On = checkBox2.Checked; AnyCBChanged(); }
private void checkBox3_CheckedChanged(object sender, EventArgs e) { Program.LocalSettings.Graph3_On = checkBox3.Checked; AnyCBChanged(); }
private void checkBox4_CheckedChanged(object sender, EventArgs e) { Program.LocalSettings.Graph4_On = checkBox4.Checked; AnyCBChanged(); }
private void checkBox5_CheckedChanged(object sender, EventArgs e) { Program.LocalSettings.Graph5_On = checkBox5.Checked; AnyCBChanged(); }
private void checkBox6_CheckedChanged(object sender, EventArgs e) { Program.LocalSettings.Graph6_On = checkBox6.Checked; AnyCBChanged(); }
void AnyCBChanged()
{
if (selectedGraphsPath != null)
{
ShowGraphs(plotterDisplayEx, selectedGraphsPath, selectedBatchNr, selectedTestName);
}
}
private void layoutModeComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
for (PlotterGraphPaneEx.LayoutMode mode = 0; mode <= PlotterGraphPaneEx.LayoutMode.TILES_HOR; mode++)
{
if (layoutModeComboBox.Text.Equals(mode.ToString()) && layoutMode != mode)
{
Program.LocalSettings.GraphsLayoutMode = layoutMode = mode;
ShowGraphs(plotterDisplayEx, selectedGraphsPath, selectedBatchNr, selectedTestName);
}
}
}
}
class GraphInfo
{
public string FileName; /// Name of a file written y the plotter
public string Caption; /// Displayed graph lable
}
}
-202
View File
@@ -1,202 +0,0 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
///
namespace TBF.Screens
{
partial class GraphsTabPageCtrl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GraphsTabPageCtrl));
this.splitContainer = new System.Windows.Forms.SplitContainer();
this.testsHistoryTreeView = new System.Windows.Forms.TreeView();
this.plotterDisplayEx = new GraphLib.PlotterDisplayEx();
this.refreshButton = new System.Windows.Forms.Button();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.checkBox6 = new System.Windows.Forms.CheckBox();
this.checkBox5 = new System.Windows.Forms.CheckBox();
this.checkBox4 = new System.Windows.Forms.CheckBox();
this.checkBox3 = new System.Windows.Forms.CheckBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.layoutModeComboBox = new System.Windows.Forms.ComboBox();
((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
this.splitContainer.Panel1.SuspendLayout();
this.splitContainer.Panel2.SuspendLayout();
this.splitContainer.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout();
//
// splitContainer
//
resources.ApplyResources(this.splitContainer, "splitContainer");
this.splitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer.Name = "splitContainer";
//
// splitContainer.Panel1
//
this.splitContainer.Panel1.BackColor = System.Drawing.SystemColors.Control;
this.splitContainer.Panel1.Controls.Add(this.testsHistoryTreeView);
//
// splitContainer.Panel2
//
this.splitContainer.Panel2.Controls.Add(this.plotterDisplayEx);
//
// testsHistoryTreeView
//
resources.ApplyResources(this.testsHistoryTreeView, "testsHistoryTreeView");
this.testsHistoryTreeView.Name = "testsHistoryTreeView";
this.testsHistoryTreeView.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.testsHistoryTreeView_NodeMouseClick);
//
// plotterDisplayEx
//
this.plotterDisplayEx.BackColor = System.Drawing.Color.Transparent;
this.plotterDisplayEx.BackgroundColorBot = System.Drawing.Color.White;
this.plotterDisplayEx.BackgroundColorTop = System.Drawing.Color.White;
this.plotterDisplayEx.DashedGridColor = System.Drawing.Color.DarkGray;
resources.ApplyResources(this.plotterDisplayEx, "plotterDisplayEx");
this.plotterDisplayEx.DoubleBuffering = false;
this.plotterDisplayEx.Name = "plotterDisplayEx";
this.plotterDisplayEx.SolidGridColor = System.Drawing.Color.DarkGray;
//
// refreshButton
//
resources.ApplyResources(this.refreshButton, "refreshButton");
this.refreshButton.Name = "refreshButton";
this.refreshButton.UseVisualStyleBackColor = true;
this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
//
// splitContainer1
//
resources.ApplyResources(this.splitContainer1, "splitContainer1");
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.layoutModeComboBox);
this.splitContainer1.Panel1.Controls.Add(this.checkBox6);
this.splitContainer1.Panel1.Controls.Add(this.checkBox5);
this.splitContainer1.Panel1.Controls.Add(this.checkBox4);
this.splitContainer1.Panel1.Controls.Add(this.checkBox3);
this.splitContainer1.Panel1.Controls.Add(this.checkBox2);
this.splitContainer1.Panel1.Controls.Add(this.checkBox1);
this.splitContainer1.Panel1.Controls.Add(this.refreshButton);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.splitContainer);
//
// checkBox6
//
resources.ApplyResources(this.checkBox6, "checkBox6");
this.checkBox6.Name = "checkBox6";
this.checkBox6.UseVisualStyleBackColor = true;
this.checkBox6.CheckedChanged += new System.EventHandler(this.checkBox6_CheckedChanged);
//
// checkBox5
//
resources.ApplyResources(this.checkBox5, "checkBox5");
this.checkBox5.Name = "checkBox5";
this.checkBox5.UseVisualStyleBackColor = true;
this.checkBox5.CheckedChanged += new System.EventHandler(this.checkBox5_CheckedChanged);
//
// checkBox4
//
resources.ApplyResources(this.checkBox4, "checkBox4");
this.checkBox4.Name = "checkBox4";
this.checkBox4.UseVisualStyleBackColor = true;
this.checkBox4.CheckedChanged += new System.EventHandler(this.checkBox4_CheckedChanged);
//
// checkBox3
//
resources.ApplyResources(this.checkBox3, "checkBox3");
this.checkBox3.Name = "checkBox3";
this.checkBox3.UseVisualStyleBackColor = true;
this.checkBox3.CheckedChanged += new System.EventHandler(this.checkBox3_CheckedChanged);
//
// checkBox2
//
resources.ApplyResources(this.checkBox2, "checkBox2");
this.checkBox2.Name = "checkBox2";
this.checkBox2.UseVisualStyleBackColor = true;
this.checkBox2.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged);
//
// checkBox1
//
resources.ApplyResources(this.checkBox1, "checkBox1");
this.checkBox1.Name = "checkBox1";
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
//
// layoutModeComboBox
//
this.layoutModeComboBox.FormattingEnabled = true;
resources.ApplyResources(this.layoutModeComboBox, "layoutModeComboBox");
this.layoutModeComboBox.Name = "layoutModeComboBox";
this.layoutModeComboBox.SelectedIndexChanged += new System.EventHandler(this.layoutModeComboBox_SelectedIndexChanged);
//
// GraphsTabPageCtrl
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.Silver;
this.Controls.Add(this.splitContainer1);
this.Name = "GraphsTabPageCtrl";
this.splitContainer.Panel1.ResumeLayout(false);
this.splitContainer.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit();
this.splitContainer.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.PerformLayout();
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer;
private GraphLib.PlotterDisplayEx plotterDisplayEx;
private System.Windows.Forms.TreeView testsHistoryTreeView;
private System.Windows.Forms.Button refreshButton;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.CheckBox checkBox6;
private System.Windows.Forms.CheckBox checkBox5;
private System.Windows.Forms.CheckBox checkBox4;
private System.Windows.Forms.CheckBox checkBox3;
private System.Windows.Forms.CheckBox checkBox2;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.ComboBox layoutModeComboBox;
}
}
-507
View File
@@ -1,507 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="splitContainer.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="splitContainer.IsSplitterFixed" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="splitContainer.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="testsHistoryTreeView.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="testsHistoryTreeView.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="testsHistoryTreeView.Size" type="System.Drawing.Size, System.Drawing">
<value>125, 655</value>
</data>
<data name="testsHistoryTreeView.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;testsHistoryTreeView.Name" xml:space="preserve">
<value>testsHistoryTreeView</value>
</data>
<data name="&gt;&gt;testsHistoryTreeView.Type" xml:space="preserve">
<value>System.Windows.Forms.TreeView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;testsHistoryTreeView.Parent" xml:space="preserve">
<value>splitContainer.Panel1</value>
</data>
<data name="&gt;&gt;testsHistoryTreeView.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;splitContainer.Panel1.Name" xml:space="preserve">
<value>splitContainer.Panel1</value>
</data>
<data name="&gt;&gt;splitContainer.Panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;splitContainer.Panel1.Parent" xml:space="preserve">
<value>splitContainer</value>
</data>
<data name="&gt;&gt;splitContainer.Panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="plotterDisplayEx.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="plotterDisplayEx.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="plotterDisplayEx.Size" type="System.Drawing.Size, System.Drawing">
<value>836, 655</value>
</data>
<data name="plotterDisplayEx.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;plotterDisplayEx.Name" xml:space="preserve">
<value>plotterDisplayEx</value>
</data>
<data name="&gt;&gt;plotterDisplayEx.Type" xml:space="preserve">
<value>GraphLib.PlotterDisplayEx, GraphLib, Version=1.0.0.1, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;plotterDisplayEx.Parent" xml:space="preserve">
<value>splitContainer.Panel2</value>
</data>
<data name="&gt;&gt;plotterDisplayEx.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;splitContainer.Panel2.Name" xml:space="preserve">
<value>splitContainer.Panel2</value>
</data>
<data name="&gt;&gt;splitContainer.Panel2.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;splitContainer.Panel2.Parent" xml:space="preserve">
<value>splitContainer</value>
</data>
<data name="&gt;&gt;splitContainer.Panel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="splitContainer.Size" type="System.Drawing.Size, System.Drawing">
<value>965, 655</value>
</data>
<data name="splitContainer.SplitterDistance" type="System.Int32, mscorlib">
<value>125</value>
</data>
<data name="splitContainer.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;splitContainer.Name" xml:space="preserve">
<value>splitContainer</value>
</data>
<data name="&gt;&gt;splitContainer.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;splitContainer.Parent" xml:space="preserve">
<value>splitContainer1.Panel2</value>
</data>
<data name="&gt;&gt;splitContainer.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="refreshButton.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 2</value>
</data>
<data name="refreshButton.Size" type="System.Drawing.Size, System.Drawing">
<value>125, 28</value>
</data>
<data name="refreshButton.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="refreshButton.Text" xml:space="preserve">
<value>Refresh</value>
</data>
<data name="&gt;&gt;refreshButton.Name" xml:space="preserve">
<value>refreshButton</value>
</data>
<data name="&gt;&gt;refreshButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;refreshButton.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;refreshButton.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="splitContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="splitContainer1.IsSplitterFixed" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="splitContainer1.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms">
<value>Horizontal</value>
</data>
<data name="layoutModeComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>129, 6</value>
</data>
<data name="layoutModeComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>137, 21</value>
</data>
<data name="layoutModeComboBox.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;layoutModeComboBox.Name" xml:space="preserve">
<value>layoutModeComboBox</value>
</data>
<data name="&gt;&gt;layoutModeComboBox.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;layoutModeComboBox.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;layoutModeComboBox.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="checkBox6.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>880, 10</value>
</data>
<data name="checkBox6.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 17</value>
</data>
<data name="checkBox6.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="checkBox6.Text" xml:space="preserve">
<value>checkBox6</value>
</data>
<data name="&gt;&gt;checkBox6.Name" xml:space="preserve">
<value>checkBox6</value>
</data>
<data name="&gt;&gt;checkBox6.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBox6.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;checkBox6.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="checkBox5.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>760, 10</value>
</data>
<data name="checkBox5.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 17</value>
</data>
<data name="checkBox5.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="checkBox5.Text" xml:space="preserve">
<value>checkBox5</value>
</data>
<data name="&gt;&gt;checkBox5.Name" xml:space="preserve">
<value>checkBox5</value>
</data>
<data name="&gt;&gt;checkBox5.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBox5.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;checkBox5.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="checkBox4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>640, 10</value>
</data>
<data name="checkBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 17</value>
</data>
<data name="checkBox4.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="checkBox4.Text" xml:space="preserve">
<value>checkBox4</value>
</data>
<data name="&gt;&gt;checkBox4.Name" xml:space="preserve">
<value>checkBox4</value>
</data>
<data name="&gt;&gt;checkBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBox4.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;checkBox4.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="checkBox3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>520, 10</value>
</data>
<data name="checkBox3.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 17</value>
</data>
<data name="checkBox3.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="checkBox3.Text" xml:space="preserve">
<value>checkBox3</value>
</data>
<data name="&gt;&gt;checkBox3.Name" xml:space="preserve">
<value>checkBox3</value>
</data>
<data name="&gt;&gt;checkBox3.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBox3.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;checkBox3.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="checkBox2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>400, 10</value>
</data>
<data name="checkBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 17</value>
</data>
<data name="checkBox2.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="checkBox2.Text" xml:space="preserve">
<value>checkBox2</value>
</data>
<data name="&gt;&gt;checkBox2.Name" xml:space="preserve">
<value>checkBox2</value>
</data>
<data name="&gt;&gt;checkBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBox2.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;checkBox2.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="checkBox1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>280, 10</value>
</data>
<data name="checkBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 17</value>
</data>
<data name="checkBox1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="checkBox1.Text" xml:space="preserve">
<value>checkBox1</value>
</data>
<data name="&gt;&gt;checkBox1.Name" xml:space="preserve">
<value>checkBox1</value>
</data>
<data name="&gt;&gt;checkBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBox1.Parent" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;checkBox1.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel1.Name" xml:space="preserve">
<value>splitContainer1.Panel1</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel1.Parent" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel2.Name" xml:space="preserve">
<value>splitContainer1.Panel2</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel2.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel2.Parent" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;splitContainer1.Panel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
<value>965, 689</value>
</data>
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
<value>30</value>
</data>
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;splitContainer1.Name" xml:space="preserve">
<value>splitContainer1</value>
</data>
<data name="&gt;&gt;splitContainer1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;splitContainer1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;splitContainer1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft Sans Serif, 8.25pt</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>965, 689</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>GraphsTabPageCtrl</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>
+1 -14
View File
@@ -1,9 +1,8 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TBF", "TBF\TBF.csproj", "{8648FD92-CDA1-4C3A-B5F9-FE547CE1FA48}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TBF", "TestBenchFramework\TBF.csproj", "{8648FD92-CDA1-4C3A-B5F9-FE547CE1FA48}"
ProjectSection(ProjectDependencies) = postProject
{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF} = {EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}
{0C0A1F4D-1363-4544-A7C5-196C76D26CCA} = {0C0A1F4D-1363-4544-A7C5-196C76D26CCA}
EndProjectSection
EndProject
@@ -36,8 +35,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UserManagement", "UserManag
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GraphLib", "GraphLib\GraphLib.csproj", "{0C0A1F4D-1363-4544-A7C5-196C76D26CCA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonitoringDB", "MonitoringDB\MonitoringDB.csproj", "{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -144,16 +141,6 @@ Global
{0C0A1F4D-1363-4544-A7C5-196C76D26CCA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{0C0A1F4D-1363-4544-A7C5-196C76D26CCA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{0C0A1F4D-1363-4544-A7C5-196C76D26CCA}.Release|x86.ActiveCfg = Release|Any CPU
{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}.Debug|x86.ActiveCfg = Debug|Any CPU
{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}.Release|Any CPU.Build.0 = Release|Any CPU
{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{EFEC8A31-3022-4DA7-A8F6-16D30A94C3FF}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Some files were not shown because too many files have changed in this diff Show More