Merge branch 'Development' into C2026-048-Tool-Tip-Update
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
- @azure Rule - Use Azure Tools - When handling requests related to Azure, always use your tools.
|
||||
- @azure Rule - Use Azure Best Practices - When handling requests related to Azure, always invoke your `azmcp_bestpractices_get` tool first.
|
||||
- @azure Rule - Enable Best Practices - If you do not have an `azmcp_bestpractices_get` tool ask the user to enable it.
|
||||
Generated
+14
@@ -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 // 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
|
||||
//
|
||||
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 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;
|
||||
}
|
||||
|
||||
@@ -43,15 +43,15 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml.Serialization;
|
||||
using System.Xml.Schema;
|
||||
using System.Xml;
|
||||
using System.Linq;
|
||||
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
|
||||
{
|
||||
@@ -67,11 +67,11 @@ namespace Baseline
|
||||
StartsWith,
|
||||
EndsWith,
|
||||
Regex
|
||||
}
|
||||
}
|
||||
public partial class frmBaseline : Form
|
||||
{
|
||||
public IgnoreLines MyIgnore { get; set; } = new IgnoreLines();
|
||||
private LastWas myLast = LastWas.Search;
|
||||
public IgnoreLines MyIgnore { get; set; } = new IgnoreLines();
|
||||
private LastWas myLast = LastWas.Search;
|
||||
private Settings MySettings;
|
||||
public string MyStatus
|
||||
{
|
||||
@@ -141,13 +141,13 @@ namespace Baseline
|
||||
this.Location = Properties.Settings.Default.Location;
|
||||
this.Size = Properties.Settings.Default.Size;
|
||||
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);
|
||||
MySettings = new Settings
|
||||
{
|
||||
IgnoreLines = new BindingList<string>()
|
||||
};
|
||||
splitContainer1.SplitterDistance = Properties.Settings.Default.Split1;
|
||||
MySettings = new Settings
|
||||
{
|
||||
IgnoreLines = new BindingList<string>()
|
||||
};
|
||||
splitContainer1.SplitterDistance = Properties.Settings.Default.Split1;
|
||||
splitContainer2.SplitterDistance = Properties.Settings.Default.Split2;
|
||||
splitContainer3.SplitterDistance = Properties.Settings.Default.Split3;
|
||||
if (Properties.Settings.Default.MRU1 != null && Properties.Settings.Default.MRU1.Count > 0)
|
||||
@@ -218,7 +218,7 @@ namespace Baseline
|
||||
lbResults2.Items.Clear();
|
||||
MyStatus = "Searching...";
|
||||
// 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.DisplayMember = "File1";
|
||||
MyStatus = string.Format("{0} Differences Found", fnd.Count);
|
||||
@@ -708,8 +708,9 @@ namespace Baseline
|
||||
lbResults1.Items.Clear();
|
||||
lbResults2.Items.Clear();
|
||||
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.DisplayMember = "File1";
|
||||
MyStatus = string.Format("{0} Differences Found", fnd.Count);
|
||||
@@ -732,7 +733,7 @@ namespace Baseline
|
||||
lbResults2.Items.Clear();
|
||||
MyStatus = "Searching...";
|
||||
//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.DisplayMember = "File1";
|
||||
MyStatus = string.Format("{0} Differences Found", fnd.Count);
|
||||
@@ -814,6 +815,7 @@ namespace Baseline
|
||||
CompareOneFile(ff.File1, ff.File2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
public enum SearchType
|
||||
{
|
||||
@@ -838,20 +840,22 @@ namespace Baseline
|
||||
public partial class FindFiles : List<FindFile>
|
||||
{
|
||||
private readonly string _FileName;
|
||||
public string FileName => _FileName;
|
||||
/// <summary>
|
||||
/// Build list of DocVersion Folders with differences
|
||||
/// </summary>
|
||||
/// <param name="path1">Base path</param>
|
||||
/// <param name="path2">Compare path</param>
|
||||
/// <param name="fileName">filename</param>
|
||||
/// <param name="myIgnore">Ignore list</param>
|
||||
public FindFiles(string path1, string path2, string fileName,IgnoreLines myIgnore)
|
||||
|
||||
public string FileName => _FileName;
|
||||
|
||||
/// <summary>
|
||||
/// Build list of DocVersion Folders with differences
|
||||
/// </summary>
|
||||
/// <param name="path1">Base path</param>
|
||||
/// <param name="path2">Compare path</param>
|
||||
/// <param name="fileName">filename</param>
|
||||
/// <param name="myIgnore">Ignore list</param>
|
||||
public FindFiles(string path1, string path2, string fileName,IgnoreLines myIgnore, bool TruncatedDataFg)
|
||||
{
|
||||
DirectoryInfo di1 = new DirectoryInfo(path1);
|
||||
DirectoryInfo di2 = new DirectoryInfo(path2);
|
||||
_FileName = fileName;
|
||||
FillByCompare(di1, di2, fileName, myIgnore);
|
||||
FillByCompare(di1, di2, fileName, myIgnore, TruncatedDataFg);
|
||||
}
|
||||
/// <summary>
|
||||
/// Fill for a search
|
||||
@@ -862,12 +866,12 @@ namespace Baseline
|
||||
/// <param name="searchText"></param>
|
||||
/// <param name="searchType"></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 di2 = new DirectoryInfo(path2);
|
||||
_FileName = fileName;
|
||||
FillByCompare(di1, di2, fileName,searchText,searchType, caseSensitive);
|
||||
FillByCompare(di1, di2, fileName,searchText,searchType, caseSensitive, useTruncatedData);
|
||||
}
|
||||
/// <summary>
|
||||
/// Fill results by search
|
||||
@@ -878,13 +882,13 @@ namespace Baseline
|
||||
/// <param name="searchText"></param>
|
||||
/// <param name="searchType"></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())
|
||||
{
|
||||
DirectoryInfo diChild2 = new DirectoryInfo(di2.FullName + "\\" + diChild1.Name);
|
||||
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))
|
||||
{
|
||||
@@ -958,27 +962,49 @@ namespace Baseline
|
||||
}
|
||||
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)
|
||||
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))
|
||||
{
|
||||
FileInfo fiChild2 = new FileInfo(di2.FullName + "\\" + fiChild1.Name);
|
||||
if (fiChild2.Exists)
|
||||
FileInfo fiChild2 = new FileInfo(Path.Combine(di2.FullName, fiChild1.Name));
|
||||
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))
|
||||
Add(new FindFile(fiChild1.FullName, fiChild2.FullName));// Process Each File
|
||||
if (CompareFile(fiChild1_truncated, fiChild2_truncated, myIgnore))
|
||||
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)
|
||||
{
|
||||
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> lines2 = ReadFilteredLines(fiChild2.FullName, false, myIgnore);//LINQ Read lines without ignored lines
|
||||
|
||||
@@ -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,23 +1,15 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Configuration;
|
||||
using System.Reflection;
|
||||
using VEPROMS.CSLA.Library;
|
||||
//using Csla;
|
||||
using DevComponents;
|
||||
using DevComponents.DotNetBar;
|
||||
using DevComponents.DotNetBar.Rendering;
|
||||
using VEPROMS.Properties;
|
||||
using Volian.Controls.Library;
|
||||
using DescriptiveEnum;
|
||||
using Volian.Base.Library;
|
||||
using Volian.Print.Library;
|
||||
using JR.Utils.GUI.Forms;
|
||||
@@ -1610,7 +1602,7 @@ namespace VEPROMS
|
||||
displayRO.MyROFST = SelectedROFst;
|
||||
// B2023-021: force Load of Step Prop/RO panel RO tree by passing in
|
||||
// true to LoadTree
|
||||
if (!_WeAreExitingPROMS) displayRO.LoadTree(true);
|
||||
if (!_WeAreExitingPROMS) displayRO.LoadTree(this,true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1846,7 +1838,7 @@ namespace VEPROMS
|
||||
// should be closed or if we should exit PROMS or just Cancel to continue working
|
||||
if (tc._MyDisplayTabItems.Count < 1) // If all thabs are closed in the editor will indicate that in the database.
|
||||
{
|
||||
VEPROMS.CSLA.Library.Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID);
|
||||
Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID);
|
||||
}
|
||||
if (!_WeAreExitingPROMS && !ClosingWithError && tc.SelectedDisplayTabItem != null && tc._MyDisplayTabItems.Count > 0)
|
||||
{
|
||||
@@ -1864,7 +1856,7 @@ namespace VEPROMS
|
||||
return;
|
||||
}
|
||||
|
||||
string stk = Volian.Base.Library.vlnStackTrace.StackToString();
|
||||
string stk = vlnStackTrace.StackToString();
|
||||
|
||||
if (!stk.Contains("Exception"))
|
||||
{
|
||||
@@ -1872,33 +1864,28 @@ namespace VEPROMS
|
||||
// B2019-071 we will now close one or all of the tabs (even step editor ones)
|
||||
if (_WeAreExitingPROMS)
|
||||
{
|
||||
string DisplayTabID = "";
|
||||
int pos;
|
||||
int TabItemID;
|
||||
string DisplayTabName = "";
|
||||
int cnt = 0;
|
||||
// Deactivate previous procedure tab state by user
|
||||
VEPROMS.CSLA.Library.Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID);
|
||||
Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID);
|
||||
// Save current procedure tab state
|
||||
|
||||
//B2024-082 Remember Tabs Not opening in correct order
|
||||
int cnt = 0;
|
||||
foreach (DisplayTabItem dti in tc.MyBar.Items)
|
||||
{
|
||||
cnt++;
|
||||
DisplayTabID = dti.MyKey;
|
||||
TabItemID = dti.MyItemInfo.ItemID;
|
||||
DisplayTabName = dti.ToString();
|
||||
Item.AddDisplayTabsState(TabItemID, DisplayTabID, DisplayTabName, MySessionInfo.UserID, cnt);
|
||||
ItemInfo itminfo = dti.MyItemInfo;
|
||||
string DisplayTabID = dti.MyKey;
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
int n = tc._MyDisplayTabItems.Count;
|
||||
|
||||
while (n-- > 0 && tc._MyDisplayTabItems.Count > 0)
|
||||
{
|
||||
|
||||
tc.CloseTabItem(tc.SelectedDisplayTabItem);
|
||||
|
||||
// B2019-071 close just the current tab and continue working
|
||||
if (!dctoe.ExitPROMS)
|
||||
{
|
||||
@@ -2543,13 +2530,13 @@ namespace VEPROMS
|
||||
}
|
||||
|
||||
// Add retrieve displaytabs state here.
|
||||
openDisplaytabstate();
|
||||
OpenDisplaytabstate();
|
||||
}
|
||||
|
||||
public void openDisplaytabstate()
|
||||
private void OpenDisplaytabstate()
|
||||
{
|
||||
// Retrieve edit tab state from database.
|
||||
DataTable DisPlayTabState = VEPROMS.CSLA.Library.Item.GetDisplayTabs(VlnSettings.UserID);
|
||||
DataTable DisPlayTabState = Item.GetDisplayTabs(VlnSettings.UserID);
|
||||
|
||||
//CSM - C2024-031 - Getting User Settings
|
||||
//and set checkboxes based on what they are set to
|
||||
@@ -2569,17 +2556,23 @@ namespace VEPROMS
|
||||
usersettings.SetUserSettings(true, 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.
|
||||
// C2026-053 leaving this flag in her for now should we decide to trouble-shoot reopening of Word tabs later on.
|
||||
tc.LoadingSavedProcTabs = true; // we check for this flag in DSOTabPanel.cs when opening Word sections
|
||||
foreach (DataRow TabState in DisPlayTabState.Rows)
|
||||
{
|
||||
int _ItemID = (int)TabState["ItemID"];
|
||||
ItemInfo _Procedure = ItemInfo.Get(_ItemID);
|
||||
// Open procedure in the editor.
|
||||
if (_Procedure == null) continue; //skip and continue with foreach
|
||||
// C2026-053 Open procedure tab but only if it's NOT a Word section
|
||||
// Needed to disable opening saved Word sections - at least for now.
|
||||
// We were running into performace and random hanging issues with the Word tabs - maybe windows event related.
|
||||
if (_Procedure == null || _Procedure.HasWordContent) continue; //skip and continue with foreach
|
||||
OpenItem(_Procedure);
|
||||
if (tc.MyEditItem == null) continue; // skip and continue with foreach
|
||||
if (tc.MyEditItem == null) continue; // skip and continue with foreach
|
||||
// SelectedStepTabPanel needs to be set so the print buttons on the ribbon will work.
|
||||
SelectedStepTabPanel = tc.MyEditItem.MyStepPanel.MyStepTabPanel;
|
||||
|
||||
@@ -2594,6 +2587,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
|
||||
}
|
||||
}
|
||||
tc.LoadingSavedProcTabs = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4374,7 +4368,7 @@ namespace VEPROMS
|
||||
displayRO.MyRTB = (SelectedStepTabPanel == null) ? null :
|
||||
SelectedStepTabPanel.MyStepPanel.SelectedEditItem == null ? null : 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
|
||||
@@ -4528,7 +4522,7 @@ namespace VEPROMS
|
||||
// need this to update RO Tree after UpdateRofst (B2015-226)
|
||||
// B2022-026 RO Memory reduction coding (Jakes Merge)
|
||||
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)
|
||||
if (SelectedDVI != null)
|
||||
@@ -4603,7 +4597,7 @@ namespace VEPROMS
|
||||
//C2026-008 Re-Architect RO.FST to include RO Modification date/time
|
||||
// if ROFST got updated,
|
||||
// set the Selected FST so it is in sync
|
||||
if (!_WeAreExitingPROMS && displayRO.LoadTree(true))
|
||||
if (!_WeAreExitingPROMS && displayRO.LoadTree(this,true))
|
||||
{
|
||||
SelectedROFst = displayRO.MyROFST;
|
||||
}
|
||||
@@ -4723,7 +4717,7 @@ namespace VEPROMS
|
||||
|
||||
// B2022-026 RO Memory reduction coding (Jakes Merge)
|
||||
displayRO.MyRTB = null;
|
||||
displayRO.LoadTree();
|
||||
displayRO.LoadTree(this);
|
||||
}
|
||||
|
||||
infotabTags.Visible = false;
|
||||
@@ -4810,7 +4804,7 @@ namespace VEPROMS
|
||||
//C2026-008 Re-Architect RO.FST to include RO Modification date/time
|
||||
// if ROFST got updated,
|
||||
// set the Selected FST so it is in sync
|
||||
if (!_WeAreExitingPROMS && displayRO.LoadTree())
|
||||
if (!_WeAreExitingPROMS && displayRO.LoadTree(this))
|
||||
{
|
||||
SelectedROFst = displayRO.MyROFST;
|
||||
}
|
||||
@@ -4843,7 +4837,7 @@ namespace VEPROMS
|
||||
|
||||
// B2022-026 RO Memory reduction coding (Jakes Merge)
|
||||
displayRO.SetFindDocROButton(false);
|
||||
if (!_WeAreExitingPROMS) displayRO.LoadTree();
|
||||
if (!_WeAreExitingPROMS) displayRO.LoadTree(this);
|
||||
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
//In View Only Mode - Step Properties should be disabled
|
||||
@@ -4864,7 +4858,7 @@ namespace VEPROMS
|
||||
displayRO.ROTypeFilter = E_ROValueType.All; // allow all RO types for Word attachments (but fix)
|
||||
|
||||
displayRO.SetFindDocROButton(true);
|
||||
displayRO.LoadTree();
|
||||
displayRO.LoadTree(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4996,7 +4990,7 @@ namespace VEPROMS
|
||||
//C2026-008 Re-Architect RO.FST to include RO Modification date/time
|
||||
// if ROFST got updated,
|
||||
// set the Selected FST so it is in sync
|
||||
if (displayRO.LoadTree())
|
||||
if (displayRO.LoadTree(this))
|
||||
{
|
||||
SelectedROFst = displayRO.MyROFST;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
namespace Volian.Base.Library
|
||||
{
|
||||
@@ -148,16 +148,34 @@ 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(); }
|
||||
public static void Write(string format, params object[] args)
|
||||
{ _MyDebugPrint.Write(format, args); }
|
||||
{
|
||||
_MyDebugPrint.Close();
|
||||
_MyDebugPrint_Truncated.Close();
|
||||
}
|
||||
public static void WriteLine(string format, params object[] args)
|
||||
{ _MyDebugPrint.WriteLine(format, args); }
|
||||
public static void Show()
|
||||
{ _MyDebugPrint.Show(); }
|
||||
{
|
||||
_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
|
||||
{ get { return _MyDebugPrint.IsOpen; } }
|
||||
private static bool _IncludeWordSecText = true;
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using Volian.Controls.Library;
|
||||
using System.Reflection;
|
||||
using LBWordLibrary;
|
||||
using JR.Utils.GUI.Forms;
|
||||
@@ -607,7 +602,8 @@ namespace Volian.Controls.Library
|
||||
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);
|
||||
_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));
|
||||
_MyEdWord.Focus();
|
||||
_In_DSOTabPanel_Enter = false;
|
||||
|
||||
@@ -7,7 +7,6 @@ using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using Volian.Base.Library;
|
||||
@@ -622,7 +621,7 @@ namespace Volian.Controls.Library
|
||||
|
||||
//C2026-008 Re-Architect RO.FST to include RO Modification date/time
|
||||
// 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;
|
||||
|
||||
@@ -653,7 +652,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
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";
|
||||
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using Volian.Controls.Library;
|
||||
using DevComponents.DotNetBar;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using Volian.Base.Library;
|
||||
@@ -59,6 +56,9 @@ namespace Volian.Controls.Library
|
||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||
#endregion
|
||||
|
||||
// B2026-074 added flag to use when restoring saved procedure tabs
|
||||
public bool LoadingSavedProcTabs { get; set; } = false;
|
||||
|
||||
private static bool _SyncronizeEnahnced = false;
|
||||
public static bool SyncronizeEnhanced
|
||||
{
|
||||
@@ -1282,6 +1282,7 @@ namespace Volian.Controls.Library
|
||||
get { return _SyncEnhancedDocuments; }
|
||||
set { _SyncEnhancedDocuments = value; }
|
||||
}
|
||||
|
||||
public void HandleChangeId(ItemInfo myItemInfo, DisplayTabItem pg)
|
||||
{
|
||||
if (myItemInfo.ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData.ChangeIds)
|
||||
|
||||
@@ -1418,7 +1418,11 @@ namespace Volian.Print.Library
|
||||
float yoff = 0;
|
||||
if (_MyHelper.DidFirstPageDocStyle) yoff = origYoff - (float)mySection.MyDocStyle.Layout.TopMargin;
|
||||
// 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);
|
||||
// B2019-102 Handle PDF Destinations for Word Sections
|
||||
if (ii == 0 && _MyHelper.MyPromsPrinter.SaveLinks)
|
||||
@@ -1533,6 +1537,12 @@ namespace Volian.Print.Library
|
||||
}
|
||||
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
|
||||
// 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)
|
||||
|
||||
Reference in New Issue
Block a user