Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
01e56950c8 |
+2
-4
@@ -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
@@ -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;
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
|
||||
@@ -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
@@ -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)]
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Generated
-1
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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,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
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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,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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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,12 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace MonitoringDB
|
||||
{
|
||||
public class QuitAppException : Exception
|
||||
{
|
||||
public QuitAppException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
-333
@@ -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 >.
|
||||
/// </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 < 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
@@ -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")]
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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")]
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
-132
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
-854
@@ -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>
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
-100
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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,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
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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=">>testsHistoryTreeView.Name" xml:space="preserve">
|
||||
<value>testsHistoryTreeView</value>
|
||||
</data>
|
||||
<data name=">>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=">>testsHistoryTreeView.Parent" xml:space="preserve">
|
||||
<value>splitContainer.Panel1</value>
|
||||
</data>
|
||||
<data name=">>testsHistoryTreeView.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>splitContainer.Panel1.Name" xml:space="preserve">
|
||||
<value>splitContainer.Panel1</value>
|
||||
</data>
|
||||
<data name=">>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=">>splitContainer.Panel1.Parent" xml:space="preserve">
|
||||
<value>splitContainer</value>
|
||||
</data>
|
||||
<data name=">>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=">>plotterDisplayEx.Name" xml:space="preserve">
|
||||
<value>plotterDisplayEx</value>
|
||||
</data>
|
||||
<data name=">>plotterDisplayEx.Type" xml:space="preserve">
|
||||
<value>GraphLib.PlotterDisplayEx, GraphLib, Version=1.0.0.1, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>plotterDisplayEx.Parent" xml:space="preserve">
|
||||
<value>splitContainer.Panel2</value>
|
||||
</data>
|
||||
<data name=">>plotterDisplayEx.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>splitContainer.Panel2.Name" xml:space="preserve">
|
||||
<value>splitContainer.Panel2</value>
|
||||
</data>
|
||||
<data name=">>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=">>splitContainer.Panel2.Parent" xml:space="preserve">
|
||||
<value>splitContainer</value>
|
||||
</data>
|
||||
<data name=">>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=">>splitContainer.Name" xml:space="preserve">
|
||||
<value>splitContainer</value>
|
||||
</data>
|
||||
<data name=">>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=">>splitContainer.Parent" xml:space="preserve">
|
||||
<value>splitContainer1.Panel2</value>
|
||||
</data>
|
||||
<data name=">>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=">>refreshButton.Name" xml:space="preserve">
|
||||
<value>refreshButton</value>
|
||||
</data>
|
||||
<data name=">>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=">>refreshButton.Parent" xml:space="preserve">
|
||||
<value>splitContainer1.Panel1</value>
|
||||
</data>
|
||||
<data name=">>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=">>layoutModeComboBox.Name" xml:space="preserve">
|
||||
<value>layoutModeComboBox</value>
|
||||
</data>
|
||||
<data name=">>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=">>layoutModeComboBox.Parent" xml:space="preserve">
|
||||
<value>splitContainer1.Panel1</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox6.Name" xml:space="preserve">
|
||||
<value>checkBox6</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox6.Parent" xml:space="preserve">
|
||||
<value>splitContainer1.Panel1</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox5.Name" xml:space="preserve">
|
||||
<value>checkBox5</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox5.Parent" xml:space="preserve">
|
||||
<value>splitContainer1.Panel1</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox4.Name" xml:space="preserve">
|
||||
<value>checkBox4</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox4.Parent" xml:space="preserve">
|
||||
<value>splitContainer1.Panel1</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox3.Name" xml:space="preserve">
|
||||
<value>checkBox3</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox3.Parent" xml:space="preserve">
|
||||
<value>splitContainer1.Panel1</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox2.Name" xml:space="preserve">
|
||||
<value>checkBox2</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox2.Parent" xml:space="preserve">
|
||||
<value>splitContainer1.Panel1</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox1.Name" xml:space="preserve">
|
||||
<value>checkBox1</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkBox1.Parent" xml:space="preserve">
|
||||
<value>splitContainer1.Panel1</value>
|
||||
</data>
|
||||
<data name=">>checkBox1.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>splitContainer1.Panel1.Name" xml:space="preserve">
|
||||
<value>splitContainer1.Panel1</value>
|
||||
</data>
|
||||
<data name=">>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=">>splitContainer1.Panel1.Parent" xml:space="preserve">
|
||||
<value>splitContainer1</value>
|
||||
</data>
|
||||
<data name=">>splitContainer1.Panel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>splitContainer1.Panel2.Name" xml:space="preserve">
|
||||
<value>splitContainer1.Panel2</value>
|
||||
</data>
|
||||
<data name=">>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=">>splitContainer1.Panel2.Parent" xml:space="preserve">
|
||||
<value>splitContainer1</value>
|
||||
</data>
|
||||
<data name=">>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=">>splitContainer1.Name" xml:space="preserve">
|
||||
<value>splitContainer1</value>
|
||||
</data>
|
||||
<data name=">>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=">>splitContainer1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>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=">>$this.Name" xml:space="preserve">
|
||||
<value>GraphsTabPageCtrl</value>
|
||||
</data>
|
||||
<data name=">>$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,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
Reference in New Issue
Block a user