Merge branch 'm2' into master-2.26, ver. 2.26.1569

This commit is contained in:
Milan Hanajik 2021-01-07 10:57:14 +01:00
commit 844f5573dc
17 changed files with 2527 additions and 5 deletions

View File

@ -0,0 +1,216 @@
///
/// Copyright (c) 2013-2017 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using log4net;
using Config.Entities;
using TBF.BenchControl;
using TBF.BenchControl.GenericDevices;
namespace TBF.BenchControl.DataEntry.WMStates
{
public class EntryForm : ComponentBase, IOperation, IDataEntry, IHasWMStatesForm
{
private static readonly ILog log = LogManager.GetLogger(typeof(EntryForm));
public override string ToString() { return string.Format("DataEntry.WMStates({0})", Cfg.ToString(1)); }
public bool UsesCameras() { return false; }
readonly EntryFormCfg entryFormCfg;
IRegReader[] regReaders;
/// <summary>
/// Test start water meter states set by forms
/// </summary>
double[] wmStartState;
public double WMStartState(int wmNr)
{
if (wmStartState == null || wmStartState.Length <= wmNr) return 0;
return wmStartState[wmNr];
}
/// <summary>
/// Test end water meter states set by forms
/// </summary>
double[] wmEndState;
public double WMEndState(int wmNr)
{
if (wmEndState == null || wmEndState.Length <= wmNr) return 0;
return wmEndState[wmNr];
}
/// <summary> Not supported </summary>
public void UpdateTestResults(Results.BatchResults results)
{
}
System.Windows.Forms.Form modelessDlg;
public bool Completed { get { return (modelessDlg is IHasCompleted) ? (modelessDlg as IHasCompleted).Completed : true; } }
bool resultSaved;
public enum CurrentOp
{
None,
EnterWMSNsAndStates,
EnterTestStartStates,
EnterTestEndStates,
}
CurrentOp currentOp;
public EntryForm()
{
}
public EntryForm(Generic.IComponentCfg cfg)
: base(cfg)
{
entryFormCfg = cfg as EntryFormCfg;
wmStartState = new double[Config.Data.WMsCount];
currentOp = CurrentOp.None;
log.Debug(this.ToString());
}
/// <returns>Reference to the operation</returns>
public IOperation ShowCycleBeginFormOp(IList<IWaterMeter> waterMeters)
{
return null;
}
/// <returns>Reference to the operation</returns>
public IOperation ShowCycleEndFormOp(IList<IWaterMeter> waterMeters)
{
return null;
}
/// <returns>Reference to the operation</returns>
public IOperation ShowWMSNsAndStatesFormOp()
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.EnterWMSNsAndStates;
return this;
}
/// <returns>Reference to the operation</returns>
public IOperation ShowTestStartFormOp(IRegReader[] regReaders)
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.EnterTestStartStates;
this.regReaders = regReaders;
return this;
}
/// <returns>Reference to the operation</returns>
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.EnterTestEndStates;
return this;
}
delegate void EntryFormDlgt(EntryForm myRef);
///
void OpenWMSNsAndStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new WMSNsAndStatesForm(Config.Data.WMsCount);
modelessDlg.Show();
}
///
void OpenWMStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new WMStatesForm(Config.Data.WMsCount);
modelessDlg.Show();
}
/// <summary>Start this operation</summary>
public void Start()
{
resultSaved = false;
switch (currentOp)
{
case CurrentOp.EnterWMSNsAndStates:
Program.MainWnd.Invoke(new EntryFormDlgt(OpenWMSNsAndStatesDlg), this);
break;
case CurrentOp.EnterTestStartStates:
Program.MainWnd.Invoke(new EntryFormDlgt(OpenWMStatesDlg), this);
break;
case CurrentOp.EnterTestEndStates:
Program.MainWnd.Invoke(new EntryFormDlgt(OpenWMStatesDlg), this);
break;
}
}
/// <summary>Run this operation</summary>
/// <returns>Event.ResultsPrinted</returns>
public Event Run()
{
if ((modelessDlg is IHasCompleted) && !(modelessDlg as IHasCompleted).Completed)
{
return Event.ModelessFormIsOpen;
}
if (!resultSaved) /// This is to save the result only once
{
if (modelessDlg is WMSNsAndStatesForm)
{
WMSNsAndStatesForm dlg = (modelessDlg as WMSNsAndStatesForm);
if (dlg.WaterMetersCount > 0) wmStartState[0] = dlg.WMState[0];
if (dlg.WaterMetersCount > 1) wmStartState[1] = dlg.WMState[1];
if (dlg.WaterMetersCount > 2) wmStartState[2] = dlg.WMState[2];
if (dlg.WaterMetersCount > 3) wmStartState[3] = dlg.WMState[3];
if (dlg.WaterMetersCount > 4) wmStartState[4] = dlg.WMState[4];
if (dlg.WaterMetersCount > 5) wmStartState[5] = dlg.WMState[5];
//if (dlg.WaterMetersCount > 0) serialNr[0] = dlg.SNText[0];
//if (dlg.WaterMetersCount > 1) serialNr[1] = dlg.SNText[1];
//if (dlg.WaterMetersCount > 2) serialNr[2] = dlg.SNText[2];
//if (dlg.WaterMetersCount > 3) serialNr[3] = dlg.SNText[3];
//if (dlg.WaterMetersCount > 4) serialNr[4] = dlg.SNText[4];
//if (dlg.WaterMetersCount > 5) serialNr[5] = dlg.SNText[5];
}
else if (modelessDlg is WMStatesForm && currentOp == CurrentOp.EnterTestStartStates)
{
WMStatesForm dlg = (modelessDlg as WMStatesForm);
if (dlg.WaterMetersCount > 0) wmStartState[0] = dlg.WMState[0];
if (dlg.WaterMetersCount > 1) wmStartState[1] = dlg.WMState[1];
if (dlg.WaterMetersCount > 2) wmStartState[2] = dlg.WMState[2];
if (dlg.WaterMetersCount > 3) wmStartState[3] = dlg.WMState[3];
if (dlg.WaterMetersCount > 4) wmStartState[4] = dlg.WMState[4];
if (dlg.WaterMetersCount > 5) wmStartState[5] = dlg.WMState[5];
}
else if (modelessDlg is WMStatesForm && currentOp == CurrentOp.EnterTestEndStates)
{
WMStatesForm dlg = (modelessDlg as WMStatesForm);
if (dlg.WaterMetersCount > 0) wmEndState[0] = dlg.WMState[0];
if (dlg.WaterMetersCount > 1) wmEndState[1] = dlg.WMState[1];
if (dlg.WaterMetersCount > 2) wmEndState[2] = dlg.WMState[2];
if (dlg.WaterMetersCount > 3) wmEndState[3] = dlg.WMState[3];
if (dlg.WaterMetersCount > 4) wmEndState[4] = dlg.WMState[4];
if (dlg.WaterMetersCount > 5) wmEndState[5] = dlg.WMState[5];
}
resultSaved = true;
modelessDlg = null;
}
return Event.ModelessFormClosed; /// Form closed
}
/// <summary>Stop this operation</summary>
public void Stop()
{
if (modelessDlg is IHasCompleted)
{
UiBridge.Bridge.OnCloseModelessForm(this, null);
modelessDlg = null;
}
currentOp = CurrentOp.None;
}
}
}

View File

@ -0,0 +1,37 @@
///
/// Copyright (c) 2013-2016 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.DataEntry.WMStates
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
public override XmlSerializer GetSerializer() { return Serializer; }
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
/// Private parameterless constructor invoked by all other (public) constructors
EntryFormCfg()
{
Name = "Generic-WM-States-Form";
ParentName = string.Empty;
}
public EntryFormCfg(IComponentFactory factory)
: this()
{
this.Factory = factory;
}
public string ToString(int i)
{
return string.Format("Name={0}", Name);
}
}
}

View File

@ -0,0 +1,69 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Windows.Forms;
using Config.Entities;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.DataEntry.WMStates
{
public partial class EntryFormCfgCtrl : UserControl, IComponentCfgCtrl
{
public bool ShowMore { get { return false; } }
EntryFormCfg config;
public IComponentCfg Config
{
get { return config as IComponentCfg; }
set
{
config = value as EntryFormCfg;
Redraw();
}
}
public EntryFormCfgCtrl()
{
InitializeComponent();
}
private void EntryFormCfgCtrl_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;
}
public void Unlock()
{
nameTextBox.Enabled = true;
}
public CfgUpdateFlags VerifyCfg(ref string message)
{
CfgUpdateFlags flags = CfgUpdateFlags.None;
return flags;
}
public CfgUpdateFlags UpdateCfg()
{
CfgUpdateFlags flags = CfgUpdateFlags.RestartRqrd;
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
config.Name = nameTextBox.Text;
return flags;
}
}
}

View File

@ -0,0 +1,86 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
namespace TBF.BenchControl.DataEntry.WMStates
{
partial class EntryFormCfgCtrl
{
/// <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.SuspendLayout();
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(137, 57);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(130, 20);
this.nameTextBox.TabIndex = 5;
//
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(27, 60);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 4;
this.nameLabel.Text = "Name";
//
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(134, 33);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
this.classNameLabel.TabIndex = 3;
this.classNameLabel.Text = "ComonentName";
//
// EntryFormCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.classNameLabel);
this.Name = "EntryFormCfgCtrl";
this.Size = new System.Drawing.Size(300, 200);
this.Load += new System.EventHandler(this.EntryFormCfgCtrl_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;
}
}

View File

@ -0,0 +1,120 @@
<?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>

View File

@ -0,0 +1,26 @@
///
/// Copyright (c) 2013-2016 Sensus Metering Systems
///
using System.Collections.Generic;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.DataEntry.WMStates
{
public class EntryFormFactory : IComponentFactory
{
public string ClassName { get { return "Generic-WM-States-Form"; } }
public void ResetStaticProperties() { EntryForm.ResetStaticProperties(); }
public IComponent DummyComponent() { return new EntryForm(); }
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new EntryForm(cfg); }
public IComponentCfg DefaultConfig() { return new EntryFormCfg(this); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}

View File

@ -0,0 +1,135 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Windows.Forms;
using log4net;
using TBF.Resources;
namespace TBF.BenchControl.DataEntry.WMStates
{
public partial class WMSNsAndStatesForm : Form, GenericDevices.IHasCompleted
{
private static readonly ILog log = LogManager.GetLogger(typeof(WMSNsAndStatesForm));
/// <summary> Number of text boxes for serial numbers </summary>
public readonly int WaterMetersCount;
/// To be retrieved after the form is closed
public string[] SNText;
// To be retrieved after the form closes
public float[] WMState;
/// Set to 'true' when the form closes
public bool Completed { get { return completed; } }
bool completed;
/// <summary>
/// Constructor
/// </summary>
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
public WMSNsAndStatesForm(int waterMetersCount)
{
InitializeComponent();
ControlBox = false;
this.WaterMetersCount = waterMetersCount;
SNText = new string[WaterMetersCount];
WMState = new float[WaterMetersCount];
completed = false;
StartForceCloseHandler();
//Height = 55 + WaterMetersCount * 105;
}
/// <summary> Parameterless constructor for 3 watermeters </summary>
public WMSNsAndStatesForm()
: this(Config.Data.WMsCount)
{
}
void Localize()
{
Text = Strings.Water_Meter_SNs_States;
groupBox1.Text = Strings.Water_Meter + " 1";
groupBox2.Text = Strings.Water_Meter + " 2";
groupBox3.Text = Strings.Water_Meter + " 3";
groupBox4.Text = Strings.Water_Meter + " 4";
groupBox5.Text = Strings.Water_Meter + " 5";
groupBox6.Text = Strings.Water_Meter + " 6";
snLabel1.Text = Strings.SerialNr;
snLabel2.Text = Strings.SerialNr;
snLabel3.Text = Strings.SerialNr;
snLabel4.Text = Strings.SerialNr;
snLabel5.Text = Strings.SerialNr;
snLabel6.Text = Strings.SerialNr;
wmStateLabel1.Text = Strings.WMState;
wmStateLabel2.Text = Strings.WMState;
wmStateLabel3.Text = Strings.WMState;
wmStateLabel4.Text = Strings.WMState;
wmStateLabel5.Text = Strings.WMState;
wmStateLabel6.Text = Strings.WMState;
okButton.Text = Strings.OkBtnText;
}
private void CycleBeginningForm_Load(object sender, EventArgs e)
{
// TODO: localize strings
if (WaterMetersCount < 1) groupBox1.Visible = false;
if (WaterMetersCount < 2) groupBox2.Visible = false;
if (WaterMetersCount < 3) groupBox3.Visible = false;
if (WaterMetersCount < 4) groupBox4.Visible = false;
if (WaterMetersCount < 5) groupBox5.Visible = false;
if (WaterMetersCount < 6) groupBox6.Visible = false;
}
private void okButton_Click(object sender, EventArgs e)
{
try
{
if (WaterMetersCount >= 1) SNText[0] = snTextBox1.Text;
if (WaterMetersCount >= 2) SNText[1] = snTextBox2.Text;
if (WaterMetersCount >= 3) SNText[2] = snTextBox3.Text;
if (WaterMetersCount >= 4) SNText[3] = snTextBox4.Text;
if (WaterMetersCount >= 5) SNText[4] = snTextBox5.Text;
if (WaterMetersCount >= 6) SNText[5] = snTextBox6.Text;
if (WaterMetersCount >= 1) WMState[0] = Utils.ParseUFloat(wmStateTextBox1.Text);
if (WaterMetersCount >= 2) WMState[1] = Utils.ParseUFloat(wmStateTextBox2.Text);
if (WaterMetersCount >= 3) WMState[2] = Utils.ParseUFloat(wmStateTextBox3.Text);
if (WaterMetersCount >= 4) WMState[3] = Utils.ParseUFloat(wmStateTextBox4.Text);
if (WaterMetersCount >= 5) WMState[4] = Utils.ParseUFloat(wmStateTextBox5.Text);
if (WaterMetersCount >= 6) WMState[5] = Utils.ParseUFloat(wmStateTextBox6.Text);
}
catch
{
return;
}
completed = true;
Close();
}
#region Forced close handling
public void StartForceCloseHandler()
{
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
{
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
else OnForceClose(sender, args);
};
}
void OnForceClose(object sender, EventArgs args)
{
DialogResult = DialogResult.Cancel;
Close();
}
#endregion
}
}

View File

@ -0,0 +1,335 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
namespace TBF.BenchControl.DataEntry.WMStates
{
partial class WMSNsAndStatesForm
{
/// <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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WMSNsAndStatesForm));
this.okButton = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox1 = new System.Windows.Forms.TextBox();
this.wmStateLabel1 = new System.Windows.Forms.Label();
this.snTextBox1 = new System.Windows.Forms.TextBox();
this.snLabel1 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox2 = new System.Windows.Forms.TextBox();
this.wmStateLabel2 = new System.Windows.Forms.Label();
this.snTextBox2 = new System.Windows.Forms.TextBox();
this.snLabel2 = new System.Windows.Forms.Label();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox3 = new System.Windows.Forms.TextBox();
this.wmStateLabel3 = new System.Windows.Forms.Label();
this.snTextBox3 = new System.Windows.Forms.TextBox();
this.snLabel3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox4 = new System.Windows.Forms.TextBox();
this.wmStateLabel4 = new System.Windows.Forms.Label();
this.snTextBox4 = new System.Windows.Forms.TextBox();
this.snLabel4 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox5 = new System.Windows.Forms.TextBox();
this.wmStateLabel5 = new System.Windows.Forms.Label();
this.snTextBox5 = new System.Windows.Forms.TextBox();
this.snLabel5 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox6 = new System.Windows.Forms.TextBox();
this.wmStateLabel6 = new System.Windows.Forms.Label();
this.snTextBox6 = new System.Windows.Forms.TextBox();
this.snLabel6 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
this.SuspendLayout();
//
// okButton
//
resources.ApplyResources(this.okButton, "okButton");
this.okButton.ForeColor = System.Drawing.Color.Black;
this.okButton.Name = "okButton";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.wmStateTextBox1);
this.groupBox1.Controls.Add(this.wmStateLabel1);
this.groupBox1.Controls.Add(this.snTextBox1);
this.groupBox1.Controls.Add(this.snLabel1);
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.ForeColor = System.Drawing.Color.Black;
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//
// wmStateTextBox1
//
resources.ApplyResources(this.wmStateTextBox1, "wmStateTextBox1");
this.wmStateTextBox1.Name = "wmStateTextBox1";
//
// wmStateLabel1
//
resources.ApplyResources(this.wmStateLabel1, "wmStateLabel1");
this.wmStateLabel1.Name = "wmStateLabel1";
//
// snTextBox1
//
resources.ApplyResources(this.snTextBox1, "snTextBox1");
this.snTextBox1.Name = "snTextBox1";
//
// snLabel1
//
resources.ApplyResources(this.snLabel1, "snLabel1");
this.snLabel1.Name = "snLabel1";
//
// groupBox2
//
this.groupBox2.Controls.Add(this.wmStateTextBox2);
this.groupBox2.Controls.Add(this.wmStateLabel2);
this.groupBox2.Controls.Add(this.snTextBox2);
this.groupBox2.Controls.Add(this.snLabel2);
resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.ForeColor = System.Drawing.Color.Black;
this.groupBox2.Name = "groupBox2";
this.groupBox2.TabStop = false;
//
// wmStateTextBox2
//
resources.ApplyResources(this.wmStateTextBox2, "wmStateTextBox2");
this.wmStateTextBox2.Name = "wmStateTextBox2";
//
// wmStateLabel2
//
resources.ApplyResources(this.wmStateLabel2, "wmStateLabel2");
this.wmStateLabel2.Name = "wmStateLabel2";
//
// snTextBox2
//
resources.ApplyResources(this.snTextBox2, "snTextBox2");
this.snTextBox2.Name = "snTextBox2";
//
// snLabel2
//
resources.ApplyResources(this.snLabel2, "snLabel2");
this.snLabel2.Name = "snLabel2";
//
// groupBox3
//
this.groupBox3.Controls.Add(this.wmStateTextBox3);
this.groupBox3.Controls.Add(this.wmStateLabel3);
this.groupBox3.Controls.Add(this.snTextBox3);
this.groupBox3.Controls.Add(this.snLabel3);
resources.ApplyResources(this.groupBox3, "groupBox3");
this.groupBox3.ForeColor = System.Drawing.Color.Black;
this.groupBox3.Name = "groupBox3";
this.groupBox3.TabStop = false;
//
// wmStateTextBox3
//
resources.ApplyResources(this.wmStateTextBox3, "wmStateTextBox3");
this.wmStateTextBox3.Name = "wmStateTextBox3";
//
// wmStateLabel3
//
resources.ApplyResources(this.wmStateLabel3, "wmStateLabel3");
this.wmStateLabel3.Name = "wmStateLabel3";
//
// snTextBox3
//
resources.ApplyResources(this.snTextBox3, "snTextBox3");
this.snTextBox3.Name = "snTextBox3";
//
// snLabel3
//
resources.ApplyResources(this.snLabel3, "snLabel3");
this.snLabel3.Name = "snLabel3";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.wmStateTextBox4);
this.groupBox4.Controls.Add(this.wmStateLabel4);
this.groupBox4.Controls.Add(this.snTextBox4);
this.groupBox4.Controls.Add(this.snLabel4);
resources.ApplyResources(this.groupBox4, "groupBox4");
this.groupBox4.ForeColor = System.Drawing.Color.Black;
this.groupBox4.Name = "groupBox4";
this.groupBox4.TabStop = false;
//
// wmStateTextBox4
//
resources.ApplyResources(this.wmStateTextBox4, "wmStateTextBox4");
this.wmStateTextBox4.Name = "wmStateTextBox4";
//
// wmStateLabel4
//
resources.ApplyResources(this.wmStateLabel4, "wmStateLabel4");
this.wmStateLabel4.Name = "wmStateLabel4";
//
// snTextBox4
//
resources.ApplyResources(this.snTextBox4, "snTextBox4");
this.snTextBox4.Name = "snTextBox4";
//
// snLabel4
//
resources.ApplyResources(this.snLabel4, "snLabel4");
this.snLabel4.Name = "snLabel4";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.wmStateTextBox5);
this.groupBox5.Controls.Add(this.wmStateLabel5);
this.groupBox5.Controls.Add(this.snTextBox5);
this.groupBox5.Controls.Add(this.snLabel5);
resources.ApplyResources(this.groupBox5, "groupBox5");
this.groupBox5.ForeColor = System.Drawing.Color.Black;
this.groupBox5.Name = "groupBox5";
this.groupBox5.TabStop = false;
//
// wmStateTextBox5
//
resources.ApplyResources(this.wmStateTextBox5, "wmStateTextBox5");
this.wmStateTextBox5.Name = "wmStateTextBox5";
//
// wmStateLabel5
//
resources.ApplyResources(this.wmStateLabel5, "wmStateLabel5");
this.wmStateLabel5.Name = "wmStateLabel5";
//
// snTextBox5
//
resources.ApplyResources(this.snTextBox5, "snTextBox5");
this.snTextBox5.Name = "snTextBox5";
//
// snLabel5
//
resources.ApplyResources(this.snLabel5, "snLabel5");
this.snLabel5.Name = "snLabel5";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.wmStateTextBox6);
this.groupBox6.Controls.Add(this.wmStateLabel6);
this.groupBox6.Controls.Add(this.snTextBox6);
this.groupBox6.Controls.Add(this.snLabel6);
resources.ApplyResources(this.groupBox6, "groupBox6");
this.groupBox6.ForeColor = System.Drawing.Color.Black;
this.groupBox6.Name = "groupBox6";
this.groupBox6.TabStop = false;
//
// wmStateTextBox6
//
resources.ApplyResources(this.wmStateTextBox6, "wmStateTextBox6");
this.wmStateTextBox6.Name = "wmStateTextBox6";
//
// wmStateLabel6
//
resources.ApplyResources(this.wmStateLabel6, "wmStateLabel6");
this.wmStateLabel6.Name = "wmStateLabel6";
//
// snTextBox6
//
resources.ApplyResources(this.snTextBox6, "snTextBox6");
this.snTextBox6.Name = "snTextBox6";
//
// snLabel6
//
resources.ApplyResources(this.snLabel6, "snLabel6");
this.snLabel6.Name = "snLabel6";
//
// WMSNsAndStatesForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.okButton);
this.ForeColor = System.Drawing.Color.Black;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "WMSNsAndStatesForm";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleBeginningForm_Load);
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.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label snLabel1;
private System.Windows.Forms.TextBox snTextBox1;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.TextBox snTextBox2;
private System.Windows.Forms.Label snLabel2;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.TextBox snTextBox3;
private System.Windows.Forms.Label snLabel3;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.TextBox snTextBox4;
private System.Windows.Forms.Label snLabel4;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.TextBox snTextBox5;
private System.Windows.Forms.Label snLabel5;
private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.TextBox snTextBox6;
private System.Windows.Forms.Label snLabel6;
private System.Windows.Forms.TextBox wmStateTextBox1;
private System.Windows.Forms.Label wmStateLabel1;
private System.Windows.Forms.TextBox wmStateTextBox2;
private System.Windows.Forms.Label wmStateLabel2;
private System.Windows.Forms.TextBox wmStateTextBox3;
private System.Windows.Forms.Label wmStateLabel3;
private System.Windows.Forms.TextBox wmStateTextBox4;
private System.Windows.Forms.Label wmStateLabel4;
private System.Windows.Forms.TextBox wmStateTextBox5;
private System.Windows.Forms.Label wmStateLabel5;
private System.Windows.Forms.TextBox wmStateTextBox6;
private System.Windows.Forms.Label wmStateLabel6;
}
}

View File

@ -0,0 +1,924 @@
<?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.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="okButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>640, 27</value>
</data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>98, 63</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="okButton.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="okButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="&gt;&gt;okButton.Name" xml:space="preserve">
<value>okButton</value>
</data>
<data name="&gt;&gt;okButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;okButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;okButton.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="wmStateTextBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
</data>
<data name="wmStateTextBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.Name" xml:space="preserve">
<value>wmStateTextBox1</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="wmStateLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 40</value>
</data>
<data name="wmStateLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel1.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel1.Name" xml:space="preserve">
<value>wmStateLabel1</value>
</data>
<data name="&gt;&gt;wmStateLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;wmStateLabel1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox1.Name" xml:space="preserve">
<value>snTextBox1</value>
</data>
<data name="&gt;&gt;snTextBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;snTextBox1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel1.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel1.Name" xml:space="preserve">
<value>snLabel1</value>
</data>
<data name="&gt;&gt;snLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;snLabel1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox1.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 18</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>Water Meter 1</value>
</data>
<data name="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;groupBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="wmStateTextBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
</data>
<data name="wmStateTextBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox2.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.Name" xml:space="preserve">
<value>wmStateTextBox2</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="wmStateLabel2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="wmStateLabel2.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 40</value>
</data>
<data name="wmStateLabel2.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel2.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel2.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel2.Name" xml:space="preserve">
<value>wmStateLabel2</value>
</data>
<data name="&gt;&gt;wmStateLabel2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;wmStateLabel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox2.Name" xml:space="preserve">
<value>snTextBox2</value>
</data>
<data name="&gt;&gt;snTextBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;snTextBox2.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel2.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel2.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel2.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel2.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel2.Name" xml:space="preserve">
<value>snLabel2</value>
</data>
<data name="&gt;&gt;snLabel2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;snLabel2.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox2.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 123</value>
</data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="groupBox2.Text" xml:space="preserve">
<value>Water Meter 2</value>
</data>
<data name="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;groupBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="wmStateTextBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
</data>
<data name="wmStateTextBox3.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox3.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.Name" xml:space="preserve">
<value>wmStateTextBox3</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="wmStateLabel3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="wmStateLabel3.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 40</value>
</data>
<data name="wmStateLabel3.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel3.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel3.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel3.Name" xml:space="preserve">
<value>wmStateLabel3</value>
</data>
<data name="&gt;&gt;wmStateLabel3.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;wmStateLabel3.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox3.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox3.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox3.Name" xml:space="preserve">
<value>snTextBox3</value>
</data>
<data name="&gt;&gt;snTextBox3.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;snTextBox3.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel3.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel3.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel3.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel3.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel3.Name" xml:space="preserve">
<value>snLabel3</value>
</data>
<data name="&gt;&gt;snLabel3.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;snLabel3.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox3.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 228</value>
</data>
<data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox3.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="groupBox3.Text" xml:space="preserve">
<value>Water Meter 3</value>
</data>
<data name="&gt;&gt;groupBox3.Name" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;groupBox3.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox3.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="wmStateTextBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
</data>
<data name="wmStateTextBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox4.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.Name" xml:space="preserve">
<value>wmStateTextBox4</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="wmStateLabel4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="wmStateLabel4.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 40</value>
</data>
<data name="wmStateLabel4.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel4.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel4.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel4.Name" xml:space="preserve">
<value>wmStateLabel4</value>
</data>
<data name="&gt;&gt;wmStateLabel4.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;wmStateLabel4.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox4.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox4.Name" xml:space="preserve">
<value>snTextBox4</value>
</data>
<data name="&gt;&gt;snTextBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;snTextBox4.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel4.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel4.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel4.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel4.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel4.Name" xml:space="preserve">
<value>snLabel4</value>
</data>
<data name="&gt;&gt;snLabel4.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;snLabel4.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox4.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 333</value>
</data>
<data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox4.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="groupBox4.Text" xml:space="preserve">
<value>Water Meter 4</value>
</data>
<data name="&gt;&gt;groupBox4.Name" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;groupBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox4.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="wmStateTextBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 32</value>
</data>
<data name="wmStateTextBox5.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox5.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.Name" xml:space="preserve">
<value>wmStateTextBox5</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel5.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="wmStateLabel5.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="wmStateLabel5.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 35</value>
</data>
<data name="wmStateLabel5.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel5.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel5.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel5.Name" xml:space="preserve">
<value>wmStateLabel5</value>
</data>
<data name="&gt;&gt;wmStateLabel5.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;wmStateLabel5.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox5.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox5.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox5.Name" xml:space="preserve">
<value>snTextBox5</value>
</data>
<data name="&gt;&gt;snTextBox5.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;snTextBox5.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel5.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel5.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel5.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel5.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel5.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel5.Name" xml:space="preserve">
<value>snLabel5</value>
</data>
<data name="&gt;&gt;snLabel5.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;snLabel5.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox5.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 438</value>
</data>
<data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox5.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="groupBox5.Text" xml:space="preserve">
<value>Water Meter 5</value>
</data>
<data name="&gt;&gt;groupBox5.Name" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;groupBox5.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox5.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox5.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="wmStateTextBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
</data>
<data name="wmStateTextBox6.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox6.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.Name" xml:space="preserve">
<value>wmStateTextBox6</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel6.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="wmStateLabel6.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="wmStateLabel6.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 40</value>
</data>
<data name="wmStateLabel6.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel6.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel6.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel6.Name" xml:space="preserve">
<value>wmStateLabel6</value>
</data>
<data name="&gt;&gt;wmStateLabel6.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;wmStateLabel6.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox6.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox6.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox6.Name" xml:space="preserve">
<value>snTextBox6</value>
</data>
<data name="&gt;&gt;snTextBox6.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;snTextBox6.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel6.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel6.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel6.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel6.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel6.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel6.Name" xml:space="preserve">
<value>snLabel6</value>
</data>
<data name="&gt;&gt;snLabel6.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;snLabel6.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox6.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 543</value>
</data>
<data name="groupBox6.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox6.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="groupBox6.Text" xml:space="preserve">
<value>Water Meter 6</value>
</data>
<data name="&gt;&gt;groupBox6.Name" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;groupBox6.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox6.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox6.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.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>773, 661</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Water Meter Serial Numbers and States</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>WMSNsAndStatesForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -0,0 +1,118 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Windows.Forms;
using log4net;
using TBF.Resources;
namespace TBF.BenchControl.DataEntry.WMStates
{
public partial class WMStatesForm : Form, GenericDevices.IHasCompleted
{
private static readonly ILog log = LogManager.GetLogger(typeof(WMStatesForm));
/// <summary> Number of text boxes for serial numbers </summary>
public readonly int WaterMetersCount;
// To be retrieved after the form closes
public double[] WMState;
// Set to 'true' when the form closes
public bool Completed { get { return completed; } }
bool completed;
/// <summary>
/// Constructor
/// </summary>
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
public WMStatesForm(int waterMetersCount)
{
InitializeComponent();
ControlBox = false;
this.WaterMetersCount = waterMetersCount;
WMState = new double[WaterMetersCount];
completed = false;
StartForceCloseHandler();
}
/// <summary> Parameterless constructor for 3 watermeters </summary>
public WMStatesForm()
: this(Config.Data.WMsCount)
{
}
void Localize()
{
Text = Strings.Water_Meter_States;
groupBox1.Text = Strings.Water_Meter + " 1";
groupBox2.Text = Strings.Water_Meter + " 2";
groupBox3.Text = Strings.Water_Meter + " 3";
groupBox4.Text = Strings.Water_Meter + " 4";
groupBox5.Text = Strings.Water_Meter + " 5";
groupBox6.Text = Strings.Water_Meter + " 6";
wmStateLabel1.Text = Strings.WMState;
wmStateLabel2.Text = Strings.WMState;
wmStateLabel3.Text = Strings.WMState;
wmStateLabel4.Text = Strings.WMState;
wmStateLabel5.Text = Strings.WMState;
wmStateLabel6.Text = Strings.WMState;
okButton.Text = Strings.OkBtnText;
}
private void CycleEndForm_Load(object sender, EventArgs e)
{
Localize();
Height = 195 + 90 * WaterMetersCount;
if (WaterMetersCount < 1) groupBox1.Visible = false;
if (WaterMetersCount < 2) groupBox2.Visible = false;
if (WaterMetersCount < 3) groupBox3.Visible = false;
if (WaterMetersCount < 4) groupBox4.Visible = false;
if (WaterMetersCount < 5) groupBox5.Visible = false;
if (WaterMetersCount < 6) groupBox6.Visible = false;
}
private void okButton_Click(object sender, EventArgs e)
{
try
{
if (WaterMetersCount >= 1) WMState[0] = Utils.ParseUDouble(wmStateTextBox1.Text);
if (WaterMetersCount >= 2) WMState[1] = Utils.ParseUDouble(wmStateTextBox2.Text);
if (WaterMetersCount >= 3) WMState[2] = Utils.ParseUDouble(wmStateTextBox3.Text);
if (WaterMetersCount >= 4) WMState[3] = Utils.ParseUDouble(wmStateTextBox4.Text);
if (WaterMetersCount >= 5) WMState[4] = Utils.ParseUDouble(wmStateTextBox5.Text);
if (WaterMetersCount >= 6) WMState[5] = Utils.ParseUDouble(wmStateTextBox6.Text);
}
catch
{
return;
}
completed = true;
Close();
}
#region Forced close handling
public void StartForceCloseHandler()
{
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
{
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
else OnForceClose(sender, args);
};
}
void OnForceClose(object sender, EventArgs args)
{
DialogResult = DialogResult.Cancel;
Close();
}
#endregion
}
}

View File

@ -0,0 +1,305 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
namespace TBF.BenchControl.DataEntry.WMStates
{
partial class WMStatesForm
{
/// <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.groupBox2 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox2 = new System.Windows.Forms.TextBox();
this.wmStateLabel2 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox1 = new System.Windows.Forms.TextBox();
this.wmStateLabel1 = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox3 = new System.Windows.Forms.TextBox();
this.wmStateLabel3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox4 = new System.Windows.Forms.TextBox();
this.wmStateLabel4 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox5 = new System.Windows.Forms.TextBox();
this.wmStateLabel5 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox6 = new System.Windows.Forms.TextBox();
this.wmStateLabel6 = new System.Windows.Forms.Label();
this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
this.SuspendLayout();
//
// groupBox2
//
this.groupBox2.Controls.Add(this.wmStateTextBox2);
this.groupBox2.Controls.Add(this.wmStateLabel2);
this.groupBox2.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox2.ForeColor = System.Drawing.Color.Black;
this.groupBox2.Location = new System.Drawing.Point(25, 102);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(362, 81);
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Water Meter 2";
//
// wmStateTextBox2
//
this.wmStateTextBox2.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox2.Name = "wmStateTextBox2";
this.wmStateTextBox2.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox2.TabIndex = 1;
//
// wmStateLabel2
//
this.wmStateLabel2.AutoSize = true;
this.wmStateLabel2.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel2.Name = "wmStateLabel2";
this.wmStateLabel2.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel2.TabIndex = 0;
this.wmStateLabel2.Text = "State:";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.wmStateTextBox1);
this.groupBox1.Controls.Add(this.wmStateLabel1);
this.groupBox1.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox1.ForeColor = System.Drawing.Color.Black;
this.groupBox1.Location = new System.Drawing.Point(25, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(362, 81);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Water Meter 1";
//
// wmStateTextBox1
//
this.wmStateTextBox1.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox1.Name = "wmStateTextBox1";
this.wmStateTextBox1.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox1.TabIndex = 1;
//
// wmStateLabel1
//
this.wmStateLabel1.AutoSize = true;
this.wmStateLabel1.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel1.Name = "wmStateLabel1";
this.wmStateLabel1.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel1.TabIndex = 0;
this.wmStateLabel1.Text = "State:";
//
// okButton
//
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(425, 21);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(98, 63);
this.okButton.TabIndex = 7;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// groupBox3
//
this.groupBox3.Controls.Add(this.wmStateTextBox3);
this.groupBox3.Controls.Add(this.wmStateLabel3);
this.groupBox3.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox3.ForeColor = System.Drawing.Color.Black;
this.groupBox3.Location = new System.Drawing.Point(25, 192);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(362, 81);
this.groupBox3.TabIndex = 3;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Water Meter 3";
//
// wmStateTextBox3
//
this.wmStateTextBox3.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox3.Name = "wmStateTextBox3";
this.wmStateTextBox3.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox3.TabIndex = 1;
//
// wmStateLabel3
//
this.wmStateLabel3.AutoSize = true;
this.wmStateLabel3.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel3.Name = "wmStateLabel3";
this.wmStateLabel3.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel3.TabIndex = 0;
this.wmStateLabel3.Text = "State:";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.wmStateTextBox4);
this.groupBox4.Controls.Add(this.wmStateLabel4);
this.groupBox4.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox4.ForeColor = System.Drawing.Color.Black;
this.groupBox4.Location = new System.Drawing.Point(25, 282);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(362, 81);
this.groupBox4.TabIndex = 4;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Water Meter 4";
//
// wmStateTextBox4
//
this.wmStateTextBox4.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox4.Name = "wmStateTextBox4";
this.wmStateTextBox4.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox4.TabIndex = 1;
//
// wmStateLabel4
//
this.wmStateLabel4.AutoSize = true;
this.wmStateLabel4.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel4.Name = "wmStateLabel4";
this.wmStateLabel4.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel4.TabIndex = 0;
this.wmStateLabel4.Text = "State:";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.wmStateTextBox5);
this.groupBox5.Controls.Add(this.wmStateLabel5);
this.groupBox5.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox5.ForeColor = System.Drawing.Color.Black;
this.groupBox5.Location = new System.Drawing.Point(25, 372);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(362, 81);
this.groupBox5.TabIndex = 5;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Water Meter 5";
//
// wmStateTextBox5
//
this.wmStateTextBox5.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox5.Name = "wmStateTextBox5";
this.wmStateTextBox5.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox5.TabIndex = 1;
//
// wmStateLabel5
//
this.wmStateLabel5.AutoSize = true;
this.wmStateLabel5.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel5.Name = "wmStateLabel5";
this.wmStateLabel5.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel5.TabIndex = 0;
this.wmStateLabel5.Text = "State:";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.wmStateTextBox6);
this.groupBox6.Controls.Add(this.wmStateLabel6);
this.groupBox6.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox6.ForeColor = System.Drawing.Color.Black;
this.groupBox6.Location = new System.Drawing.Point(25, 462);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(362, 81);
this.groupBox6.TabIndex = 6;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "Water Meter 6";
//
// wmStateTextBox6
//
this.wmStateTextBox6.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox6.Name = "wmStateTextBox6";
this.wmStateTextBox6.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox6.TabIndex = 1;
//
// wmStateLabel6
//
this.wmStateLabel6.AutoSize = true;
this.wmStateLabel6.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel6.Name = "wmStateLabel6";
this.wmStateLabel6.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel6.TabIndex = 0;
this.wmStateLabel6.Text = "State:";
//
// CycleEndForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.ClientSize = new System.Drawing.Size(559, 565);
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.okButton);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "CycleEndForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Text = "Water Meter States";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.TextBox wmStateTextBox2;
private System.Windows.Forms.Label wmStateLabel2;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox wmStateTextBox1;
private System.Windows.Forms.Label wmStateLabel1;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.TextBox wmStateTextBox3;
private System.Windows.Forms.Label wmStateLabel3;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.TextBox wmStateTextBox4;
private System.Windows.Forms.Label wmStateLabel4;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.TextBox wmStateTextBox5;
private System.Windows.Forms.Label wmStateLabel5;
private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.TextBox wmStateTextBox6;
private System.Windows.Forms.Label wmStateLabel6;
}
}

View File

@ -0,0 +1,120 @@
<?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>

View File

@ -110,7 +110,7 @@ namespace TBF.BenchControl.Elde
public byte MeretProtocol = 0;
// Array length is the reference flowmeters count plus one
#if ALZIR_25 || BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || BAHRAIN_50 || CEVAK_40 || FEWA_50 || FILIPINY_50 || FUZHOU_50 || FUZHOU_100 || HONGKONG_50 || IZRAEL_25 || JUZNA_AFRIKA_50 || KEMPNO_50 || KRAKOW_50 || LUXEMBURG_40 || MILWAUKEE || MUNICH || MURES_40 || PETERSBURG_50 || SLM_50 || TORINO_50 || TORUN_50 || TURA_IPERL || TURA_IPERL_NEW || TURA_SPECIAL || WARSAW_50 || ZAMBIA || ZODINO
#if ALZIR_25 || BADGER_MALA_TRAT || BADGER_STREDNA_TRAT || BAHRAIN_50 || CEVAK_40 || FEWA_50 || FILIPINY_50 || FUZHOU_50 || FUZHOU_100 || HONGKONG_50 || IZRAEL_25 || JUZNA_AFRIKA_50 || KEMPNO_50 || KRAKOW_50 || LUXEMBURG_40 || MUNICH || MURES_40 || PETERSBURG_50 || SLM_50 || TORINO_50 || TORUN_50 || TURA_IPERL || TURA_IPERL_NEW || TURA_SPECIAL || WARSAW_50 || ZAMBIA || ZODINO
public uint[,] RegValveCalib = new uint[8,2] {{100,500},{100,500},{100,500},{100,500},{100,500},{100,500},{100,500},{100,500}};
#if IZRAEL_50
public byte[] MeretRS485Address = new byte[6];
@ -127,7 +127,7 @@ namespace TBF.BenchControl.Elde
{100,500}, {100,500}, {100,500}, {100,500}, {100,500}, {100,500}, {100,500}, {100,500} };
public byte[] MeretRS485Address = new byte[4];
public float[] EtCalib = new float[7] { 1, 1, 1, 1, 1, 1, 1 };
#elif DEWA_300
#elif DEWA_300 || MILWAUKEE
public uint[,] RegValveCalib = new uint[16, 2] { {100,500}, {100,500}, {100,500}, {100,500}, {100,500}, {100,500}, {100,500}, {100,500},
{100,500}, {100,500}, {100,500}, {100,500}, {100,500}, {100,500}, {100,500}, {100,500} };
public byte[] MeretRS485Address = new byte[4];

View File

@ -113,7 +113,7 @@ namespace TBF.BenchControl.Elde
}
public float DivSamples(int time, int divIx0)
{
#if IZRAEL_200 || MUNICH
#if FUZHOU_50 || FUZHOU_150 || FUZHOU_300 || IZRAEL_200 || MUNICH
return ctrlBrdComponent.DIVSamples[time, 0];
#else
return ctrlBrdComponent.DIVSamples[time, divIx0];

View File

@ -43,6 +43,7 @@ namespace TBF.BenchControl
Factories.Add(new DataEntry.Standard48.Factory());
Factories.Add(new DataEntry.Standard48.FactoryNoStartEnd());
Factories.Add(new DataEntry.StandardCamera.Factory());
Factories.Add(new DataEntry.WMStates.EntryFormFactory());
Factories.Add(new RegisterReaders.KPackE.DataEntryForRadio.Factory()); /// DataEntry for KPackE radio
Factories.Add(new Dummy.Balance.Factory());
Factories.Add(new Dummy.Diverter.Factory());

View File

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("2.26.1563.0")]
[assembly: AssemblyFileVersion("2.26.1563.0")]
[assembly: AssemblyVersion("2.26.1569.0")]
[assembly: AssemblyFileVersion("2.26.1569.0")]

View File

@ -543,6 +543,27 @@
<DependentUpon>TestStartEndForm.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\DataEntry\DEUtils.cs" />
<Compile Include="BenchControl\DataEntry\WMStates\EntryForm.cs" />
<Compile Include="BenchControl\DataEntry\WMStates\EntryFormCfg.cs" />
<Compile Include="BenchControl\DataEntry\WMStates\EntryFormCfgCtrl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="BenchControl\DataEntry\WMStates\EntryFormCfgCtrl.designer.cs">
<DependentUpon>EntryFormCfgCtrl.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\DataEntry\WMStates\EntryFormFactory.cs" />
<Compile Include="BenchControl\DataEntry\WMStates\WMSNsAndStatesForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BenchControl\DataEntry\WMStates\WMSNsAndStatesForm.designer.cs">
<DependentUpon>WMSNsAndStatesForm.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\DataEntry\WMStates\WMStatesForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BenchControl\DataEntry\WMStates\WMStatesForm.designer.cs">
<DependentUpon>WMStatesForm.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\Dummy\Balance\Component.cs" />
<Compile Include="BenchControl\Dummy\Balance\Factory.cs" />
<Compile Include="BenchControl\Dummy\Diverter\Component.cs" />
@ -2862,6 +2883,15 @@
<EmbeddedResource Include="BenchControl\DataEntry\StandardCamera\TestStartEndForm.resx">
<DependentUpon>TestStartEndForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\DataEntry\WMStates\EntryFormCfgCtrl.resx">
<DependentUpon>EntryFormCfgCtrl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\DataEntry\WMStates\WMSNsAndStatesForm.resx">
<DependentUpon>WMSNsAndStatesForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\DataEntry\WMStates\WMStatesForm.resx">
<DependentUpon>WMStatesForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\Dummy\FlowMeter\FlowMeterCfgCtrl.resx">
<DependentUpon>FlowMeterCfgCtrl.cs</DependentUpon>
</EmbeddedResource>