diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs
index 98909b111..50a63987f 100644
--- a/TBF/Properties/AssemblyInfo.cs
+++ b/TBF/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("2.30.1980.0")]
-[assembly: AssemblyFileVersion("2.30.1980.0")]
+[assembly: AssemblyVersion("2.30.1982.0")]
+[assembly: AssemblyFileVersion("2.30.1982.0")]
diff --git a/TBF/Resources/Strings.Designer.cs b/TBF/Resources/Strings.Designer.cs
index d1e40118b..776841344 100644
--- a/TBF/Resources/Strings.Designer.cs
+++ b/TBF/Resources/Strings.Designer.cs
@@ -357,6 +357,15 @@ namespace TBF.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to any profile.
+ ///
+ internal static string any_profile {
+ get {
+ return ResourceManager.GetString("any_profile", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Approval.
///
@@ -3264,6 +3273,15 @@ namespace TBF.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to no profile.
+ ///
+ internal static string no_profile {
+ get {
+ return ResourceManager.GetString("no_profile", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to No results to print.
///
diff --git a/TBF/Resources/Strings.resx b/TBF/Resources/Strings.resx
index 4afe8863d..d65f344d7 100644
--- a/TBF/Resources/Strings.resx
+++ b/TBF/Resources/Strings.resx
@@ -2314,4 +2314,10 @@
Test {0} config. error : {1} is missing
+
+ any profile
+
+
+ no profile
+
\ No newline at end of file
diff --git a/TBF/UI/Procedures/ProceduresCtrl.Designer.cs b/TBF/UI/Procedures/ProceduresCtrl.Designer.cs
index e4b90a639..ea2dfbba4 100644
--- a/TBF/UI/Procedures/ProceduresCtrl.Designer.cs
+++ b/TBF/UI/Procedures/ProceduresCtrl.Designer.cs
@@ -38,6 +38,8 @@
this.q3ComboBox = new System.Windows.Forms.ComboBox();
this.dnComboBox = new System.Windows.Forms.ComboBox();
this.listViewEx = new Common.Forms.ListViewEx();
+ this.profileLabel = new System.Windows.Forms.Label();
+ this.profileComboBox = new System.Windows.Forms.ComboBox();
((System.ComponentModel.ISupportInitialize)(this.filtersSplitContainer)).BeginInit();
this.filtersSplitContainer.Panel1.SuspendLayout();
this.filtersSplitContainer.Panel2.SuspendLayout();
@@ -54,6 +56,8 @@
//
// filtersSplitContainer.Panel1
//
+ this.filtersSplitContainer.Panel1.Controls.Add(this.profileLabel);
+ this.filtersSplitContainer.Panel1.Controls.Add(this.profileComboBox);
this.filtersSplitContainer.Panel1.Controls.Add(this.producerLabel);
this.filtersSplitContainer.Panel1.Controls.Add(this.mclassLabel);
this.filtersSplitContainer.Panel1.Controls.Add(this.q3Label);
@@ -66,14 +70,14 @@
// filtersSplitContainer.Panel2
//
this.filtersSplitContainer.Panel2.Controls.Add(this.listViewEx);
- this.filtersSplitContainer.Size = new System.Drawing.Size(600, 400);
+ this.filtersSplitContainer.Size = new System.Drawing.Size(800, 400);
this.filtersSplitContainer.SplitterDistance = 40;
this.filtersSplitContainer.TabIndex = 2;
//
// producerLabel
//
this.producerLabel.AutoSize = true;
- this.producerLabel.Location = new System.Drawing.Point(381, 15);
+ this.producerLabel.Location = new System.Drawing.Point(581, 15);
this.producerLabel.Name = "producerLabel";
this.producerLabel.Size = new System.Drawing.Size(50, 13);
this.producerLabel.TabIndex = 7;
@@ -82,7 +86,7 @@
// mclassLabel
//
this.mclassLabel.AutoSize = true;
- this.mclassLabel.Location = new System.Drawing.Point(257, 15);
+ this.mclassLabel.Location = new System.Drawing.Point(457, 15);
this.mclassLabel.Name = "mclassLabel";
this.mclassLabel.Size = new System.Drawing.Size(32, 13);
this.mclassLabel.TabIndex = 6;
@@ -91,7 +95,7 @@
// q3Label
//
this.q3Label.AutoSize = true;
- this.q3Label.Location = new System.Drawing.Point(125, 15);
+ this.q3Label.Location = new System.Drawing.Point(325, 15);
this.q3Label.Name = "q3Label";
this.q3Label.Size = new System.Drawing.Size(40, 13);
this.q3Label.TabIndex = 5;
@@ -100,7 +104,7 @@
// dnLabel
//
this.dnLabel.AutoSize = true;
- this.dnLabel.Location = new System.Drawing.Point(12, 15);
+ this.dnLabel.Location = new System.Drawing.Point(212, 15);
this.dnLabel.Name = "dnLabel";
this.dnLabel.Size = new System.Drawing.Size(23, 13);
this.dnLabel.TabIndex = 4;
@@ -109,7 +113,7 @@
// producerComboBox
//
this.producerComboBox.FormattingEnabled = true;
- this.producerComboBox.Location = new System.Drawing.Point(437, 12);
+ this.producerComboBox.Location = new System.Drawing.Point(637, 12);
this.producerComboBox.Name = "producerComboBox";
this.producerComboBox.Size = new System.Drawing.Size(133, 21);
this.producerComboBox.TabIndex = 3;
@@ -119,7 +123,7 @@
// mclassComboBox
//
this.mclassComboBox.FormattingEnabled = true;
- this.mclassComboBox.Location = new System.Drawing.Point(295, 12);
+ this.mclassComboBox.Location = new System.Drawing.Point(495, 12);
this.mclassComboBox.Name = "mclassComboBox";
this.mclassComboBox.Size = new System.Drawing.Size(72, 21);
this.mclassComboBox.TabIndex = 2;
@@ -129,7 +133,7 @@
// q3ComboBox
//
this.q3ComboBox.FormattingEnabled = true;
- this.q3ComboBox.Location = new System.Drawing.Point(171, 12);
+ this.q3ComboBox.Location = new System.Drawing.Point(371, 12);
this.q3ComboBox.Name = "q3ComboBox";
this.q3ComboBox.Size = new System.Drawing.Size(72, 21);
this.q3ComboBox.TabIndex = 1;
@@ -139,7 +143,7 @@
// dnComboBox
//
this.dnComboBox.FormattingEnabled = true;
- this.dnComboBox.Location = new System.Drawing.Point(41, 12);
+ this.dnComboBox.Location = new System.Drawing.Point(241, 12);
this.dnComboBox.Name = "dnComboBox";
this.dnComboBox.Size = new System.Drawing.Size(72, 21);
this.dnComboBox.TabIndex = 0;
@@ -155,7 +159,7 @@
this.listViewEx.GridLines = true;
this.listViewEx.Location = new System.Drawing.Point(0, 0);
this.listViewEx.Name = "listViewEx";
- this.listViewEx.Size = new System.Drawing.Size(600, 356);
+ this.listViewEx.Size = new System.Drawing.Size(800, 356);
this.listViewEx.TabIndex = 0;
this.listViewEx.UseCompatibleStateImageBehavior = false;
this.listViewEx.View = System.Windows.Forms.View.Details;
@@ -163,13 +167,32 @@
this.listViewEx.SelectedIndexChanged += new System.EventHandler(this.listViewEx_SelectedIndexChanged);
this.listViewEx.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listViewEx_MouseDoubleClick);
//
+ // profileLabel
+ //
+ this.profileLabel.AutoSize = true;
+ this.profileLabel.Location = new System.Drawing.Point(12, 15);
+ this.profileLabel.Name = "profileLabel";
+ this.profileLabel.Size = new System.Drawing.Size(36, 13);
+ this.profileLabel.TabIndex = 9;
+ this.profileLabel.Text = "Profile";
+ //
+ // profileComboBox
+ //
+ this.profileComboBox.FormattingEnabled = true;
+ this.profileComboBox.Location = new System.Drawing.Point(68, 12);
+ this.profileComboBox.Name = "profileComboBox";
+ this.profileComboBox.Size = new System.Drawing.Size(133, 21);
+ this.profileComboBox.TabIndex = 8;
+ this.profileComboBox.SelectedIndexChanged += new System.EventHandler(this.profileComboBox_SelectedIndexChanged);
+ this.profileComboBox.TextChanged += new System.EventHandler(this.profileComboBox_TextChanged);
+ //
// ProceduresCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.filtersSplitContainer);
this.Name = "ProceduresCtrl";
- this.Size = new System.Drawing.Size(600, 400);
+ this.Size = new System.Drawing.Size(800, 400);
this.filtersSplitContainer.Panel1.ResumeLayout(false);
this.filtersSplitContainer.Panel1.PerformLayout();
this.filtersSplitContainer.Panel2.ResumeLayout(false);
@@ -191,5 +214,7 @@
private System.Windows.Forms.ComboBox q3ComboBox;
private System.Windows.Forms.ComboBox dnComboBox;
private Common.Forms.ListViewEx listViewEx;
+ private System.Windows.Forms.Label profileLabel;
+ private System.Windows.Forms.ComboBox profileComboBox;
}
}
diff --git a/TBF/UI/Procedures/ProceduresCtrl.cs b/TBF/UI/Procedures/ProceduresCtrl.cs
index fc037072a..c22fea169 100644
--- a/TBF/UI/Procedures/ProceduresCtrl.cs
+++ b/TBF/UI/Procedures/ProceduresCtrl.cs
@@ -1,5 +1,5 @@
///
-/// Copyright (c) 2020 Sensus Slovensko a.s.
+/// Copyright (c) 2020-2022 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
@@ -42,7 +42,7 @@ namespace TBF.UI.Procedures
public bool Unlocked { get { return unlocked; } } /// read only
bool unlocked;
-
+ string selectedProfile;
float selectedDN;
float selectedQ3;
string selectedMClass;
@@ -77,21 +77,37 @@ namespace TBF.UI.Procedures
errorFlagsCmpnt = null;
ToBeRemovedProcedures = new List();
- dnComboBox.Text = Strings.any;
- dnComboBox.Items.Add(Strings.any);
+ /// Profile
+ selectedProfile = null;
+ ComboBox cb = profileComboBox;
+ cb.Items.Add(Strings.any);
+ cb.Items.Add(Strings.no_profile);
+ cb.Items.Add(Strings.any_profile);
+ cb.Text = cb.Items[0].ToString();
+
+ /// DN
selectedDN = 0;
+ cb = dnComboBox;
+ cb.Items.Add(Strings.any);
+ cb.Text = cb.Items[0].ToString();
- q3ComboBox.Text = Strings.any;
- q3ComboBox.Items.Add(Strings.any);
+ /// Q3 / Qn
selectedQ3 = 0;
+ cb = q3ComboBox;
+ cb.Items.Add(Strings.any);
+ cb.Text = cb.Items[0].ToString();
- mclassComboBox.Text = Strings.any;
- mclassComboBox.Items.Add(Strings.any);
+ /// Metrological class
selectedMClass = null;
+ cb = mclassComboBox;
+ cb.Items.Add(Strings.any);
+ cb.Text = cb.Items[0].ToString();
- producerComboBox.Text = Strings.any;
- producerComboBox.Items.Add(Strings.any);
+ /// Producer
selectedProducer = null;
+ cb = producerComboBox;
+ cb.Items.Add(Strings.any);
+ cb.Text = cb.Items[0].ToString();
moreContent = MoreContent.Description;
}
@@ -145,7 +161,7 @@ namespace TBF.UI.Procedures
bool ReloadProcedures()
{
- bool isFirstTime = AllProcedures == null;
+ bool isFirstTime = (AllProcedures == null);
try
{
@@ -180,6 +196,10 @@ namespace TBF.UI.Procedures
if (isFirstTime)
{
+ if (!string.IsNullOrEmpty(proc.AltProcName) && !profileComboBox.Items.Contains(proc.AltProcName))
+ {
+ profileComboBox.Items.Add(proc.AltProcName);
+ }
if (!dnComboBox.Items.Contains(wmParams.DN.ToString())) dnComboBox.Items.Add(wmParams.DN.ToString());
if (!q3ComboBox.Items.Contains(wmParams.Qn.ToString())) q3ComboBox.Items.Add(wmParams.Qn.ToString());
if (!mclassComboBox.Items.Contains(wmParams.MetrologicalClass)) mclassComboBox.Items.Add(wmParams.MetrologicalClass);
@@ -216,10 +236,14 @@ namespace TBF.UI.Procedures
{
foreach (var proc in AllProcedures)
{
- if ((selectedDN == 0 || selectedDN == proc.DN) &&
+ if ((selectedProfile == null ||
+ (selectedProfile == Strings.no_profile && string.IsNullOrEmpty(proc.AltProcName)) ||
+ (selectedProfile == Strings.any_profile && !string.IsNullOrEmpty(proc.AltProcName)) ||
+ selectedProfile == proc.AltProcName) &&
+ (selectedDN == 0 || selectedDN == proc.DN) &&
(selectedQ3 == 0 || selectedQ3 == proc.Qn) &&
- ((selectedMClass == null) || (selectedMClass == proc.MClass)) &&
- ((selectedProducer == null) || (selectedProducer == proc.Producer)))
+ (selectedMClass == null || selectedMClass == proc.MClass) &&
+ (selectedProducer == null || selectedProducer == proc.Producer))
{
Procedures.Add(proc);
}
@@ -885,6 +909,17 @@ namespace TBF.UI.Procedures
return usedNames;
}
+ private void profileComboBox_SelectedIndexChanged(object sender, EventArgs e) { UpdateSelectedProfile(); }
+ private void profileComboBox_TextChanged(object sender, EventArgs e) { UpdateSelectedProfile(); }
+ ///
+ void UpdateSelectedProfile()
+ {
+ //selectedProfile = ... TODO
+ selectedProfile = (profileComboBox.Text != Strings.any) ? profileComboBox.Text : null;
+ RedrawAll();
+ listViewEx_SelectedIndexChanged(null, null);
+ }
+
private void dnComboBox_SelectedIndexChanged(object sender, EventArgs e) { UpdateSelectedDN(); }
private void dnComboBox_TextChanged(object sender, EventArgs e) { UpdateSelectedDN(); }
///
@@ -929,7 +964,7 @@ namespace TBF.UI.Procedures
private void listViewEx_SelectedIndexChanged(object sender, EventArgs e)
{
- bool isFilterAny = (selectedDN == 0) && (selectedQ3 == 0) && (selectedMClass == null) && (selectedProducer == null);
+ bool isFilterAny = (selectedProfile == null) && (selectedDN == 0) && (selectedQ3 == 0) && (selectedMClass == null) && (selectedProducer == null);
if (parent != null) parent.SelectedIndexChanged(listViewEx, isFilterAny);
}
@@ -944,6 +979,7 @@ namespace TBF.UI.Procedures
Tests,
Writers,
Printers,
+ Profile,
#if ORACLE_DB
Oracle,
#endif
@@ -973,6 +1009,9 @@ namespace TBF.UI.Procedures
case MoreContent.Printers:
listViewEx.Columns[(int)Column.More].Text = "Printers";
break;
+ case MoreContent.Profile:
+ listViewEx.Columns[(int)Column.More].Text = "Profile";
+ break;
#if ORACLE_DB
case MoreContent.Oracle:
listViewEx.Columns[(int)Column.More].Text = "Oracle";
@@ -1039,6 +1078,10 @@ namespace TBF.UI.Procedures
foreach (var p in printers) { sb.Append(p); sb.Append(" "); }
}
break;
+
+ case MoreContent.Profile:
+ return string.IsNullOrEmpty(procedure.AltProcName) ? string.Empty : procedure.AltProcName;
+
#if ORACLE_DB
case MoreContent.Oracle:
if (!string.IsNullOrEmpty(procedure.ResultsWriter) && procedure.ResultsWriter.Contains("Sensus-Oracle-DB"))