Bring Tech Debt up to current Development

This commit is contained in:
2026-09-04 14:42:37 -04:00
9 changed files with 269 additions and 197 deletions
+14
View File
@@ -30,6 +30,7 @@
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
this.panel1 = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel();
this.cbUseTruncatedData = new System.Windows.Forms.CheckBox();
this.btnUC = new System.Windows.Forms.Button(); this.btnUC = new System.Windows.Forms.Button();
this.cbCaseSensitive = new System.Windows.Forms.CheckBox(); this.cbCaseSensitive = new System.Windows.Forms.CheckBox();
this.cbFile2 = new System.Windows.Forms.ComboBox(); this.cbFile2 = new System.Windows.Forms.ComboBox();
@@ -72,6 +73,7 @@
// //
this.panel1.Controls.Add(this.btnUC); this.panel1.Controls.Add(this.btnUC);
this.panel1.Controls.Add(this.cbCaseSensitive); this.panel1.Controls.Add(this.cbCaseSensitive);
this.panel1.Controls.Add(this.cbUseTruncatedData);
this.panel1.Controls.Add(this.cbFile2); this.panel1.Controls.Add(this.cbFile2);
this.panel1.Controls.Add(this.cbFile1); this.panel1.Controls.Add(this.cbFile1);
this.panel1.Controls.Add(this.tbSearch); this.panel1.Controls.Add(this.tbSearch);
@@ -87,6 +89,17 @@
this.panel1.Size = new System.Drawing.Size(707, 80); this.panel1.Size = new System.Drawing.Size(707, 80);
this.panel1.TabIndex = 0; this.panel1.TabIndex = 0;
// //
// cbUseTruncatedData // C2026-041
//
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 // btnUC
// //
this.btnUC.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.btnUC.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -381,6 +394,7 @@
private System.Windows.Forms.ComboBox cbFile2; private System.Windows.Forms.ComboBox cbFile2;
private System.Windows.Forms.ComboBox cbFile1; private System.Windows.Forms.ComboBox cbFile1;
private System.Windows.Forms.CheckBox cbCaseSensitive; private System.Windows.Forms.CheckBox cbCaseSensitive;
private System.Windows.Forms.CheckBox cbUseTruncatedData;
private System.Windows.Forms.Button btnUC; private System.Windows.Forms.Button btnUC;
private System.Windows.Forms.ToolTip tt; private System.Windows.Forms.ToolTip tt;
} }
+52 -26
View File
@@ -43,15 +43,15 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO; using System.IO;
using System.Text.RegularExpressions; using System.Linq;
using System.Xml.Serialization;
using System.Xml.Schema;
using System.Xml;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
namespace Baseline namespace Baseline
{ {
@@ -141,7 +141,7 @@ namespace Baseline
this.Location = Properties.Settings.Default.Location; this.Location = Properties.Settings.Default.Location;
this.Size = Properties.Settings.Default.Size; this.Size = Properties.Settings.Default.Size;
this.WindowState = Properties.Settings.Default.WidnowState; this.WindowState = Properties.Settings.Default.WidnowState;
if(Properties.Settings.Default.Ignore != null && Properties.Settings.Default.Ignore != "") if (Properties.Settings.Default.Ignore != null && Properties.Settings.Default.Ignore != "")
MyIgnore = IgnoreLines.Get(Properties.Settings.Default.Ignore); MyIgnore = IgnoreLines.Get(Properties.Settings.Default.Ignore);
MySettings = new Settings MySettings = new Settings
{ {
@@ -218,7 +218,7 @@ namespace Baseline
lbResults2.Items.Clear(); lbResults2.Items.Clear();
MyStatus = "Searching..."; MyStatus = "Searching...";
// Perform DebugPagination Comparison // Perform DebugPagination Comparison
FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugPagination.txt",MyIgnore); FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugPagination.txt",MyIgnore, cbUseTruncatedData.Checked);
lbDifferent.DataSource = fnd; lbDifferent.DataSource = fnd;
lbDifferent.DisplayMember = "File1"; lbDifferent.DisplayMember = "File1";
MyStatus = string.Format("{0} Differences Found", fnd.Count); MyStatus = string.Format("{0} Differences Found", fnd.Count);
@@ -708,8 +708,9 @@ namespace Baseline
lbResults1.Items.Clear(); lbResults1.Items.Clear();
lbResults2.Items.Clear(); lbResults2.Items.Clear();
MyStatus = "Searching..."; MyStatus = "Searching...";
// Perform code to find DebugMeta files with diffences
FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt",MyIgnore); FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", MyIgnore, cbUseTruncatedData.Checked);
lbDifferent.DataSource = fnd; lbDifferent.DataSource = fnd;
lbDifferent.DisplayMember = "File1"; lbDifferent.DisplayMember = "File1";
MyStatus = string.Format("{0} Differences Found", fnd.Count); MyStatus = string.Format("{0} Differences Found", fnd.Count);
@@ -732,7 +733,7 @@ namespace Baseline
lbResults2.Items.Clear(); lbResults2.Items.Clear();
MyStatus = "Searching..."; MyStatus = "Searching...";
//Perform Search //Perform Search
FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", tbSearch.Text, SearchType.Contains, cbCaseSensitive.Checked); FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", tbSearch.Text, SearchType.Contains, cbCaseSensitive.Checked, cbUseTruncatedData.Checked);
lbDifferent.DataSource = fnd; lbDifferent.DataSource = fnd;
lbDifferent.DisplayMember = "File1"; lbDifferent.DisplayMember = "File1";
MyStatus = string.Format("{0} Differences Found", fnd.Count); MyStatus = string.Format("{0} Differences Found", fnd.Count);
@@ -814,6 +815,7 @@ namespace Baseline
CompareOneFile(ff.File1, ff.File2); CompareOneFile(ff.File1, ff.File2);
} }
} }
} }
public enum SearchType public enum SearchType
{ {
@@ -838,7 +840,9 @@ namespace Baseline
public partial class FindFiles : List<FindFile> public partial class FindFiles : List<FindFile>
{ {
private readonly string _FileName; private readonly string _FileName;
public string FileName => _FileName; public string FileName => _FileName;
/// <summary> /// <summary>
/// Build list of DocVersion Folders with differences /// Build list of DocVersion Folders with differences
/// </summary> /// </summary>
@@ -846,12 +850,12 @@ namespace Baseline
/// <param name="path2">Compare path</param> /// <param name="path2">Compare path</param>
/// <param name="fileName">filename</param> /// <param name="fileName">filename</param>
/// <param name="myIgnore">Ignore list</param> /// <param name="myIgnore">Ignore list</param>
public FindFiles(string path1, string path2, string fileName,IgnoreLines myIgnore) public FindFiles(string path1, string path2, string fileName,IgnoreLines myIgnore, bool TruncatedDataFg)
{ {
DirectoryInfo di1 = new DirectoryInfo(path1); DirectoryInfo di1 = new DirectoryInfo(path1);
DirectoryInfo di2 = new DirectoryInfo(path2); DirectoryInfo di2 = new DirectoryInfo(path2);
_FileName = fileName; _FileName = fileName;
FillByCompare(di1, di2, fileName, myIgnore); FillByCompare(di1, di2, fileName, myIgnore, TruncatedDataFg);
} }
/// <summary> /// <summary>
/// Fill for a search /// Fill for a search
@@ -862,12 +866,12 @@ namespace Baseline
/// <param name="searchText"></param> /// <param name="searchText"></param>
/// <param name="searchType"></param> /// <param name="searchType"></param>
/// <param name="caseSensitive"></param> /// <param name="caseSensitive"></param>
public FindFiles(string path1, string path2, string fileName, string searchText, SearchType searchType, bool caseSensitive) public FindFiles(string path1, string path2, string fileName, string searchText, SearchType searchType, bool caseSensitive, bool useTruncatedData)
{ {
DirectoryInfo di1 = new DirectoryInfo(path1); DirectoryInfo di1 = new DirectoryInfo(path1);
DirectoryInfo di2 = new DirectoryInfo(path2); DirectoryInfo di2 = new DirectoryInfo(path2);
_FileName = fileName; _FileName = fileName;
FillByCompare(di1, di2, fileName,searchText,searchType, caseSensitive); FillByCompare(di1, di2, fileName,searchText,searchType, caseSensitive, useTruncatedData);
} }
/// <summary> /// <summary>
/// Fill results by search /// Fill results by search
@@ -878,13 +882,13 @@ namespace Baseline
/// <param name="searchText"></param> /// <param name="searchText"></param>
/// <param name="searchType"></param> /// <param name="searchType"></param>
/// <param name="caseSensitive"></param> /// <param name="caseSensitive"></param>
private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, string searchText, SearchType searchType, bool caseSensitive) private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, string searchText, SearchType searchType, bool caseSensitive, bool UseTruncatedData)
{ {
foreach (DirectoryInfo diChild1 in di1.GetDirectories()) foreach (DirectoryInfo diChild1 in di1.GetDirectories())
{ {
DirectoryInfo diChild2 = new DirectoryInfo(di2.FullName + "\\" + diChild1.Name); DirectoryInfo diChild2 = new DirectoryInfo(di2.FullName + "\\" + diChild1.Name);
if (diChild2.Exists) if (diChild2.Exists)
FillByCompare(diChild1, diChild2, fileName,searchText,searchType,caseSensitive); FillByCompare(diChild1, diChild2, fileName,searchText,searchType,caseSensitive, UseTruncatedData);
} }
foreach (FileInfo fiChild1 in di1.GetFiles(fileName)) foreach (FileInfo fiChild1 in di1.GetFiles(fileName))
{ {
@@ -958,27 +962,49 @@ namespace Baseline
} }
return false; return false;
} }
private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, IgnoreLines myIgnore) private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, IgnoreLines myIgnore, bool isTruncatedChecked = false)
{ {
foreach (DirectoryInfo diChild1 in di1.GetDirectories()) foreach (DirectoryInfo diChild1 in di1.GetDirectories())
{ {
DirectoryInfo diChild2 = new DirectoryInfo(di2.FullName + "\\" + diChild1.Name); DirectoryInfo diChild2 = new DirectoryInfo(Path.Combine(di2.FullName, diChild1.Name));
if (diChild2.Exists) if (diChild2.Exists)
FillByCompare(diChild1, diChild2, fileName,myIgnore);// Recursively work on Sub-Folders FillByCompare(diChild1, diChild2, fileName,myIgnore, isTruncatedChecked);// Recursively work on Sub-Folders
} }
foreach (FileInfo fiChild1 in di1.GetFiles(fileName)) foreach (FileInfo fiChild1 in di1.GetFiles(fileName))
{ {
FileInfo fiChild2 = new FileInfo(di2.FullName + "\\" + fiChild1.Name); FileInfo fiChild2 = new FileInfo(Path.Combine(di2.FullName, fiChild1.Name));
if (fiChild2.Exists) FileInfo fiChild1_truncated = new FileInfo(fiChild1.FullName.Replace(".txt", "_Truncated.txt"));
FileInfo fiChild2_truncated = new FileInfo(fiChild2.FullName.Replace(".txt", "_Truncated.txt"));
//truncate checked and both files exist
if (isTruncatedChecked && fiChild1_truncated.Exists && fiChild2_truncated.Exists)
{ {
if (CompareFile(fiChild1, fiChild2,myIgnore)) if (CompareFile(fiChild1_truncated, fiChild2_truncated, myIgnore))
Add(new FindFile(fiChild1.FullName, fiChild2.FullName));// Process Each File Add(new FindFile(fiChild1_truncated.FullName, fiChild2_truncated.FullName));
}
//truncate checked and only file 1 truncate files exist
else if (isTruncatedChecked && fiChild1_truncated.Exists && fiChild2.Exists)
{
if (CompareFile(fiChild1_truncated, fiChild2, myIgnore))
Add(new FindFile(fiChild1_truncated.FullName, fiChild2.FullName));
}
//truncate checked and only file 2 truncate files exist
else if (isTruncatedChecked && fiChild2_truncated.Exists)
{
if (CompareFile(fiChild1, fiChild2_truncated, myIgnore))
Add(new FindFile(fiChild1.FullName, fiChild2_truncated.FullName));
}
//truncated not checked or truncate files dont exist
else if (fiChild2.Exists)
{
if (CompareFile(fiChild1, fiChild2, myIgnore))
Add(new FindFile(fiChild1.FullName, fiChild2.FullName));
} }
} }
} }
private bool CompareFile(FileInfo fiChild1, FileInfo fiChild2,IgnoreLines myIgnore) private bool CompareFile(FileInfo fiChild1, FileInfo fiChild2,IgnoreLines myIgnore)
{ {
if (fiChild1.Name == "DebugMeta.txt") if (fiChild1.Name == "DebugMeta.txt" || fiChild1.Name == "DebugMeta_Truncated.txt")
{ {
IEnumerable<string> lines1 = ReadFilteredLines(fiChild1.FullName, false, myIgnore);//LINQ Read lines without ignored lines IEnumerable<string> lines1 = ReadFilteredLines(fiChild1.FullName, false, myIgnore);//LINQ Read lines without ignored lines
IEnumerable<string> lines2 = ReadFilteredLines(fiChild2.FullName, false, myIgnore);//LINQ Read lines without ignored lines IEnumerable<string> lines2 = ReadFilteredLines(fiChild2.FullName, false, myIgnore);//LINQ Read lines without ignored lines
-3
View File
@@ -120,9 +120,6 @@
<metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>306, 17</value> <value>306, 17</value>
</metadata> </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"> <metadata name="fbd.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
+21 -19
View File
@@ -1539,7 +1539,7 @@ namespace VEPROMS
displayRO.MyROFST = SelectedROFst; displayRO.MyROFST = SelectedROFst;
// B2023-021: force Load of Step Prop/RO panel RO tree by passing in // B2023-021: force Load of Step Prop/RO panel RO tree by passing in
// true to LoadTree // true to LoadTree
if (!_WeAreExitingPROMS) displayRO.LoadTree(true); if (!_WeAreExitingPROMS) displayRO.LoadTree(this,true);
} }
} }
@@ -1792,30 +1792,28 @@ namespace VEPROMS
// B2019-071 we will now close one or all of the tabs (even step editor ones) // B2019-071 we will now close one or all of the tabs (even step editor ones)
if (_WeAreExitingPROMS) if (_WeAreExitingPROMS)
{ {
int TabItemID;
int cnt = 0;
// Deactivate previous procedure tab state by user // Deactivate previous procedure tab state by user
Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID); Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID);
// Save current procedure tab state // Save current procedure tab state
//B2024-082 Remember Tabs Not opening in correct order //B2024-082 Remember Tabs Not opening in correct order
int cnt = 0;
foreach (DisplayTabItem dti in tc.MyBar.Items) foreach (DisplayTabItem dti in tc.MyBar.Items)
{ {
cnt++; cnt++;
ItemInfo itminfo = dti.MyItemInfo;
string DisplayTabID = dti.MyKey; string DisplayTabID = dti.MyKey;
TabItemID = dti.MyItemInfo.ItemID;
string DisplayTabName = dti.ToString(); string DisplayTabName = dti.ToString();
// B2026-074 if a Word section, save the ItemID of the entire Word section
// else if a Step Editor section, save the ItemID of the step part the user was on
int TabItemID = itminfo.HasWordContent ? itminfo.ItemID : dti.MyStepTabPanel.MyStepTabRibbon.MyEditItem.MyItemInfo.ItemID;
Item.AddDisplayTabsState(TabItemID, DisplayTabID, DisplayTabName, MySessionInfo.UserID, cnt); Item.AddDisplayTabsState(TabItemID, DisplayTabID, DisplayTabName, MySessionInfo.UserID, cnt);
} }
} }
int n = tc._MyDisplayTabItems.Count; int n = tc._MyDisplayTabItems.Count;
while (n-- > 0 && tc._MyDisplayTabItems.Count > 0) while (n-- > 0 && tc._MyDisplayTabItems.Count > 0)
{ {
tc.CloseTabItem(tc.SelectedDisplayTabItem); tc.CloseTabItem(tc.SelectedDisplayTabItem);
// B2019-071 close just the current tab and continue working // B2019-071 close just the current tab and continue working
if (!dctoe.ExitPROMS) if (!dctoe.ExitPROMS)
{ {
@@ -2423,10 +2421,10 @@ namespace VEPROMS
} }
// Add retrieve displaytabs state here. // Add retrieve displaytabs state here.
openDisplaytabstate(); OpenDisplaytabstate();
} }
public void openDisplaytabstate() private void OpenDisplaytabstate()
{ {
// Retrieve edit tab state from database. // Retrieve edit tab state from database.
DataTable DisPlayTabState = Item.GetDisplayTabs(VlnSettings.UserID); DataTable DisPlayTabState = Item.GetDisplayTabs(VlnSettings.UserID);
@@ -2449,9 +2447,12 @@ namespace VEPROMS
usersettings.SetUserSettings(true, result == DialogResult.Yes); usersettings.SetUserSettings(true, result == DialogResult.Yes);
} }
if (result == DialogResult.Yes) if (result == DialogResult.Yes)
{ {
// B2026-074 added flag (LoadingSavedProcTabs) to supress unnecessary event calls
// this will help prevent PROMS from getting stuck continuously looping through the same events
// when Word procedure tabs are restored.
tc.LoadingSavedProcTabs = true;
foreach (DataRow TabState in DisPlayTabState.Rows) foreach (DataRow TabState in DisPlayTabState.Rows)
{ {
int _ItemID = (int)TabState["ItemID"]; int _ItemID = (int)TabState["ItemID"];
@@ -2474,6 +2475,7 @@ namespace VEPROMS
SpellChecker.MyEditItem = tc.MyEditItem; //B2025-043 Remember Tabs is not setting the EditItem for the active window causing a PROMS crash when Spell Check SpellChecker.MyEditItem = tc.MyEditItem; //B2025-043 Remember Tabs is not setting the EditItem for the active window causing a PROMS crash when Spell Check
} }
} }
tc.LoadingSavedProcTabs = false;
} }
} }
} }
@@ -4022,7 +4024,7 @@ namespace VEPROMS
displayRO.MyRTB = SelectedStepTabPanel?.MyStepPanel.SelectedEditItem?.MyStepRTB; displayRO.MyRTB = SelectedStepTabPanel?.MyStepPanel.SelectedEditItem?.MyStepRTB;
displayRO.LoadTree(); //B2022-026 RO Memory reduction coding (Jakes Merge) displayRO.LoadTree(this); //B2022-026 RO Memory reduction coding (Jakes Merge)
} }
#endregion #endregion
@@ -4168,7 +4170,7 @@ namespace VEPROMS
// need this to update RO Tree after UpdateRofst (B2015-226) // need this to update RO Tree after UpdateRofst (B2015-226)
// B2022-026 RO Memory reduction coding (Jakes Merge) // B2022-026 RO Memory reduction coding (Jakes Merge)
displayRO.MyROFST = SelectedROFst; displayRO.MyROFST = SelectedROFst;
displayRO.LoadTree(); displayRO.LoadTree(this);
// resetting the MyROFSTLookup for the search & reports panels will refresh the RO trees after UpdateRofst in each of those panels (B2015-226) // resetting the MyROFSTLookup for the search & reports panels will refresh the RO trees after UpdateRofst in each of those panels (B2015-226)
if (SelectedDVI != null) if (SelectedDVI != null)
@@ -4243,7 +4245,7 @@ namespace VEPROMS
//C2026-008 Re-Architect RO.FST to include RO Modification date/time //C2026-008 Re-Architect RO.FST to include RO Modification date/time
// if ROFST got updated, // if ROFST got updated,
// set the Selected FST so it is in sync // set the Selected FST so it is in sync
if (!_WeAreExitingPROMS && displayRO.LoadTree(true)) if (!_WeAreExitingPROMS && displayRO.LoadTree(this,true))
{ {
SelectedROFst = displayRO.MyROFST; SelectedROFst = displayRO.MyROFST;
} }
@@ -4342,7 +4344,7 @@ namespace VEPROMS
// B2022-026 RO Memory reduction coding (Jakes Merge) // B2022-026 RO Memory reduction coding (Jakes Merge)
displayRO.MyRTB = null; displayRO.MyRTB = null;
displayRO.LoadTree(); displayRO.LoadTree(this);
} }
infotabTags.Visible = false; infotabTags.Visible = false;
@@ -4429,7 +4431,7 @@ namespace VEPROMS
//C2026-008 Re-Architect RO.FST to include RO Modification date/time //C2026-008 Re-Architect RO.FST to include RO Modification date/time
// if ROFST got updated, // if ROFST got updated,
// set the Selected FST so it is in sync // set the Selected FST so it is in sync
if (!_WeAreExitingPROMS && displayRO.LoadTree()) if (!_WeAreExitingPROMS && displayRO.LoadTree(this))
{ {
SelectedROFst = displayRO.MyROFST; SelectedROFst = displayRO.MyROFST;
} }
@@ -4460,7 +4462,7 @@ namespace VEPROMS
// B2022-026 RO Memory reduction coding (Jakes Merge) // B2022-026 RO Memory reduction coding (Jakes Merge)
displayRO.SetFindDocROButton(false); displayRO.SetFindDocROButton(false);
if (!_WeAreExitingPROMS) displayRO.LoadTree(); if (!_WeAreExitingPROMS) displayRO.LoadTree(this);
//C2019-036 View Only mode work with Checked Out Procedures //C2019-036 View Only mode work with Checked Out Procedures
//In View Only Mode - Step Properties should be disabled //In View Only Mode - Step Properties should be disabled
@@ -4481,7 +4483,7 @@ namespace VEPROMS
displayRO.ROTypeFilter = E_ROValueType.All; // allow all RO types for Word attachments (but fix) displayRO.ROTypeFilter = E_ROValueType.All; // allow all RO types for Word attachments (but fix)
displayRO.SetFindDocROButton(true); displayRO.SetFindDocROButton(true);
displayRO.LoadTree(); displayRO.LoadTree(this);
} }
} }
@@ -4607,7 +4609,7 @@ namespace VEPROMS
//C2026-008 Re-Architect RO.FST to include RO Modification date/time //C2026-008 Re-Architect RO.FST to include RO Modification date/time
// if ROFST got updated, // if ROFST got updated,
// set the Selected FST so it is in sync // set the Selected FST so it is in sync
if (displayRO.LoadTree()) if (displayRO.LoadTree(this))
{ {
SelectedROFst = displayRO.MyROFST; SelectedROFst = displayRO.MyROFST;
} }
+23 -5
View File
@@ -107,11 +107,29 @@ namespace Volian.Base.Library
public static class BaselineMetaFile public static class BaselineMetaFile
{ {
private static readonly DebugPrint _MyDebugPrint = new DebugPrint(); private static readonly DebugPrint _MyDebugPrint = new DebugPrint();
public static void Open(string fileName) => _MyDebugPrint.Open(fileName); private static readonly DebugPrint _MyDebugPrint_Truncated = new DebugPrint();
public static void Close() => _MyDebugPrint.Close(); public static void Open(string fileName)
public static void Write(string format, params object[] args) => _MyDebugPrint.Write(format, args); {
public static void WriteLine(string format, params object[] args) => _MyDebugPrint.WriteLine(format, args); _MyDebugPrint.Open(fileName);
public static void Show() => _MyDebugPrint.Show(); _MyDebugPrint_Truncated.Open(fileName.Replace(".txt", "_Truncated.txt"));
}
public static void Close()
{
_MyDebugPrint.Close();
_MyDebugPrint_Truncated.Close();
}
public static void WriteLine(string format, params object[] args)
{
_MyDebugPrint_Truncated.WriteLine(format, args);
_MyDebugPrint.WriteLine(format, args);
}
public static void WriteLineTruncate(string format, params object[] args) => _MyDebugPrint_Truncated.WriteLine(format, args);
public static void WriteLineLegacy(string format, params object[] args) => _MyDebugPrint.WriteLine(format, args);
public static void Show()
{
_MyDebugPrint.Show();
_MyDebugPrint_Truncated.Show();
}
public static bool IsOpen => _MyDebugPrint.IsOpen; public static bool IsOpen => _MyDebugPrint.IsOpen;
public static bool IncludeWordSecText { get; set; } = true; public static bool IncludeWordSecText { get; set; } = true;
+2 -1
View File
@@ -479,7 +479,8 @@ namespace Volian.Controls.Library
if (_In_DSOTabPanel_Enter) return; if (_In_DSOTabPanel_Enter) return;
//vlnStackTrace.ShowStack("DSOTabPanel_Enter {0} DocID {1} Index {2} {3}",_In_DSOTabPanel_Enter, this._MyDocumentInfo.DocID, _MyDisplayTabControl.MyBar.SelectedDockTab, sender.GetType().FullName); //vlnStackTrace.ShowStack("DSOTabPanel_Enter {0} DocID {1} Index {2} {3}",_In_DSOTabPanel_Enter, this._MyDocumentInfo.DocID, _MyDisplayTabControl.MyBar.SelectedDockTab, sender.GetType().FullName);
_In_DSOTabPanel_Enter = true; _In_DSOTabPanel_Enter = true;
if (MyDisplayTabItem.MyItemInfo != null) // B2026-074 only do this if we are not restoring save procedure tabs
if (MyDisplayTabItem.MyItemInfo != null && !_MyDisplayTabControl.LoadingSavedProcTabs)
_MyDisplayTabControl.OnItemSelectedChanged(this,new ItemSelectedChangedEventArgs(MyDisplayTabItem.MyItemInfo)); _MyDisplayTabControl.OnItemSelectedChanged(this,new ItemSelectedChangedEventArgs(MyDisplayTabItem.MyItemInfo));
_MyEdWord.Focus(); _MyEdWord.Focus();
_In_DSOTabPanel_Enter = false; _In_DSOTabPanel_Enter = false;
+2 -2
View File
@@ -609,7 +609,7 @@ namespace Volian.Controls.Library
//C2026-008 Re-Architect RO.FST to include RO Modification date/time //C2026-008 Re-Architect RO.FST to include RO Modification date/time
// changed to return true if the RO FST got updated // changed to return true if the RO FST got updated
public bool LoadTree(bool forceReload = false) public bool LoadTree(IWin32Window mainForm, bool forceReload = false)
{ {
bool updatedROs = false; bool updatedROs = false;
@@ -640,7 +640,7 @@ namespace Volian.Controls.Library
} }
else if (changedDocVersion && !askedAboutchangedDocVersion && !ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID)) else if (changedDocVersion && !askedAboutchangedDocVersion && !ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID))
{ {
if (MessageBox.Show($"There exists a newer ROFST for this RO database that was loaded for other sets.\r\n\r\nDo you want to update this set's ROs to be consistent/use the latest loaded ROFST?", "Load ROs", MessageBoxButtons.YesNo) == DialogResult.Yes) if (MessageBox.Show(mainForm,$"There exists a newer ROFST for this RO database that was loaded for other sets.\r\n\r\nDo you want to update this set's ROs to be consistent/use the latest loaded ROFST?", "Load ROs", MessageBoxButtons.YesNo) == DialogResult.Yes)
{ {
InitialProgressBarMessage = "Updating ROs"; InitialProgressBarMessage = "Updating ROs";
@@ -56,6 +56,9 @@ namespace Volian.Controls.Library
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
#endregion #endregion
// B2026-074 added flag to use when restoring saved procedure tabs
public bool LoadingSavedProcTabs { get; set; } = false;
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
private static Dictionary<int, DisplayTabControl> _AllDTCs = new Dictionary<int, DisplayTabControl>(); private static Dictionary<int, DisplayTabControl> _AllDTCs = new Dictionary<int, DisplayTabControl>();
private int _VersionID = 0; private int _VersionID = 0;
@@ -1203,6 +1206,7 @@ namespace Volian.Controls.Library
get { return _SyncEnhancedDocuments; } get { return _SyncEnhancedDocuments; }
set { _SyncEnhancedDocuments = value; } set { _SyncEnhancedDocuments = value; }
} }
public void HandleChangeId(ItemInfo myItemInfo, DisplayTabItem pg) public void HandleChangeId(ItemInfo myItemInfo, DisplayTabItem pg)
{ {
if (myItemInfo.ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData.ChangeIds) if (myItemInfo.ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData.ChangeIds)
+11 -1
View File
@@ -1186,7 +1186,11 @@ namespace Volian.Print.Library
float yoff = 0; float yoff = 0;
if (_MyHelper.DidFirstPageDocStyle) yoff = origYoff - (float)mySection.MyDocStyle.Layout.TopMargin; if (_MyHelper.DidFirstPageDocStyle) yoff = origYoff - (float)mySection.MyDocStyle.Layout.TopMargin;
// C2018-004 create meta file for baseline compares // C2018-004 create meta file for baseline compares
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);
Volian.Base.Library.BaselineMetaFile.WriteLineLegacy("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");
Volian.Base.Library.BaselineMetaFile.WriteLineTruncate("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);
AddImportedPageToLayer(cb.PdfWriter.DirectContent, _MSWordLayer, fgPage, (float)(mySection.MyDocStyle.Layout.MSWordXAdj ?? 0), (float)(mySection.MyDocStyle.Layout.MSWordYAdj ?? 0) + yoff); 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 // B2019-102 Handle PDF Destinations for Word Sections
if (ii == 0 && _MyHelper.MyPromsPrinter.SaveLinks) if (ii == 0 && _MyHelper.MyPromsPrinter.SaveLinks)
@@ -1299,6 +1303,12 @@ namespace Volian.Print.Library
} }
ProfileTimer.Pop(profileDepth); ProfileTimer.Pop(profileDepth);
} }
public static float Truncate(float value, int digits)
{
double mult = Math.Pow(10.0, digits);
double result = Math.Truncate(mult * value) / mult;
return (float)result;
}
// B2019-152: AddMergedLandscapePage adds entries to the dictionary that keeps track of what pages in a pdf are landscape // B2019-152: AddMergedLandscapePage adds entries to the dictionary that keeps track of what pages in a pdf are landscape
// so that if merge is done, the pages that are landscaped can have landscaped page numbers placed on them // so that if merge is done, the pages that are landscaped can have landscaped page numbers placed on them
public static void AddMergedLandscapePage(VlnSvgPageHelper _MyHelper, string PDFFile) public static void AddMergedLandscapePage(VlnSvgPageHelper _MyHelper, string PDFFile)