ResultsBrowser: ResultsBrowserWnd and Filters folder/controls added.

This commit is contained in:
Milan Hanajik 2016-06-01 12:09:03 +02:00
parent b34b031fcf
commit aa6c12e388
24 changed files with 2000 additions and 596 deletions

View File

@ -0,0 +1,106 @@
namespace ResultsBrowser.Filters
{
partial class DateFilter
{
/// <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.groupBox1 = new System.Windows.Forms.GroupBox();
this.toLabel = new System.Windows.Forms.Label();
this.toDateTimePicker = new System.Windows.Forms.DateTimePicker();
this.fromLabel = new System.Windows.Forms.Label();
this.fromDateTimePicker = new System.Windows.Forms.DateTimePicker();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Controls.Add(this.toLabel);
this.groupBox1.Controls.Add(this.toDateTimePicker);
this.groupBox1.Controls.Add(this.fromLabel);
this.groupBox1.Controls.Add(this.fromDateTimePicker);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(0, 0);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(835, 40);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Date";
//
// toLabel
//
this.toLabel.AutoSize = true;
this.toLabel.Location = new System.Drawing.Point(390, 16);
this.toLabel.Name = "toLabel";
this.toLabel.Size = new System.Drawing.Size(20, 13);
this.toLabel.TabIndex = 6;
this.toLabel.Text = "To";
//
// toDateTimePicker
//
this.toDateTimePicker.Location = new System.Drawing.Point(430, 13);
this.toDateTimePicker.Name = "toDateTimePicker";
this.toDateTimePicker.Size = new System.Drawing.Size(151, 20);
this.toDateTimePicker.TabIndex = 5;
//
// fromLabel
//
this.fromLabel.AutoSize = true;
this.fromLabel.Location = new System.Drawing.Point(128, 17);
this.fromLabel.Name = "fromLabel";
this.fromLabel.Size = new System.Drawing.Size(30, 13);
this.fromLabel.TabIndex = 4;
this.fromLabel.Text = "From";
//
// fromDateTimePicker
//
this.fromDateTimePicker.Location = new System.Drawing.Point(168, 13);
this.fromDateTimePicker.Name = "fromDateTimePicker";
this.fromDateTimePicker.Size = new System.Drawing.Size(151, 20);
this.fromDateTimePicker.TabIndex = 3;
//
// DateFilter
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.groupBox1);
this.Name = "DateFilter";
this.Size = new System.Drawing.Size(835, 40);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label fromLabel;
private System.Windows.Forms.DateTimePicker fromDateTimePicker;
private System.Windows.Forms.Label toLabel;
private System.Windows.Forms.DateTimePicker toDateTimePicker;
}
}

View File

@ -0,0 +1,60 @@
using System;
using System.IO;
using System.Text;
using System.Windows.Forms;
using System.Xml.Serialization;
namespace ResultsBrowser.Filters
{
public partial class DateFilter : UserControl, IFilter
{
public static string GetFilterName() { return "Date"; }
public string GetThisFilterName() { return "Date"; }
public DateTime From;
public DateTime To;
public DateFilter()
{
InitializeComponent();
Localize();
}
void Localize()
{
groupBox1.Text = "Date";
fromLabel.Text = "From";
toLabel.Text = "To";
}
public void Data2UI()
{
fromDateTimePicker.Value = From;
toDateTimePicker.Value = To;
}
public void UI2Data()
{
From = fromDateTimePicker.Value;
To = toDateTimePicker.Value;
}
/// <summary>
/// Save public fields of this class to the XML string.
/// </summary>
public void Save(StringBuilder sb)
{
try
{
using (TextWriter writer = new StringWriter(sb))
{
(new XmlSerializer(typeof(DateFilter))).Serialize(writer, this);
}
}
catch (Exception e)
{
string msg = e.Message;
}
}
}
}

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,61 @@
using System;
using System.IO;
using System.Text;
using System.Xml.Serialization;
namespace ResultsBrowser.Filters
{
static class Factory
{
public static readonly string[] List;
public static readonly int Count;
static Factory()
{
List = new string[]
{
DateFilter.GetFilterName(),
ProcedureFilter.GetFilterName(),
SerialNrFilter.GetFilterName(),
};
Count = List.Length;
}
public static IFilter GetFilter(string filterName)
{
if (filterName == DateFilter.GetFilterName()) return new DateFilter();
else if (filterName == ProcedureFilter.GetFilterName()) return new ProcedureFilter();
else if (filterName == SerialNrFilter.GetFilterName()) return new SerialNrFilter();
else return null;
}
public static IFilter LoadFilter(string filterName, string serialized)
{
Type filterType;
if (filterName == DateFilter.GetFilterName()) filterType = Type.GetType("DateFilter");
else if (filterName == ProcedureFilter.GetFilterName()) filterType = Type.GetType("ProcedureFilter");
else if (filterName == SerialNrFilter.GetFilterName()) filterType = Type.GetType("SerialNrFilter");
else return null;
try
{
using (TextReader reader = new StringReader(serialized))
{
IFilter filter = (new XmlSerializer(filterType)).Deserialize(reader) as IFilter;
filter.Data2UI();
return filter;
}
}
catch (Exception e)
{
string msg = e.Message;
return null;
}
}
}
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ResultsBrowser.Filters
{
public interface IFilter
{
string GetThisFilterName();
void Data2UI();
void UI2Data(); /// Throws an exception with appropriate message if UI data are invalid
void Save(StringBuilder sb);
}
}

View File

@ -0,0 +1,72 @@
namespace ResultsBrowser.Filters
{
partial class ProcedureFilter
{
/// <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.groupBox1 = new System.Windows.Forms.GroupBox();
this.procedureTextBox = new System.Windows.Forms.TextBox();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Controls.Add(this.procedureTextBox);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(0, 0);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(835, 40);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Procedure";
//
// procedureTextBox
//
this.procedureTextBox.Location = new System.Drawing.Point(132, 13);
this.procedureTextBox.Name = "procedureTextBox";
this.procedureTextBox.Size = new System.Drawing.Size(138, 20);
this.procedureTextBox.TabIndex = 0;
//
// ProcedureFilter
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.groupBox1);
this.Name = "ProcedureFilter";
this.Size = new System.Drawing.Size(835, 40);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox procedureTextBox;
}
}

View File

@ -0,0 +1,55 @@
using System;
using System.IO;
using System.Text;
using System.Windows.Forms;
using System.Xml.Serialization;
namespace ResultsBrowser.Filters
{
public partial class ProcedureFilter : UserControl, IFilter
{
public static string GetFilterName() { return "Procedure"; }
public string GetThisFilterName() { return "Procedure"; }
public string Procedure;
public ProcedureFilter()
{
InitializeComponent();
Localize();
}
void Localize()
{
groupBox1.Text = "Procedure";
}
public void Data2UI()
{
procedureTextBox.Text = (Procedure != null) ? Procedure : string.Empty;
}
public void UI2Data()
{
Procedure = procedureTextBox.Text;
}
/// <summary>
/// Save public fields of this class to the XML string.
/// </summary>
public void Save(StringBuilder sb)
{
try
{
using (TextWriter writer = new StringWriter(sb))
{
(new XmlSerializer(typeof(ProcedureFilter))).Serialize(writer, this);
}
}
catch (Exception e)
{
string msg = e.Message;
}
}
}
}

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,72 @@
namespace ResultsBrowser.Filters
{
partial class SerialNrFilter
{
/// <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.groupBox1 = new System.Windows.Forms.GroupBox();
this.serialNrTextBox = new System.Windows.Forms.TextBox();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Controls.Add(this.serialNrTextBox);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(0, 0);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(835, 40);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Serial number";
//
// serialNrTextBox
//
this.serialNrTextBox.Location = new System.Drawing.Point(132, 13);
this.serialNrTextBox.Name = "serialNrTextBox";
this.serialNrTextBox.Size = new System.Drawing.Size(138, 20);
this.serialNrTextBox.TabIndex = 0;
//
// SerialNrFilter
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.groupBox1);
this.Name = "SerialNrFilter";
this.Size = new System.Drawing.Size(835, 40);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox serialNrTextBox;
}
}

View File

@ -0,0 +1,56 @@
using System;
using System.IO;
using System.Text;
using System.Windows.Forms;
using System.Xml.Serialization;
namespace ResultsBrowser.Filters
{
public partial class SerialNrFilter : UserControl, IFilter
{
public static string GetFilterName() { return "SerialNr"; }
public string GetThisFilterName() { return "SerialNr"; }
public string SerialNr;
public SerialNrFilter()
{
InitializeComponent();
Localize();
}
void Localize()
{
groupBox1.Text = "Serial number";
}
public void Data2UI()
{
serialNrTextBox.Text = (SerialNr != null) ? SerialNr : string.Empty;
}
public void UI2Data()
{
SerialNr = serialNrTextBox.Text;
}
/// <summary>
/// Save public fields of this class to the XML string.
/// </summary>
public void Save(StringBuilder sb)
{
try
{
using (TextWriter writer = new StringWriter(sb))
{
(new XmlSerializer(typeof(SerialNrFilter))).Serialize(writer, this);
}
}
catch (Exception e)
{
string msg = e.Message;
}
}
}
}

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,102 @@
namespace ResultsBrowser.Forms
{
partial class AddFilterDlg
{
/// <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.availFiltersListBox = new System.Windows.Forms.ListBox();
this.label1 = new System.Windows.Forms.Label();
this.cancelButton = new System.Windows.Forms.Button();
this.okButton = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// availFiltersListBox
//
this.availFiltersListBox.FormattingEnabled = true;
this.availFiltersListBox.Location = new System.Drawing.Point(12, 31);
this.availFiltersListBox.Name = "availFiltersListBox";
this.availFiltersListBox.Size = new System.Drawing.Size(288, 264);
this.availFiltersListBox.TabIndex = 1;
this.availFiltersListBox.DoubleClick += new System.EventHandler(this.availFiltersListBox_DoubleClick);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(37, 13);
this.label1.TabIndex = 2;
this.label1.Text = "Filters:";
//
// cancelButton
//
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelButton.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.cancelButton.Location = new System.Drawing.Point(201, 310);
this.cancelButton.Name = "cancelButton";
this.cancelButton.Size = new System.Drawing.Size(99, 25);
this.cancelButton.TabIndex = 10;
this.cancelButton.Text = "&Cancel";
this.cancelButton.UseVisualStyleBackColor = true;
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
//
// okButton
//
this.okButton.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.okButton.Location = new System.Drawing.Point(96, 310);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(99, 25);
this.okButton.TabIndex = 9;
this.okButton.Text = "&OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// AddFilterDlg
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(314, 350);
this.Controls.Add(this.cancelButton);
this.Controls.Add(this.okButton);
this.Controls.Add(this.label1);
this.Controls.Add(this.availFiltersListBox);
this.Name = "AddFilterDlg";
this.Text = "Select a filter";
this.Load += new System.EventHandler(this.AddFilterDlg_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ListBox availFiltersListBox;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button cancelButton;
private System.Windows.Forms.Button okButton;
}
}

View File

@ -0,0 +1,69 @@
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 ResultsBrowser.Resources;
namespace ResultsBrowser.Forms
{
public partial class AddFilterDlg : Form
{
public string SelectedFilterName;
private int selectedIndex = -1;
public AddFilterDlg()
{
InitializeComponent();
foreach (var fName in Filters.Factory.List)
{
availFiltersListBox.Items.Add(fName);
}
}
private void AddFilterDlg_Load(object sender, EventArgs e)
{
Localize();
}
void Localize()
{
Text = "Select a Filters";
label1.Text = "Filters";
okButton.Text = Strings.OkBtnText;
cancelButton.Text = Strings.CancelBtnText;
}
private void availFiltersListBox_DoubleClick(object sender, EventArgs e)
{
okButton_Click(sender, e);
}
private void okButton_Click(object sender, EventArgs e)
{
int ix = availFiltersListBox.SelectedIndex;
if (ix >= 0 && ix < Filters.Factory.Count)
{
selectedIndex = ix;
SelectedFilterName = (string)availFiltersListBox.Items[ix];
DialogResult = DialogResult.OK;
Close();
return;
}
}
private void cancelButton_Click(object sender, EventArgs e)
{
SelectedFilterName = null;
DialogResult = DialogResult.Cancel;
Close();
return;
}
}
}

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

@ -32,6 +32,7 @@ namespace ResultsBrowser
/// </summary>
public static MainWnd MainWnd;
public static RBrowserWnd RBrowserWnd;
public static ResultsBrowserWnd ResultsBrowserWnd;
/// <summary>
@ -143,9 +144,9 @@ namespace ResultsBrowser
log.Info("Opening the main window");
Application.Run(MainWnd);
#else
RBrowserWnd = new RBrowserWnd();
ResultsBrowserWnd = new ResultsBrowserWnd();
log.Info("Opening the main window");
Application.Run(RBrowserWnd);
Application.Run(ResultsBrowserWnd);
#endif
log.Info("The main window was closed");
}

View File

@ -0,0 +1,81 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
///
using System;
using System.IO;
using System.Text;
using System.Xml.Serialization;
namespace ResultsBrowser
{
/// <summary>
/// Class to be serialized to an XML file...
/// Public members are filters / parts of a query.
/// </summary>
[XmlRootAttribute("Query")]
public class QueryFilters
{
public string[] FilterNames;
[XmlIgnore]
public int FilterNamesCount { get { return (FilterNames != null) ? FilterNames.Length : 0; } }
public string[] FilterSettings;
[XmlIgnore]
public int FilterSettingsCount { get { return (FilterSettings != null) ? FilterSettings.Length : 0; } }
public QueryFilters()
{
}
public QueryFilters(int count)
{
if (count > 0)
{
FilterNames = new string[count];
FilterSettings = new string[count];
}
}
/// <summary>
/// Load public fields of this class from the XML file.
/// </summary>
public static QueryFilters Load(string fileName)
{
try
{
using (TextReader reader = new StreamReader(fileName))
{
QueryFilters ls = (new XmlSerializer(typeof(QueryFilters))).Deserialize(reader) as QueryFilters;
// Copy the settings just in case De-serialize() completes OK
return ls;
}
}
catch (Exception e)
{
string msg = e.Message;
return null;
}
}
/// <summary>
/// Save public fields of this class to the XML file.
/// </summary>
public void Save(string fileName)
{
try
{
using (TextWriter writer = new StreamWriter(fileName))
{
(new XmlSerializer(typeof(QueryFilters))).Serialize(writer, this);
}
}
catch (Exception e)
{
string msg = e.Message;
}
}
}
}

View File

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
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">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</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.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: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" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</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.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -138,30 +138,12 @@
<data name="Invalid_user_password_or_bench" xml:space="preserve">
<value>Invalid user, password, or bench</value>
</data>
<data name="Password" xml:space="preserve">
<value>Password</value>
</data>
<data name="PLs_select_testbench" xml:space="preserve">
<value>Please, select a test bench</value>
</data>
<data name="Restart_To_Apply_Changes" xml:space="preserve">
<value>You must restart to apply these changes</value>
</data>
<data name="Test_bench" xml:space="preserve">
<value>Test bench</value>
</data>
<data name="User_name" xml:space="preserve">
<value>User name</value>
</data>
<data name="Warning" xml:space="preserve">
<value>Warning</value>
</data>
<data name="MaxChars" xml:space="preserve">
<value>(max. _X_ alphanumeric characters)</value>
</data>
<data name="Username_taken" xml:space="preserve">
<value>This Username has already been taken. Please choose another one.</value>
</data>
<data name="close" xml:space="preserve">
<value>close</value>
</data>
@ -174,24 +156,6 @@
<data name="Name" xml:space="preserve">
<value>Name</value>
</data>
<data name="open" xml:space="preserve">
<value>open</value>
</data>
<data name="Pump" xml:space="preserve">
<value>Pump</value>
</data>
<data name="P_in" xml:space="preserve">
<value>P up</value>
</data>
<data name="P_out" xml:space="preserve">
<value>P down</value>
</data>
<data name="Q_from_m3h" xml:space="preserve">
<value>Q from [m3/h]</value>
</data>
<data name="Q_to_m3h" xml:space="preserve">
<value>Q to [m3/h]</value>
</data>
<data name="Reference" xml:space="preserve">
<value>Reference</value>
</data>
@ -201,30 +165,12 @@
<data name="Balance" xml:space="preserve">
<value>Balance</value>
</data>
<data name="Sensor_" xml:space="preserve">
<value>Sensor </value>
</data>
<data name="T_div" xml:space="preserve">
<value>T div.</value>
</data>
<data name="T_in" xml:space="preserve">
<value>T in</value>
</data>
<data name="T_out" xml:space="preserve">
<value>T out</value>
</data>
<data name="Pressure_meter" xml:space="preserve">
<value>Pressure meter</value>
</data>
<data name="Duration_s" xml:space="preserve">
<value>Duration [s]</value>
</data>
<data name="no" xml:space="preserve">
<value>no</value>
</data>
<data name="yes" xml:space="preserve">
<value>yes</value>
</data>
<data name="New_bench_path_name" xml:space="preserve">
<value>PBench</value>
</data>
@ -270,9 +216,6 @@
<data name="RemoveBtnText" xml:space="preserve">
<value>Remove</value>
</data>
<data name="UnlockBtnText" xml:space="preserve">
<value>Unlock</value>
</data>
<data name="OkBtnText" xml:space="preserve">
<value>OK</value>
</data>
@ -285,18 +228,9 @@
<data name="Flow_m3h" xml:space="preserve">
<value>Flow [m3/h]</value>
</data>
<data name="Pressure_bar" xml:space="preserve">
<value>Pressure [bar]</value>
</data>
<data name="Invalid_username_or_password" xml:space="preserve">
<value>Invalid username or password</value>
</data>
<data name="Username" xml:space="preserve">
<value>Username</value>
</data>
<data name="User_Login" xml:space="preserve">
<value>User Login</value>
</data>
<data name="CopyBtnText" xml:space="preserve">
<value>Copy</value>
</data>
@ -318,9 +252,6 @@
<data name="ExitBtnText" xml:space="preserve">
<value>Exit</value>
</data>
<data name="RetryDatabaseText" xml:space="preserve">
<value>Retry connection to the database</value>
</data>
<data name="Enter_password" xml:space="preserve">
<value>Enter password</value>
</data>
@ -348,9 +279,6 @@
<data name="DescriptionColHdr" xml:space="preserve">
<value>Description</value>
</data>
<data name="Procedures" xml:space="preserve">
<value>Procedures</value>
</data>
<data name="Procedure" xml:space="preserve">
<value>Procedure</value>
</data>
@ -363,30 +291,12 @@
<data name="Measured" xml:space="preserve">
<value>Measured</value>
</data>
<data name="Test_measured_corrected" xml:space="preserve">
<value>Test</value>
</data>
<data name="Bench_is_not_running" xml:space="preserve">
<value>Test bench is not running, however you can change the settings to resolve the problem.</value>
</data>
<data name="Volume_ltr_chdr" xml:space="preserve">
<value>Volume [l]</value>
</data>
<data name="Emptying_chdr" xml:space="preserve">
<value>Emptying</value>
</data>
<data name="Q_set_method_chdr" xml:space="preserve">
<value>Q-Set Method</value>
</data>
<data name="Repeats_nr_chdr" xml:space="preserve">
<value>Repeats nr.</value>
</data>
<data name="Test_chdr" xml:space="preserve">
<value>Test</value>
</data>
<data name="Zeroing_chdr" xml:space="preserve">
<value>Zeroing</value>
</data>
<data name="Bench_chdr" xml:space="preserve">
<value>Bench</value>
</data>
@ -405,45 +315,15 @@
<data name="Feeding_chdr" xml:space="preserve">
<value>Feeding</value>
</data>
<data name="Output_chdr" xml:space="preserve">
<value>Output</value>
</data>
<data name="Q_from_lph" xml:space="preserve">
<value>Q from [l/h]</value>
</data>
<data name="Q_to_lph" xml:space="preserve">
<value>Q to [l/h]</value>
</data>
<data name="Red_type_chdr" xml:space="preserve">
<value>Red. type</value>
</data>
<data name="Sensors_chdr" xml:space="preserve">
<value>Sensors</value>
</data>
<data name="Tol_red_pct_chdr" xml:space="preserve">
<value>Toler. red. [%]</value>
</data>
<data name="Test_time_s_chdr" xml:space="preserve">
<value>Test time [s]</value>
</data>
<data name="Error_while_creating_DB_Reason" xml:space="preserve">
<value>Error while creating the database. Reason: </value>
</data>
<data name="Metrology" xml:space="preserve">
<value>Metrology</value>
</data>
<data name="Please_change_the_following_settings" xml:space="preserve">
<value>Please change the following settings:</value>
</data>
<data name="Properties" xml:space="preserve">
<value>Properties</value>
</data>
<data name="Unhandled_error_occured_in_" xml:space="preserve">
<value>Unhandled error occured in </value>
</data>
<data name="User_" xml:space="preserve">
<value>User : </value>
</data>
<data name="_offline" xml:space="preserve">
<value>(offline)</value>
</data>
@ -462,12 +342,6 @@
<data name="Metrologist" xml:space="preserve">
<value>Metrologist</value>
</data>
<data name="Tester" xml:space="preserve">
<value>Tester</value>
</data>
<data name="Testing_Specialist" xml:space="preserve">
<value>Testing Specialist</value>
</data>
<data name="Close_emptying_valve" xml:space="preserve">
<value>Close emptying valve</value>
</data>
@ -486,45 +360,9 @@
<data name="Measure_the_mass" xml:space="preserve">
<value>Measure the mass</value>
</data>
<data name="Please_select_a_procedure" xml:space="preserve">
<value>Please select a procedure</value>
</data>
<data name="Please_select_a_test" xml:space="preserve">
<value>Please select a test</value>
</data>
<data name="Purging" xml:space="preserve">
<value>Purging</value>
</data>
<data name="Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Set_flow" xml:space="preserve">
<value>Set flow</value>
</data>
<data name="Set_route" xml:space="preserve">
<value>Set route</value>
</data>
<data name="Start_the_pump" xml:space="preserve">
<value>Start the pump</value>
</data>
<data name="Start_the_test" xml:space="preserve">
<value>Start the test</value>
</data>
<data name="Stopping" xml:space="preserve">
<value>Stopping</value>
</data>
<data name="Stop_the_pump" xml:space="preserve">
<value>Stop the pump</value>
</data>
<data name="Stop_the_test" xml:space="preserve">
<value>Stop the test</value>
</data>
<data name="Tarring" xml:space="preserve">
<value>Tarring</value>
</data>
<data name="Test_in_progress" xml:space="preserve">
<value>Test in progress</value>
</data>
<data name="BackBtnText" xml:space="preserve">
<value>&lt; Back</value>
</data>
@ -537,9 +375,6 @@
<data name="Flow_selection" xml:space="preserve">
<value>Flow Selection</value>
</data>
<data name="Test_name" xml:space="preserve">
<value>Test name</value>
</data>
<data name="Method_chdr" xml:space="preserve">
<value>Test method</value>
</data>
@ -549,9 +384,6 @@
<data name="RelativeQto" xml:space="preserve">
<value>Relative Q to</value>
</data>
<data name="TargetQ" xml:space="preserve">
<value>Target Q [m3/h]</value>
</data>
<data name="Combined_meters" xml:space="preserve">
<value>Combined meters</value>
</data>
@ -561,9 +393,6 @@
<data name="RateOfChangePct" xml:space="preserve">
<value>Rate of change [%]</value>
</data>
<data name="PulsesPerLtr" xml:space="preserve">
<value>Pulses per liter</value>
</data>
<data name="Component" xml:space="preserve">
<value>Component</value>
</data>
@ -573,16 +402,6 @@
<data name="Method_selection" xml:space="preserve">
<value>Test method selection</value>
</data>
<data name="Sensors" xml:space="preserve">
<value>Sensors</value>
</data>
<data name="Test_method" xml:space="preserve">
<value>Test method</value>
</data>
<data name="Volume_and_error_selection" xml:space="preserve">
<value>Volume and error limit selection</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Clear_results" xml:space="preserve">
<value>Clear results</value>
</data>
@ -598,24 +417,12 @@
<data name="Horizontally" xml:space="preserve">
<value>Horizontally</value>
</data>
<data name="Tests_are_columns" xml:space="preserve">
<value>Tests are columns</value>
</data>
<data name="Tests_are_rows" xml:space="preserve">
<value>Tests are rows</value>
</data>
<data name="Vertically" xml:space="preserve">
<value>Vertically</value>
</data>
<data name="Configuration" xml:space="preserve">
<value>Configuration</value>
</data>
<data name="Failed" xml:space="preserve">
<value>NOK</value>
</data>
<data name="Passed" xml:space="preserve">
<value>OK</value>
</data>
<data name="ClearBtnText" xml:space="preserve">
<value>Clear</value>
</data>
@ -625,36 +432,12 @@
<data name="Measuring_the_weight" xml:space="preserve">
<value>Measuring the weight</value>
</data>
<data name="Setting_the_flow" xml:space="preserve">
<value>Setting the flow</value>
</data>
<data name="Test_completed" xml:space="preserve">
<value>Test completed</value>
</data>
<data name="Test_preparation" xml:space="preserve">
<value>Test preparation</value>
</data>
<data name="Purging_i_n" xml:space="preserve">
<value>Purging ({0}: step {1}/{2})</value>
</data>
<data name="Emptying_i_n" xml:space="preserve">
<value>Emptying ({0}: step {1}/{2})</value>
</data>
<data name="Switching_flow_detection" xml:space="preserve">
<value>Switching flow detection</value>
</data>
<data name="Activity" xml:space="preserve">
<value>Activity</value>
</data>
<data name="Progress" xml:space="preserve">
<value>Progress</value>
</data>
<data name="String1" xml:space="preserve">
<value> </value>
</data>
<data name="Please_select_a_cycle_a_test_or_empty" xml:space="preserve">
<value>Please select a cycle, a test or empty</value>
</data>
<data name="Approval_info" xml:space="preserve">
<value>Approval info.</value>
</data>
@ -664,21 +447,12 @@
<data name="Producer" xml:space="preserve">
<value>Producer</value>
</data>
<data name="Qn" xml:space="preserve">
<value>Qn</value>
</data>
<data name="Water_meters" xml:space="preserve">
<value>Water meters</value>
</data>
<data name="Printer" xml:space="preserve">
<value>Printer</value>
</data>
<data name="Version" xml:space="preserve">
<value>Version</value>
</data>
<data name="Test_bench_number" xml:space="preserve">
<value>Test bench number</value>
</data>
<data name="nothing_to_configure" xml:space="preserve">
<value>&lt;nothing to configure&gt;</value>
</data>
@ -691,9 +465,6 @@
<data name="Question" xml:space="preserve">
<value>Question</value>
</data>
<data name="YesBtn" xml:space="preserve">
<value>Yes</value>
</data>
<data name="Bench_parameters" xml:space="preserve">
<value>Bench parameters</value>
</data>
@ -706,87 +477,24 @@
<data name="Database_type" xml:space="preserve">
<value>Database type</value>
</data>
<data name="Test_Bench_Databases_Specification" xml:space="preserve">
<value>Test Bench Databases Specification</value>
</data>
<data name="Test_bench_is_controlled_by_this_computer" xml:space="preserve">
<value>Test bench is controlled by this computer</value>
</data>
<data name="Test_bench_name" xml:space="preserve">
<value>Test bench name</value>
</data>
<data name="Test_connection" xml:space="preserve">
<value>Test connection</value>
</data>
<data name="Users_and_groups" xml:space="preserve">
<value>Users and groups</value>
</data>
<data name="Water_meter_data" xml:space="preserve">
<value>Water meter data</value>
</data>
<data name="Water_meter_types" xml:space="preserve">
<value>Water meter types</value>
</data>
<data name="Logging" xml:space="preserve">
<value>Logging</value>
</data>
<data name="Mode" xml:space="preserve">
<value>Mode</value>
</data>
<data name="Parameters" xml:space="preserve">
<value>Parameters</value>
</data>
<data name="Parent" xml:space="preserve">
<value>Parent</value>
</data>
<data name="Type" xml:space="preserve">
<value>Type</value>
</data>
<data name="Test_Bench_Components_Configuration" xml:space="preserve">
<value>Test Bench Components Configuration</value>
</data>
<data name="Transitions" xml:space="preserve">
<value>Transitions</value>
</data>
<data name="NewTabBtnText" xml:space="preserve">
<value>New Tab</value>
</data>
<data name="RemoveTabBtnText" xml:space="preserve">
<value>Remove Tab</value>
</data>
<data name="RenameTabBtnText" xml:space="preserve">
<value>Rename Tab</value>
</data>
<data name="New_transition_name" xml:space="preserve">
<value>New transition name</value>
</data>
<data name="PowerPct" xml:space="preserve">
<value>Power [%]</value>
</data>
<data name="ROI_Detection_in_Progress" xml:space="preserve">
<value>ROI Detection in Progress</value>
</data>
<data name="Detection_completed" xml:space="preserve">
<value>Detection completed</value>
</data>
<data name="Emergency_STOP" xml:space="preserve">
<value>Emergency STOP</value>
</data>
<data name="TransitionEnd_chdr" xml:space="preserve">
<value>Transition - End</value>
</data>
<data name="TransitionStart_chdr" xml:space="preserve">
<value>Transition - Start</value>
</data>
<data name="Starting_the_cameras" xml:space="preserve">
<value>Starting the cameras</value>
</data>
<data name="Test_start_sequence_i_n" xml:space="preserve">
<value>Test start ({0}: step {1}/{2})</value>
</data>
<data name="Test_stop_sequence_i_n" xml:space="preserve">
<value>Test stop ({0}: step {1}/{2})</value>
</data>
<data name="Add" xml:space="preserve">
<value>&amp;Add &gt;</value>
</data>
@ -799,84 +507,33 @@
<data name="Remove_all" xml:space="preserve">
<value>&lt;&lt; R&amp;emove all</value>
</data>
<data name="Selected_results" xml:space="preserve">
<value>Selected results:</value>
</data>
<data name="SupressWMTrills" xml:space="preserve">
<value>Supress WM trills</value>
</data>
<data name="Purge_bench_qm" xml:space="preserve">
<value>Fill the test bench with water?</value>
</data>
<data name="Message" xml:space="preserve">
<value>Message</value>
</data>
<data name="StartValve" xml:space="preserve">
<value>Start valve</value>
</data>
<data name="dflt" xml:space="preserve">
<value>dflt</value>
</data>
<data name="Stopping_flow_for_the_fixed_start" xml:space="preserve">
<value>Stopping flow before the fixed start test</value>
</data>
<data name="Water_Meter" xml:space="preserve">
<value>Water Meter</value>
</data>
<data name="Water_Meter_SNs_States" xml:space="preserve">
<value>Water Meter Serial Numbers ans States</value>
</data>
<data name="Water_Meter_States" xml:space="preserve">
<value>Water Meter States</value>
</data>
<data name="WMSN" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="WMState" xml:space="preserve">
<value>State [liter]</value>
</data>
<data name="Detection_failed" xml:space="preserve">
<value>Detection failed</value>
</data>
<data name="Camera_error" xml:space="preserve">
<value>Camera error</value>
</data>
<data name="Starting_system" xml:space="preserve">
<value>Starting the system</value>
</data>
<data name="remaining_time" xml:space="preserve">
<value>remaining time</value>
</data>
<data name="sec" xml:space="preserve">
<value>s</value>
</data>
<data name="Time2MassMsrmt_chdr" xml:space="preserve">
<value>T stop - mass msrmt. [s]</value>
</data>
<data name="LessBtnText" xml:space="preserve">
<value>Less</value>
</data>
<data name="MoreBtnText" xml:space="preserve">
<value>More</value>
</data>
<data name="Program_restart_is_required_to_apply_some_settings" xml:space="preserve">
<value>Program restart is required to apply some settings</value>
</data>
<data name="Changes_will_be_lost_Do_you_want_to_proceed" xml:space="preserve">
<value>Changes will be lost. Do you want to proceed?</value>
</data>
<data name="PID" xml:space="preserve">
<value>PID</value>
</data>
<data name="Flowmeter" xml:space="preserve">
<value>Flowmeter</value>
</data>
<data name="Part" xml:space="preserve">
<value>Part</value>
</data>
<data name="Timeout" xml:space="preserve">
<value>Timeout</value>
</data>
<data name="CombinedBtnText" xml:space="preserve">
<value>Combined</value>
</data>
@ -886,12 +543,6 @@
<data name="PrinterBtnText" xml:space="preserve">
<value>Printer</value>
</data>
<data name="ScreenBtnText" xml:space="preserve">
<value>Screen</value>
</data>
<data name="SingleBtnText" xml:space="preserve">
<value>Single</value>
</data>
<data name="Aux_Water_Meter" xml:space="preserve">
<value>Aux Water Meter</value>
</data>
@ -913,75 +564,27 @@
<data name="Protocol" xml:space="preserve">
<value>Protocol</value>
</data>
<data name="Qfall" xml:space="preserve">
<value>Qfall</value>
</data>
<data name="Qrise" xml:space="preserve">
<value>Qrise</value>
</data>
<data name="Serial_Number" xml:space="preserve">
<value>Serial Number</value>
</data>
<data name="State" xml:space="preserve">
<value>State</value>
</data>
<data name="Switching_Points" xml:space="preserve">
<value>Switching Points</value>
</data>
<data name="Aux_WM_SerialNr" xml:space="preserve">
<value>Aux. WM Serial Nr.</value>
</data>
<data name="Main_WM_SerialNr" xml:space="preserve">
<value>Main WM Serial Nr.</value>
</data>
<data name="Pump_power_pct" xml:space="preserve">
<value>Pump power [%]</value>
</data>
<data name="Adjustment_in_progress" xml:space="preserve">
<value>Adjustment in progress</value>
</data>
<data name="Error_pct" xml:space="preserve">
<value>Error [%]</value>
</data>
<data name="Starting_the_pump" xml:space="preserve">
<value>Starting the pump</value>
</data>
<data name="Setting_the_water_pressure" xml:space="preserve">
<value>Setting the water pressure</value>
</data>
<data name="PressureHi_bar" xml:space="preserve">
<value>PreasureHi [bar]</value>
</data>
<data name="PressureLo_bar" xml:space="preserve">
<value>PressureLo [bar]</value>
</data>
<data name="Pressure_hi_bar" xml:space="preserve">
<value>Pressure Hi [bar]</value>
</data>
<data name="Pressure_lo_bar" xml:space="preserve">
<value>Pressure Lo [bar]</value>
</data>
<data name="Pressure_selection" xml:space="preserve">
<value>Pressure Selection</value>
</data>
<data name="Duration_Leak_s" xml:space="preserve">
<value>Leak duration [s]</value>
</data>
<data name="Duration_PMax_s" xml:space="preserve">
<value>PMax duration [s]</value>
</data>
<data name="P_in_end" xml:space="preserve">
<value>P up end</value>
</data>
<data name="P_in_start" xml:space="preserve">
<value>P up start</value>
</data>
<data name="P_out_end" xml:space="preserve">
<value>P down end</value>
</data>
<data name="P_out_start" xml:space="preserve">
<value>P down start</value>
</data>
<data name="Closing_valve_Pump_off" xml:space="preserve">
<value>Closing input valve, switching the pump off</value>
</data>
@ -1003,27 +606,9 @@
<data name="Date_and_time_" xml:space="preserve">
<value>Date and time: </value>
</data>
<data name="Procedure_" xml:space="preserve">
<value>Procedure: </value>
</data>
<data name="Purchase_order_" xml:space="preserve">
<value>Purchase order: </value>
</data>
<data name="Tester_" xml:space="preserve">
<value>Tester: </value>
</data>
<data name="Page" xml:space="preserve">
<value>Page</value>
</data>
<data name="TimeFlow2Start_chdr" xml:space="preserve">
<value>T flow stab. - start [s]</value>
</data>
<data name="End" xml:space="preserve">
<value>End</value>
</data>
<data name="Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="AtTemperature_C" xml:space="preserve">
<value>@temperature [degC]</value>
</data>
@ -1036,9 +621,6 @@
<data name="Nr_meters_in_a_group" xml:space="preserve">
<value>Nr. meters in a group:</value>
</data>
<data name="Show_cycle_end_form" xml:space="preserve">
<value>Show cycle end form</value>
</data>
<data name="End_Condition" xml:space="preserve">
<value>End condition</value>
</data>
@ -1051,21 +633,12 @@
<data name="Main_" xml:space="preserve">
<value>Main:</value>
</data>
<data name="Qmin" xml:space="preserve">
<value>Qmin</value>
</data>
<data name="Qt" xml:space="preserve">
<value>Qt</value>
</data>
<data name="cold" xml:space="preserve">
<value>cold</value>
</data>
<data name="hot" xml:space="preserve">
<value>hot</value>
</data>
<data name="Water" xml:space="preserve">
<value>Water</value>
</data>
<data name="Product_name" xml:space="preserve">
<value>Product name</value>
</data>
@ -1084,36 +657,18 @@
<data name="Evaluate" xml:space="preserve">
<value>Evaluate</value>
</data>
<data name="Publish" xml:space="preserve">
<value>Publish</value>
</data>
<data name="Simultaneous_with_next_step" xml:space="preserve">
<value>Simultaneous with next step</value>
</data>
<data name="Simultaneous_with_previous_step" xml:space="preserve">
<value>Simultaneous with previous step</value>
</data>
<data name="iPerl_Communication_in_progress" xml:space="preserve">
<value>iPerl Communication in progress</value>
</data>
<data name="Language" xml:space="preserve">
<value>Language</value>
</data>
<data name="Test_bench_data" xml:space="preserve">
<value>Test bench data</value>
</data>
<data name="Available_Components_" xml:space="preserve">
<value>Available Components:</value>
</data>
<data name="Select_Component" xml:space="preserve">
<value>Select Component</value>
</data>
<data name="Database_Settings" xml:space="preserve">
<value>Database Settings</value>
</data>
<data name="Test_Benches_" xml:space="preserve">
<value>Test Benches:</value>
</data>
<data name="About_Test_Bench_Framework" xml:space="preserve">
<value>About Test Bench Framework</value>
</data>
@ -1123,34 +678,16 @@
<data name="CopyrightStr" xml:space="preserve">
<value>Copyright © 2013 - {0}</value>
</data>
<data name="VersionStr" xml:space="preserve">
<value>Version _VERSION_</value>
</data>
<data name="Edit_User" xml:space="preserve">
<value>Edit User</value>
</data>
<data name="Groups" xml:space="preserve">
<value>Groups</value>
</data>
<data name="User_Management" xml:space="preserve">
<value>User Management</value>
</data>
<data name="An_unhandled_error_occured" xml:space="preserve">
<value>An unhandled error occured</value>
</data>
<data name="IgnoreBtnText" xml:space="preserve">
<value>Ignore</value>
</data>
<data name="RetryBtnText" xml:space="preserve">
<value>Retry</value>
</data>
<data name="Procedure_0_added" xml:space="preserve">
<value>Procedure {0} added.</value>
</data>
<data name="Procedure_0_modified" xml:space="preserve">
<value>Procedure {0} modified.</value>
</data>
<data name="Revision" xml:space="preserve">
<value>Revision</value>
</data>
</root>

View File

@ -73,6 +73,32 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Filters\DateFilter.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Filters\DateFilter.Designer.cs">
<DependentUpon>DateFilter.cs</DependentUpon>
</Compile>
<Compile Include="Filters\Factory.cs" />
<Compile Include="Filters\IFilter.cs" />
<Compile Include="Filters\ProcedureFilter.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Filters\ProcedureFilter.Designer.cs">
<DependentUpon>ProcedureFilter.cs</DependentUpon>
</Compile>
<Compile Include="Filters\SerialNrFilter.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Filters\SerialNrFilter.Designer.cs">
<DependentUpon>SerialNrFilter.cs</DependentUpon>
</Compile>
<Compile Include="Forms\AddFilterDlg.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\AddFilterDlg.Designer.cs">
<DependentUpon>AddFilterDlg.cs</DependentUpon>
</Compile>
<Compile Include="Forms\DatabaseSettings.cs">
<SubType>Form</SubType>
</Compile>
@ -100,6 +126,7 @@
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="QueryFilters.cs" />
<Compile Include="RBrowserWnd.cs">
<SubType>Form</SubType>
</Compile>
@ -107,6 +134,24 @@
<DependentUpon>RBrowserWnd.cs</DependentUpon>
</Compile>
<Compile Include="Resources\Strings.Designer.cs" />
<Compile Include="ResultsBrowserWnd.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ResultsBrowserWnd.Designer.cs">
<DependentUpon>ResultsBrowserWnd.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="Filters\DateFilter.resx">
<DependentUpon>DateFilter.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Filters\ProcedureFilter.resx">
<DependentUpon>ProcedureFilter.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Filters\SerialNrFilter.resx">
<DependentUpon>SerialNrFilter.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\AddFilterDlg.resx">
<DependentUpon>AddFilterDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\DatabaseSettings.resx">
<DependentUpon>DatabaseSettings.cs</DependentUpon>
</EmbeddedResource>
@ -132,7 +177,11 @@
<EmbeddedResource Include="RBrowserWnd.resx">
<DependentUpon>RBrowserWnd.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Resources\Strings.de.resx" />
<EmbeddedResource Include="Resources\Strings.resx" />
<EmbeddedResource Include="ResultsBrowserWnd.resx">
<DependentUpon>ResultsBrowserWnd.cs</DependentUpon>
</EmbeddedResource>
<None Include="app.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>

View File

@ -0,0 +1,252 @@
namespace ResultsBrowser
{
partial class ResultsBrowserWnd
{
/// <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.vSplitContainer = new System.Windows.Forms.SplitContainer();
this.hSplitContainer = new System.Windows.Forms.SplitContainer();
this.filtersFlowLayoutPanel = new System.Windows.Forms.FlowLayoutPanel();
this.listBox1 = new System.Windows.Forms.ListBox();
this.settingsBtn = new System.Windows.Forms.Button();
this.saveQueryBtn = new System.Windows.Forms.Button();
this.loadQueryBtn = new System.Windows.Forms.Button();
this.execQueryBtn = new System.Windows.Forms.Button();
this.addFilterBtn = new System.Windows.Forms.Button();
this.benchesGroupBox = new System.Windows.Forms.GroupBox();
this.radioButton2 = new System.Windows.Forms.RadioButton();
this.radioButton3 = new System.Windows.Forms.RadioButton();
this.radioButton1 = new System.Windows.Forms.RadioButton();
((System.ComponentModel.ISupportInitialize)(this.vSplitContainer)).BeginInit();
this.vSplitContainer.Panel1.SuspendLayout();
this.vSplitContainer.Panel2.SuspendLayout();
this.vSplitContainer.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.hSplitContainer)).BeginInit();
this.hSplitContainer.Panel1.SuspendLayout();
this.hSplitContainer.Panel2.SuspendLayout();
this.hSplitContainer.SuspendLayout();
this.benchesGroupBox.SuspendLayout();
this.SuspendLayout();
//
// vSplitContainer
//
this.vSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
this.vSplitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.vSplitContainer.Location = new System.Drawing.Point(0, 0);
this.vSplitContainer.Name = "vSplitContainer";
//
// vSplitContainer.Panel1
//
this.vSplitContainer.Panel1.Controls.Add(this.hSplitContainer);
this.vSplitContainer.Panel1MinSize = 100;
//
// vSplitContainer.Panel2
//
this.vSplitContainer.Panel2.Controls.Add(this.settingsBtn);
this.vSplitContainer.Panel2.Controls.Add(this.saveQueryBtn);
this.vSplitContainer.Panel2.Controls.Add(this.loadQueryBtn);
this.vSplitContainer.Panel2.Controls.Add(this.execQueryBtn);
this.vSplitContainer.Panel2.Controls.Add(this.addFilterBtn);
this.vSplitContainer.Panel2.Controls.Add(this.benchesGroupBox);
this.vSplitContainer.Panel2MinSize = 100;
this.vSplitContainer.Size = new System.Drawing.Size(984, 712);
this.vSplitContainer.SplitterDistance = 840;
this.vSplitContainer.TabIndex = 0;
//
// hSplitContainer
//
this.hSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
this.hSplitContainer.Location = new System.Drawing.Point(0, 0);
this.hSplitContainer.Name = "hSplitContainer";
this.hSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// hSplitContainer.Panel1
//
this.hSplitContainer.Panel1.Controls.Add(this.filtersFlowLayoutPanel);
//
// hSplitContainer.Panel2
//
this.hSplitContainer.Panel2.Controls.Add(this.listBox1);
this.hSplitContainer.Size = new System.Drawing.Size(840, 712);
this.hSplitContainer.SplitterDistance = 280;
this.hSplitContainer.TabIndex = 0;
//
// filtersFlowLayoutPanel
//
this.filtersFlowLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.filtersFlowLayoutPanel.Location = new System.Drawing.Point(0, 0);
this.filtersFlowLayoutPanel.Name = "filtersFlowLayoutPanel";
this.filtersFlowLayoutPanel.Size = new System.Drawing.Size(840, 280);
this.filtersFlowLayoutPanel.TabIndex = 0;
//
// listBox1
//
this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.listBox1.FormattingEnabled = true;
this.listBox1.Location = new System.Drawing.Point(0, 0);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(840, 428);
this.listBox1.TabIndex = 0;
//
// settingsBtn
//
this.settingsBtn.Location = new System.Drawing.Point(8, 12);
this.settingsBtn.Name = "settingsBtn";
this.settingsBtn.Size = new System.Drawing.Size(125, 33);
this.settingsBtn.TabIndex = 0;
this.settingsBtn.Text = "Settings";
this.settingsBtn.UseVisualStyleBackColor = true;
this.settingsBtn.Click += new System.EventHandler(this.settingsBtn_Click);
//
// saveQueryBtn
//
this.saveQueryBtn.Location = new System.Drawing.Point(8, 129);
this.saveQueryBtn.Name = "saveQueryBtn";
this.saveQueryBtn.Size = new System.Drawing.Size(125, 33);
this.saveQueryBtn.TabIndex = 3;
this.saveQueryBtn.Text = "Save query";
this.saveQueryBtn.UseVisualStyleBackColor = true;
this.saveQueryBtn.Click += new System.EventHandler(this.saveQueryBtn_Click);
//
// loadQueryBtn
//
this.loadQueryBtn.Location = new System.Drawing.Point(8, 90);
this.loadQueryBtn.Name = "loadQueryBtn";
this.loadQueryBtn.Size = new System.Drawing.Size(125, 33);
this.loadQueryBtn.TabIndex = 2;
this.loadQueryBtn.Text = "Load query";
this.loadQueryBtn.UseVisualStyleBackColor = true;
this.loadQueryBtn.Click += new System.EventHandler(this.loadQueryBtn_Click);
//
// execQueryBtn
//
this.execQueryBtn.Location = new System.Drawing.Point(8, 280);
this.execQueryBtn.Name = "execQueryBtn";
this.execQueryBtn.Size = new System.Drawing.Size(125, 33);
this.execQueryBtn.TabIndex = 5;
this.execQueryBtn.Text = "Execute query";
this.execQueryBtn.UseVisualStyleBackColor = true;
this.execQueryBtn.Click += new System.EventHandler(this.execQueryBtn_Click);
//
// addFilterBtn
//
this.addFilterBtn.Location = new System.Drawing.Point(8, 51);
this.addFilterBtn.Name = "addFilterBtn";
this.addFilterBtn.Size = new System.Drawing.Size(125, 33);
this.addFilterBtn.TabIndex = 1;
this.addFilterBtn.Text = "Add filter";
this.addFilterBtn.UseVisualStyleBackColor = true;
this.addFilterBtn.Click += new System.EventHandler(this.addFilterBtn_Click);
//
// benchesGroupBox
//
this.benchesGroupBox.Controls.Add(this.radioButton2);
this.benchesGroupBox.Controls.Add(this.radioButton3);
this.benchesGroupBox.Controls.Add(this.radioButton1);
this.benchesGroupBox.Location = new System.Drawing.Point(8, 173);
this.benchesGroupBox.Name = "benchesGroupBox";
this.benchesGroupBox.Size = new System.Drawing.Size(125, 99);
this.benchesGroupBox.TabIndex = 4;
this.benchesGroupBox.TabStop = false;
this.benchesGroupBox.Text = "Test benches";
//
// radioButton2
//
this.radioButton2.AutoSize = true;
this.radioButton2.Location = new System.Drawing.Point(15, 44);
this.radioButton2.Name = "radioButton2";
this.radioButton2.Size = new System.Drawing.Size(85, 17);
this.radioButton2.TabIndex = 1;
this.radioButton2.TabStop = true;
this.radioButton2.Text = "radioButton2";
this.radioButton2.UseVisualStyleBackColor = true;
this.radioButton2.CheckedChanged += new System.EventHandler(this.radioButton2_CheckedChanged);
//
// radioButton3
//
this.radioButton3.AutoSize = true;
this.radioButton3.Location = new System.Drawing.Point(15, 67);
this.radioButton3.Name = "radioButton3";
this.radioButton3.Size = new System.Drawing.Size(85, 17);
this.radioButton3.TabIndex = 2;
this.radioButton3.TabStop = true;
this.radioButton3.Text = "radioButton3";
this.radioButton3.UseVisualStyleBackColor = true;
this.radioButton3.CheckedChanged += new System.EventHandler(this.radioButton3_CheckedChanged);
//
// radioButton1
//
this.radioButton1.AutoSize = true;
this.radioButton1.Location = new System.Drawing.Point(15, 21);
this.radioButton1.Name = "radioButton1";
this.radioButton1.Size = new System.Drawing.Size(85, 17);
this.radioButton1.TabIndex = 0;
this.radioButton1.TabStop = true;
this.radioButton1.Text = "radioButton1";
this.radioButton1.UseVisualStyleBackColor = true;
this.radioButton1.CheckedChanged += new System.EventHandler(this.radioButton1_CheckedChanged);
//
// ResultsBrowserWnd
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(984, 712);
this.Controls.Add(this.vSplitContainer);
this.Name = "ResultsBrowserWnd";
this.Text = "ResultsBrowserWnd";
this.Load += new System.EventHandler(this.ResultsBrowserWnd_Load);
this.vSplitContainer.Panel1.ResumeLayout(false);
this.vSplitContainer.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.vSplitContainer)).EndInit();
this.vSplitContainer.ResumeLayout(false);
this.hSplitContainer.Panel1.ResumeLayout(false);
this.hSplitContainer.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.hSplitContainer)).EndInit();
this.hSplitContainer.ResumeLayout(false);
this.benchesGroupBox.ResumeLayout(false);
this.benchesGroupBox.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer vSplitContainer;
private System.Windows.Forms.SplitContainer hSplitContainer;
private System.Windows.Forms.FlowLayoutPanel filtersFlowLayoutPanel;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.GroupBox benchesGroupBox;
private System.Windows.Forms.RadioButton radioButton3;
private System.Windows.Forms.RadioButton radioButton2;
private System.Windows.Forms.RadioButton radioButton1;
private System.Windows.Forms.Button saveQueryBtn;
private System.Windows.Forms.Button loadQueryBtn;
private System.Windows.Forms.Button execQueryBtn;
private System.Windows.Forms.Button addFilterBtn;
private System.Windows.Forms.Button settingsBtn;
}
}

View File

@ -0,0 +1,115 @@
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 ResultsBrowser.Filters;
using ResultsBrowser.Resources;
namespace ResultsBrowser
{
public partial class ResultsBrowserWnd : Form
{
QueryFilters queryFilters;
public ResultsBrowserWnd()
{
InitializeComponent();
}
private void ResultsBrowserWnd_Load(object sender, EventArgs e)
{
Localize();
}
void Localize()
{
}
private void settingsBtn_Click(object sender, EventArgs e)
{
}
private void addFilterBtn_Click(object sender, EventArgs e)
{
Forms.AddFilterDlg dlg = new Forms.AddFilterDlg();
if (dlg.ShowDialog() == DialogResult.OK && dlg.SelectedFilterName != null)
{
IFilter filter = Factory.GetFilter(dlg.SelectedFilterName);
filtersFlowLayoutPanel.Controls.Add(filter as UserControl);
}
}
private void loadQueryBtn_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
QueryFilters queryFilters = QueryFilters.Load(dlg.FileName);
filtersFlowLayoutPanel.Controls.Clear();
for (int i = 0; i < queryFilters.FilterNamesCount; i++)
{
IFilter filter = Factory.LoadFilter(queryFilters.FilterNames[i], queryFilters.FilterSettings[i]);
filtersFlowLayoutPanel.Controls.Add(filter as Control);
}
}
}
private void saveQueryBtn_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
int count = filtersFlowLayoutPanel.Controls.Count;
QueryFilters queryFilters = new QueryFilters(count);
try
{
for (int i = 0; i < count; i++)
{
IFilter filter = (filtersFlowLayoutPanel.Controls[i] as IFilter);
queryFilters.FilterNames[i] = filter.GetThisFilterName();
sb.Clear();
filter.UI2Data();
filter.Save(sb);
queryFilters.FilterSettings[i] = sb.ToString();
}
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
SaveFileDialog dlg = new SaveFileDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
queryFilters.Save(dlg.FileName);
}
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
}
private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
}
private void execQueryBtn_Click(object sender, EventArgs e)
{
}
}
}

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

@ -31,60 +31,60 @@ namespace TBF
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SelectComponentClassDlg));
this.availCmpntsLstBox = new System.Windows.Forms.ListBox();
this.availableComponentsLabel = new System.Windows.Forms.Label();
this.cancelButton = new System.Windows.Forms.Button();
this.okButton = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// availCmpntsLstBox
//
resources.ApplyResources(this.availCmpntsLstBox, "availCmpntsLstBox");
this.availCmpntsLstBox.FormattingEnabled = true;
this.availCmpntsLstBox.Name = "availCmpntsLstBox";
this.availCmpntsLstBox.DoubleClick += new System.EventHandler(this.availCmpntsLstBox_DoubleClick);
//
// availableComponentsLabel
//
resources.ApplyResources(this.availableComponentsLabel, "availableComponentsLabel");
this.availableComponentsLabel.ImageKey = global::TBF.Resources.Strings.Closing_the_tank;
this.availableComponentsLabel.Name = "availableComponentsLabel";
//
// cancelButton
//
resources.ApplyResources(this.cancelButton, "cancelButton");
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelButton.ImageKey = global::TBF.Resources.Strings.Closing_the_tank;
this.cancelButton.Name = "cancelButton";
this.cancelButton.UseVisualStyleBackColor = true;
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
//
// okButton
//
resources.ApplyResources(this.okButton, "okButton");
this.okButton.ImageKey = global::TBF.Resources.Strings.Closing_the_tank;
this.okButton.Name = "okButton";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// SelectComponentClassDlg
//
this.AcceptButton = this.okButton;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.cancelButton;
this.Controls.Add(this.cancelButton);
this.Controls.Add(this.okButton);
this.Controls.Add(this.availableComponentsLabel);
this.Controls.Add(this.availCmpntsLstBox);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SelectComponentClassDlg";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Load += new System.EventHandler(this.SelectComponentClassDlg_Load);
this.ResumeLayout(false);
this.PerformLayout();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SelectComponentClassDlg));
this.availCmpntsLstBox = new System.Windows.Forms.ListBox();
this.availableComponentsLabel = new System.Windows.Forms.Label();
this.cancelButton = new System.Windows.Forms.Button();
this.okButton = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// availCmpntsLstBox
//
this.availCmpntsLstBox.FormattingEnabled = true;
resources.ApplyResources(this.availCmpntsLstBox, "availCmpntsLstBox");
this.availCmpntsLstBox.Name = "availCmpntsLstBox";
this.availCmpntsLstBox.DoubleClick += new System.EventHandler(this.availCmpntsLstBox_DoubleClick);
//
// availableComponentsLabel
//
resources.ApplyResources(this.availableComponentsLabel, "availableComponentsLabel");
this.availableComponentsLabel.ImageKey = global::TBF.Resources.Strings.Closing_the_tank;
this.availableComponentsLabel.Name = "availableComponentsLabel";
//
// cancelButton
//
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelButton.ImageKey = global::TBF.Resources.Strings.Closing_the_tank;
resources.ApplyResources(this.cancelButton, "cancelButton");
this.cancelButton.Name = "cancelButton";
this.cancelButton.UseVisualStyleBackColor = true;
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
//
// okButton
//
this.okButton.ImageKey = global::TBF.Resources.Strings.Closing_the_tank;
resources.ApplyResources(this.okButton, "okButton");
this.okButton.Name = "okButton";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// SelectComponentClassDlg
//
this.AcceptButton = this.okButton;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.cancelButton;
this.Controls.Add(this.cancelButton);
this.Controls.Add(this.okButton);
this.Controls.Add(this.availableComponentsLabel);
this.Controls.Add(this.availCmpntsLstBox);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SelectComponentClassDlg";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Load += new System.EventHandler(this.SelectComponentClassDlg_Load);
this.ResumeLayout(false);
this.PerformLayout();
}

View File

@ -117,74 +117,73 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<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;cancelButton.Name" xml:space="preserve">
<value>cancelButton</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="&gt;&gt;okButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;availableComponentsLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>99, 25</value>
</data>
<data name="availableComponentsLabel.Text" xml:space="preserve">
<value>Available Components:</value>
</data>
<data name="&gt;&gt;okButton.Name" xml:space="preserve">
<value>okButton</value>
</data>
<data name="availableComponentsLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>115, 13</value>
</data>
<data name="availCmpntsLstBox.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 34</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>
<data name="&gt;&gt;availableComponentsLabel.ZOrder" xml:space="preserve">
<value>2</value>
<data name="availCmpntsLstBox.Size" type="System.Drawing.Size, System.Drawing">
<value>288, 264</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="cancelButton.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
<data name="availCmpntsLstBox.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;availCmpntsLstBox.Name" xml:space="preserve">
<value>availCmpntsLstBox</value>
</data>
<data name="availCmpntsLstBox.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>200, 310</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>311, 347</value>
</data>
<data name="&gt;&gt;availCmpntsLstBox.Type" xml:space="preserve">
<value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
<data name="&gt;&gt;availCmpntsLstBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;availCmpntsLstBox.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="availableComponentsLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="availableComponentsLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 9</value>
</data>
<data name="availableComponentsLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>115, 13</value>
</data>
<data name="availableComponentsLabel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="availableComponentsLabel.Text" xml:space="preserve">
<value>Available Components:</value>
</data>
<data name="&gt;&gt;availableComponentsLabel.Name" xml:space="preserve">
<value>availableComponentsLabel</value>
</data>
<data name="&gt;&gt;availableComponentsLabel.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;availableComponentsLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;availableComponentsLabel.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>200, 310</value>
</data>
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>99, 25</value>
</data>
<data name="cancelButton.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>&amp;Cancel</value>
</data>
<data name="availableComponentsLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<data name="&gt;&gt;cancelButton.Name" xml:space="preserve">
<value>cancelButton</value>
</data>
<data name="&gt;&gt;cancelButton.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;cancelButton.Parent" xml:space="preserve">
<value>$this</value>
@ -195,46 +194,47 @@
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>95, 310</value>
</data>
<data name="&gt;&gt;availCmpntsLstBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="okButton.Text" xml:space="preserve">
<value>&amp;OK</value>
</data>
<data name="availCmpntsLstBox.Size" type="System.Drawing.Size, System.Drawing">
<value>288, 264</value>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>99, 25</value>
</data>
<data name="okButton.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>99, 25</value>
<data name="okButton.Text" xml:space="preserve">
<value>&amp;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;availableComponentsLabel.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;availCmpntsLstBox.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="availableComponentsLabel.TabIndex" type="System.Int32, mscorlib">
<data name="&gt;&gt;okButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;availableComponentsLabel.Name" xml:space="preserve">
<value>availableComponentsLabel</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Select Component</value>
</data>
<data name="&gt;&gt;cancelButton.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;$this.Name" xml:space="preserve">
<value>SelectComponentClassDlg</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.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>311, 347</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Select Component</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SelectComponentClassDlg</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>