C2026-041-invisible-position-changes-as-differences #807
No files matched your search
@@ -30,6 +30,7 @@
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.cbUseTruncatedData = new System.Windows.Forms.CheckBox();
|
||||
this.btnUC = new System.Windows.Forms.Button();
|
||||
this.cbCaseSensitive = new System.Windows.Forms.CheckBox();
|
||||
this.cbFile2 = new System.Windows.Forms.ComboBox();
|
||||
@@ -72,6 +73,7 @@
|
||||
//
|
||||
this.panel1.Controls.Add(this.btnUC);
|
||||
this.panel1.Controls.Add(this.cbCaseSensitive);
|
||||
this.panel1.Controls.Add(this.cbUseTruncatedData);
|
||||
this.panel1.Controls.Add(this.cbFile2);
|
||||
this.panel1.Controls.Add(this.cbFile1);
|
||||
this.panel1.Controls.Add(this.tbSearch);
|
||||
@@ -87,6 +89,17 @@
|
||||
this.panel1.Size = new System.Drawing.Size(707, 80);
|
||||
this.panel1.TabIndex = 0;
|
||||
//
|
||||
// cbUseTruncatedData
|
||||
//
|
||||
this.cbUseTruncatedData.AutoSize = true;
|
||||
this.cbUseTruncatedData.Location = new System.Drawing.Point(456, 56);
|
||||
this.cbUseTruncatedData.Name = "cbUseTruncatedData";
|
||||
this.cbUseTruncatedData.Size = new System.Drawing.Size(123, 17);
|
||||
this.cbUseTruncatedData.TabIndex = 11;
|
||||
this.cbUseTruncatedData.Text = "Use Truncated Data";
|
||||
this.tt.SetToolTip(this.cbUseTruncatedData, "Set the Search to be Case Sensitive\r\nUppercase and Lowercase will not match");
|
||||
this.cbUseTruncatedData.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnUC
|
||||
//
|
||||
this.btnUC.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
@@ -263,7 +276,7 @@
|
||||
this.lbProcedures.FormattingEnabled = true;
|
||||
this.lbProcedures.Location = new System.Drawing.Point(0, 0);
|
||||
this.lbProcedures.Name = "lbProcedures";
|
||||
this.lbProcedures.Size = new System.Drawing.Size(707, 25);
|
||||
this.lbProcedures.Size = new System.Drawing.Size(150, 46);
|
||||
this.lbProcedures.TabIndex = 1;
|
||||
|
mschill marked this conversation as resolved
Outdated
|
||||
this.tt.SetToolTip(this.lbProcedures, "Procedures withDifferences or Search Text");
|
||||
this.lbProcedures.SelectedIndexChanged += new System.EventHandler(this.lbProcedures_SelectedIndexChanged);
|
||||
@@ -381,6 +394,7 @@
|
||||
private System.Windows.Forms.ComboBox cbFile2;
|
||||
private System.Windows.Forms.ComboBox cbFile1;
|
||||
private System.Windows.Forms.CheckBox cbCaseSensitive;
|
||||
private System.Windows.Forms.CheckBox cbUseTruncatedData;
|
||||
private System.Windows.Forms.Button btnUC;
|
||||
private System.Windows.Forms.ToolTip tt;
|
||||
}
|
||||
|
||||
@@ -708,8 +708,16 @@ namespace Baseline
|
||||
lbResults1.Items.Clear();
|
||||
lbResults2.Items.Clear();
|
||||
MyStatus = "Searching...";
|
||||
FindFiles fnd;
|
||||
// Perform code to find DebugMeta files with diffences
|
||||
FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt",MyIgnore);
|
||||
if (cbUseTruncatedData.Checked)
|
||||
{
|
||||
fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta_Truncate.txt", MyIgnore);
|
||||
|
mschill marked this conversation as resolved
Outdated
mschill
commented
Not sure this works as intended. If not checked is fine but if checked should use "DebugMeta_Truncate.txt" if found - if not found should use "DebugMeta.txt" Not sure this works as intended. If not checked is fine but if checked should use "DebugMeta_Truncate.txt" if found - if not found should use "DebugMeta.txt"
mschill
commented
May need further changes --- what if (for example): cbFile1.Text was ran the old way so it only has a DebugMeta.txt May need further changes --- what if (for example):
cbFile1.Text was ran the old way so it only has a DebugMeta.txt
but cbFile2.Text has a "DebugMeta_Truncate.txt"?
mschill
commented
This is still an open item as of 8/26 This is still an open item as of 8/26
|
||||
}
|
||||
else
|
||||
{
|
||||
fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", MyIgnore);
|
||||
}
|
||||
lbDifferent.DataSource = fnd;
|
||||
lbDifferent.DisplayMember = "File1";
|
||||
MyStatus = string.Format("{0} Differences Found", fnd.Count);
|
||||
@@ -730,10 +738,19 @@ namespace Baseline
|
||||
lbDifferent.Items.Clear();
|
||||
lbResults1.Items.Clear();
|
||||
lbResults2.Items.Clear();
|
||||
FindFiles fnd;
|
||||
MyStatus = "Searching...";
|
||||
//Perform Search
|
||||
FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", tbSearch.Text, SearchType.Contains, cbCaseSensitive.Checked);
|
||||
if (cbUseTruncatedData.Checked)
|
||||
{
|
||||
fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta_Truncate.txt", tbSearch.Text, SearchType.Contains, cbCaseSensitive.Checked);
|
||||
}
|
||||
else
|
||||
{
|
||||
fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", tbSearch.Text, SearchType.Contains, cbCaseSensitive.Checked);
|
||||
}
|
||||
lbDifferent.DataSource = fnd;
|
||||
|
||||
lbDifferent.DisplayMember = "File1";
|
||||
MyStatus = string.Format("{0} Differences Found", fnd.Count);
|
||||
}
|
||||
@@ -814,6 +831,7 @@ namespace Baseline
|
||||
CompareOneFile(ff.File1, ff.File2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
public enum SearchType
|
||||
{
|
||||
|
||||
@@ -120,9 +120,6 @@
|
||||
<metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>306, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>306, 17</value>
|
||||
</metadata>
|
||||
<metadata name="fbd.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
using DevComponents.DotNetBar;
|
||||
using Org.BouncyCastle.Utilities;
|
||||
|
mschill marked this conversation as resolved
Outdated
jjenko
commented
Looks like Visual Studio was trying to be "helpful". I don't think BouncyCastle is needed. Looks like Visual Studio was trying to be "helpful". I don't think BouncyCastle is needed.
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using System.Net.NetworkInformation;
|
||||
|
mschill marked this conversation as resolved
Outdated
jjenko
commented
is System.Net.NetworkInformation needed? is System.Net.NetworkInformation needed?
mschill
commented
Agreed should be removing unnecessary usings. Agreed should be removing unnecessary usings.
mschill
commented
What is DevComponents.DotNetBar needed for? What is DevComponents.DotNetBar needed for?
mschill
commented
This was removed but it looks like another unneeded using was added. This is still an open item as of 8/26 This was removed but it looks like another unneeded using was added. This is still an open item as of 8/26
plarsen
commented
Which using are you referring to? Which using are you referring to?
mschill
commented
From the above - it looks like you added: that being said, in VIsual Studio, should be clicking on the side item and selecting remove unnecessary usings. I will forward the emails related to this / the Technical Debt cleanup From the above - it looks like you added:
using System.Windows.Forms;
to
[PROMS/Volian.Base.Library/DebugPrint.cs]
that being said, in VIsual Studio, should be clicking on the side item and selecting remove unnecessary usings. I will forward the emails related to this / the Technical Debt cleanup
|
||||
using System.Text;
|
||||
|
||||
namespace Volian.Base.Library
|
||||
{
|
||||
@@ -148,16 +151,86 @@ namespace Volian.Base.Library
|
||||
public static class BaselineMetaFile
|
||||
{
|
||||
private static DebugPrint _MyDebugPrint = new DebugPrint();
|
||||
public static void Open(string fileName)
|
||||
{ _MyDebugPrint.Open(fileName); }
|
||||
private static DebugPrint _MyDebugPrint_Truncated = new DebugPrint();
|
||||
public static void Open(string fileName)
|
||||
{ _MyDebugPrint.Open(fileName);
|
||||
_MyDebugPrint_Truncated.Open(fileName.Replace(".txt", "_Truncated.txt"));
|
||||
}
|
||||
public static void Close()
|
||||
{ _MyDebugPrint.Close(); }
|
||||
{ _MyDebugPrint.Close();
|
||||
_MyDebugPrint_Truncated.Close(); }
|
||||
public static void Write(string format, params object[] args)
|
||||
|
mschill marked this conversation as resolved
mschill
commented
Write should be removed - it is not called from anywhere. Write should be removed - it is not called from anywhere.
|
||||
{ _MyDebugPrint.Write(format, args); }
|
||||
{
|
||||
if (args.Length > 8)
|
||||
{
|
||||
if (args[args.GetUpperBound(0)] == "truncate_false" || args[args.GetUpperBound(0)] == "truncate_true") // if there is a 9th element test the value for truncated data.
|
||||
{
|
||||
int myvalue = args.GetUpperBound(0);
|
||||
// test and save untruncated and truncated version of the data.
|
||||
if (args[args.GetUpperBound(0)] == "truncate_false")// when untruncated data is being saved
|
||||
{
|
||||
_MyDebugPrint.Write(format, args);
|
||||
}
|
||||
else // when truncated data is being saved
|
||||
{
|
||||
_MyDebugPrint_Truncated.Write(format, args);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_MyDebugPrint_Truncated.Write(format, args);
|
||||
_MyDebugPrint.Write(format, args); // there is a 9th element, but not for truncated data
|
||||
|
||||
}
|
||||
}
|
||||
else // test if asgs does not have a 9th element save data (no truncate data is available)
|
||||
{
|
||||
_MyDebugPrint_Truncated.Write(format, args);
|
||||
_MyDebugPrint.Write(format, args);
|
||||
|
||||
}
|
||||
}
|
||||
public static void WriteLine(string format, params object[] args)
|
||||
{ _MyDebugPrint.WriteLine(format, args); }
|
||||
public static void Show()
|
||||
{ _MyDebugPrint.Show(); }
|
||||
{
|
||||
if(args.Length > 8)
|
||||
|
mschill marked this conversation as resolved
Outdated
mschill
commented
There could be additional args added so, would not go by this ---- My recommendation as below is 3 WriteLine functions. If have to use additional arguments would use boolean not strings and named arguments. There could be additional args added so, would not go by this ---- My recommendation as below is 3 WriteLine functions. If have to use additional arguments would use boolean not strings and named arguments.
mschill
commented
This is still an open item as of 8/26 This is still an open item as of 8/26
plarsen
commented
My concern is to know which argument will tell PROMS that there is a truncated version being saved. So I chose that it will be the last one in any arg list. I chose a name arg instead of a Boolean because it is possible that another writeline statement to DebugMeta.txt may have a boolean as the last arg which will be a mistake. I could change the flag to a single letter which might simplify things. My concern is to know which argument will tell PROMS that there is a truncated version being saved. So I chose that it will be the last one in any arg list. I chose a name arg instead of a Boolean because it is possible that another writeline statement to DebugMeta.txt may have a boolean as the last arg which will be a mistake. I could change the flag to a single letter which might simplify things.
mschill
commented
My recommendation is still: when truncated text is the same would call WriteLine Write should not be needed - it does not appear to be called in PROMS and thus should be removed / would be as part of tech debt clean-up. If it needs to be an argument, it should be a boolean -- that being said as mentioned above better to do the 3 separate functions. My recommendation is still:
I would recommend that there be 3 WriteLine functions and not use an argument for it -
A regular WriteLine that writes to both files.
A WriteLineTruncated that writes to Only the Truncated file
A WriteLineFullOnly that write to only the full file
when truncated text is the same would call WriteLine
when would have different would call both WriteLineTruncated & WriteLineFullOnly - each with their respected text.
Write should not be needed - it does not appear to be called in PROMS and thus should be removed / would be as part of tech debt clean-up.
If it needs to be an argument, it should be a boolean -- that being said as mentioned above better to do the 3 separate functions.
public static void WriteLine(string format, params object[] args) //writes both
public static void WriteLine_Individual(string format, params object[] args, bool isTruncated)
|
||||
{
|
||||
if (args[8] == "truncate_false" || args[8] == "truncate_true") // if there is a 9th element test the value for truncated data.
|
||||
{
|
||||
// test and save untruncated and truncated version of the data.
|
||||
if (args[8] == "truncate_false")// when untruncated data is being saved
|
||||
{
|
||||
_MyDebugPrint.WriteLine(format, args);
|
||||
}
|
||||
else // when truncated data is being saved
|
||||
{
|
||||
_MyDebugPrint_Truncated.WriteLine(format, args);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_MyDebugPrint.WriteLine(format, args); // there is a 9th element, but not for truncated data
|
||||
_MyDebugPrint_Truncated.WriteLine(format, args);
|
||||
}
|
||||
}
|
||||
else // test if asgs does not have a 9th element save data (no truncate data is available)
|
||||
{
|
||||
_MyDebugPrint.WriteLine(format, args);
|
||||
_MyDebugPrint_Truncated.WriteLine(format, args);
|
||||
}
|
||||
|
||||
}
|
||||
public static void TruncateWriteLine(string format, params object[] args)
|
||||
{
|
||||
_MyDebugPrint_Truncated.WriteLine(format, args);
|
||||
}
|
||||
public static void TruncateWrite(string format, params object[] args)
|
||||
{
|
||||
_MyDebugPrint_Truncated.Write(format, args);
|
||||
}
|
||||
public static void Show()
|
||||
{ _MyDebugPrint.Show();
|
||||
_MyDebugPrint_Truncated.Show();
|
||||
}
|
||||
public static bool IsOpen
|
||||
{ get { return _MyDebugPrint.IsOpen; } }
|
||||
private static bool _IncludeWordSecText = true;
|
||||
|
||||
@@ -1419,7 +1419,9 @@ namespace Volian.Print.Library
|
||||
if (_MyHelper.DidFirstPageDocStyle) yoff = origYoff - (float)mySection.MyDocStyle.Layout.TopMargin;
|
||||
// C2018-004 create meta file for baseline compares
|
||||
|
||||
|
mschill marked this conversation as resolved
mschill
commented
Suggest to add a program switch to generate (at the same time - in a separate file) a DebugMeta as it was along with the new DebugMeta. That way one run of printing can generate both. The next time baselines are run, the Baseline.exe program can compare the older run - there really should not be any differences. If all good that we can move forward with using the new version of the DebugMeta file. Otherwise comparing the new DebugMeta would generate even more false - differences. Having a program switch to also generate the old style DebugMeta would keep Baseline testing backward compatible, should we find a need in the future. 1. Per John's email:
Suggest to add a program switch to generate (at the same time - in a separate file) a DebugMeta as it was along with the new DebugMeta.
That way one run of printing can generate both. The next time baselines are run, the Baseline.exe program can compare the older run - there really should not be any differences. If all good that we can move forward with using the new version of the DebugMeta file.
Otherwise comparing the new DebugMeta would generate even more false - differences.
Having a program switch to also generate the old style DebugMeta would keep Baseline testing backward compatible, should we find a need in the future.
plarsen
commented
For the program switch are you referring to the new checkbox in the baseline program or a PROMS switch? I added the new checkbox to baseline. For the program switch are you referring to the new checkbox in the baseline program or a PROMS switch? I added the new checkbox to baseline.
mschill
commented
this is an old item from a week or two ago. outstanding items include: 1 performance item --- passing strings and if statements added to BaselineMetaFile.WriteLine this is an old item from a week or two ago.
outstanding items include:
1 performance item --- passing strings and if statements added to BaselineMetaFile.WriteLine
1 cleanup unnecessary usings
1 change to finding debug file ---- should check inside findfiles on an individual file basis whether to use truncated or not. also, should not concatinate strings --- should use path.combine or interpolated strings
|
||||
Volian.Base.Library.BaselineMetaFile.WriteLine("WD Height={0} Width={1} scPgCnt={2} locEnd={3} pdfSz={4} xOff={5} yOff={6} ScPgNum {7}", fgPage.Height, fgPage.Width, sectPageCount, Truncate(locEndOfWordDoc, 2), Truncate(pdfSize, 2), (float)(mySection.MyDocStyle.Layout.MSWordXAdj ?? 0.0), (float)(mySection.MyDocStyle.Layout.MSWordYAdj ?? 0.0) + yoff, pageNumber);
|
||||
Volian.Base.Library.BaselineMetaFile.WriteLine("WD Height={0} Width={1} scPgCnt={2} locEnd={3} pdfSz={4} xOff={5} yOff={6} ScPgNum {7}", fgPage.Height, fgPage.Width, sectPageCount, locEndOfWordDoc, pdfSize, (float)(mySection.MyDocStyle.Layout.MSWordXAdj ?? 0.0), (float)(mySection.MyDocStyle.Layout.MSWordYAdj ?? 0.0) + yoff, pageNumber, "truncate_false");
|
||||
|
mschill marked this conversation as resolved
Outdated
mschill
commented
2, just to check --- Do we want to truncate or round or use ceiling or floor? Thinking if we are doing this when writing the file (instead of when doing the compare), then truncate wont work as: 2, just to check --- Do we want to truncate or round or use ceiling or floor?
Thinking if we are doing this when writing the file (instead of when doing the compare), then truncate wont work as:
7.9999999999 would truncate to 7.99 and not match 8.00
|
||||
|
||||
Volian.Base.Library.BaselineMetaFile.TruncateWriteLine("WD Height={0} Width={1} scPgCnt={2} locEnd={3} pdfSz={4} xOff={5} yOff={6} ScPgNum {7}", fgPage.Height, fgPage.Width, sectPageCount, Truncate(locEndOfWordDoc, 2), Truncate(pdfSize, 2), (float)(mySection.MyDocStyle.Layout.MSWordXAdj ?? 0.0), (float)(mySection.MyDocStyle.Layout.MSWordYAdj ?? 0.0) + yoff, pageNumber, "truncate_true");
|
||||
|
mschill marked this conversation as resolved
Outdated
mschill
commented
For performance concerns. I would not recommend having additional paramaters with a string based option like "truncate_true" for example. I would recommend that there be 3 WriteLine functions -
For performance concerns. I would not recommend having additional paramaters with a string based option like "truncate_true" for example.
I would recommend that there be 3 WriteLine functions -
1. A regular WriteLine that writes to both files.
2. A WriteLineTruncated that writes to Only the Truncated file
3. A WriteLineFullOnly that write to only the full file
mschill
commented
This is still an open item as of 8/26. Also, it looks like you made changes to the Write function - but it is not used in PROMS - only WriteLine is. This is still an open item as of 8/26. Also, it looks like you made changes to the Write function - but it is not used in PROMS - only WriteLine is.
|
||||
|
||||
AddImportedPageToLayer(cb.PdfWriter.DirectContent, _MSWordLayer, fgPage, (float)(mySection.MyDocStyle.Layout.MSWordXAdj ?? 0), (float)(mySection.MyDocStyle.Layout.MSWordYAdj ?? 0) + yoff);
|
||||
// B2019-102 Handle PDF Destinations for Word Sections
|
||||
|
||||
was changing the size of this intentional?