Compare commits
77
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
034aa67e31 | ||
|
|
f8ab3c57be | ||
|
|
6376d4669b | ||
|
|
f9cce608d6 | ||
|
|
3d65b7c34a | ||
|
|
dbea4abafb | ||
|
|
57622931a5 | ||
|
|
75368c2fe0 | ||
|
|
5e071bd35a | ||
|
|
77639318c6 | ||
|
|
1a890b11cb | ||
|
|
795f21f04b | ||
|
|
c95e86c2a6 | ||
|
|
18d2aa3b51 | ||
|
|
7ba3ea8b13 | ||
|
|
30b34c3a50 | ||
|
|
6a42800d2c | ||
|
|
70f132540f | ||
|
|
cd9eaaaba1 | ||
|
|
70aa1f4024 | ||
|
|
1d634d96fe | ||
|
|
4eb5254d96 | ||
|
|
6c2eee0cbc | ||
|
|
3c5265cecf | ||
|
|
478d35890d | ||
|
|
1b9b63412c | ||
|
|
3bb8fff3a1 | ||
|
|
694bc0ead4 | ||
|
|
cfc324d31e | ||
|
|
43b63e2843 | ||
|
|
f2ec510a70 | ||
|
|
453edbb28e | ||
|
|
bc9407f52f | ||
|
|
954cc5918f | ||
|
|
4ef16e7856 | ||
|
|
1eb3c3e725 | ||
|
|
a89c2d3d22 | ||
|
|
914837a5a2 | ||
|
|
9643a71ba5 | ||
|
|
aa7e0528f8 | ||
|
|
57bd8d569e | ||
|
|
b49d8871a2 | ||
|
|
b90d419bc5 | ||
|
|
1f48d498e1 | ||
|
|
da6139c932 | ||
|
|
be744b40a3 | ||
|
|
780ce657ca | ||
|
|
464be0f803 | ||
|
|
58a6cb9a24 | ||
|
|
9bf7b2ffde | ||
|
|
cde1f28215 | ||
|
|
db198cb7d0 | ||
|
|
99fe567e78 | ||
|
|
2261c8f0f5 | ||
|
|
f93b16fc52 | ||
|
|
7c3a43749c | ||
|
|
ecec7b9f1a | ||
|
|
1aca7335f7 | ||
|
|
ba5aee6640 | ||
|
|
abaf55e9b1 | ||
|
|
3a2dd0b0aa | ||
|
|
0fed1acfd8 | ||
|
|
d7c2300021 | ||
|
|
fca333299d | ||
|
|
a13b03a136 | ||
|
|
48054f5bf1 | ||
|
|
51f2897a33 | ||
|
|
7a3a07b0da | ||
|
|
7c3cfca86c | ||
|
|
352af15984 | ||
|
|
2c42933d58 | ||
|
|
2e68362836 | ||
|
|
c6736db7ea | ||
|
|
c005f03af8 | ||
|
|
459aabcc86 | ||
|
|
05ab48cdc5 | ||
|
|
fd51c209a3 |
+2
-1
@@ -401,4 +401,5 @@ FodyWeavers.xsd
|
|||||||
|
|
||||||
/fmtall
|
/fmtall
|
||||||
/genmacall
|
/genmacall
|
||||||
*AssemblyInfo.cs
|
*AssemblyInfo.cs
|
||||||
|
/PROMS/Baseline/Baseline.sln
|
||||||
|
|||||||
@@ -67,6 +67,7 @@
|
|||||||
<Compile Include="frmSettings.Designer.cs">
|
<Compile Include="frmSettings.Designer.cs">
|
||||||
<DependentUpon>frmSettings.cs</DependentUpon>
|
<DependentUpon>frmSettings.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="GlobalSuppressions.cs" />
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<EmbeddedResource Include="frmBaseline.resx">
|
<EmbeddedResource Include="frmBaseline.resx">
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
// This file is used by Code Analysis to maintain SuppressMessage
|
||||||
|
// attributes that are applied to this project.
|
||||||
|
// Project-level suppressions either have no target or are given
|
||||||
|
// a specific target and scoped to a namespace, type, member, etc.
|
||||||
|
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
|
||||||
|
[assembly: SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "Not modifying Naming Styles")]
|
||||||
@@ -1,7 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Baseline
|
namespace Baseline
|
||||||
|
|||||||
+124
-247
@@ -43,12 +43,9 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Drawing;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Collections.Specialized;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
@@ -73,13 +70,8 @@ namespace Baseline
|
|||||||
}
|
}
|
||||||
public partial class frmBaseline : Form
|
public partial class frmBaseline : Form
|
||||||
{
|
{
|
||||||
private IgnoreLines _MyIgnore = new IgnoreLines();
|
public IgnoreLines MyIgnore { get; set; } = new IgnoreLines();
|
||||||
public IgnoreLines MyIgnore
|
private LastWas myLast = LastWas.Search;
|
||||||
{
|
|
||||||
get { return _MyIgnore; }
|
|
||||||
set { _MyIgnore = value; }
|
|
||||||
}
|
|
||||||
private LastWas myLast = LastWas.Search;
|
|
||||||
private Settings MySettings;
|
private Settings MySettings;
|
||||||
public string MyStatus
|
public string MyStatus
|
||||||
{
|
{
|
||||||
@@ -151,9 +143,11 @@ namespace Baseline
|
|||||||
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
|
||||||
MySettings.IgnoreLines = new BindingList<string>();
|
{
|
||||||
splitContainer1.SplitterDistance = Properties.Settings.Default.Split1;
|
IgnoreLines = new BindingList<string>()
|
||||||
|
};
|
||||||
|
splitContainer1.SplitterDistance = Properties.Settings.Default.Split1;
|
||||||
splitContainer2.SplitterDistance = Properties.Settings.Default.Split2;
|
splitContainer2.SplitterDistance = Properties.Settings.Default.Split2;
|
||||||
splitContainer3.SplitterDistance = Properties.Settings.Default.Split3;
|
splitContainer3.SplitterDistance = Properties.Settings.Default.Split3;
|
||||||
if (Properties.Settings.Default.MRU1 != null && Properties.Settings.Default.MRU1.Count > 0)
|
if (Properties.Settings.Default.MRU1 != null && Properties.Settings.Default.MRU1.Count > 0)
|
||||||
@@ -240,28 +234,27 @@ namespace Baseline
|
|||||||
lbProcedures.Items.Clear();
|
lbProcedures.Items.Clear();
|
||||||
lbResults1.Items.Clear();
|
lbResults1.Items.Clear();
|
||||||
lbResults2.Items.Clear();
|
lbResults2.Items.Clear();
|
||||||
FindFile ff = lbDifferent.SelectedItem as FindFile;
|
if (lbDifferent.SelectedItem is FindFile ff)
|
||||||
if (ff != null)
|
{
|
||||||
{
|
// Fill Procedure or Result ListBoxes
|
||||||
// Fill Procedure or Result ListBoxes
|
switch (myLast)
|
||||||
switch (myLast)
|
{
|
||||||
{
|
case LastWas.Pagination:
|
||||||
case LastWas.Pagination:
|
CompareContent(ff.File1, ff.File2);// Compare DebugPagination
|
||||||
CompareContent(ff.File1, ff.File2);// Compare DebugPagination
|
break;
|
||||||
break;
|
case LastWas.Baseline:
|
||||||
case LastWas.Baseline:
|
CompareContent3(ff.File1, ff.File2);// Compare DebugMeta
|
||||||
CompareContent3(ff.File1, ff.File2);// Compare DebugMeta
|
break;
|
||||||
break;
|
case LastWas.Search:
|
||||||
case LastWas.Search:
|
ShowSearchResults(ff.File1, ff.File2);// Perform search on DebugMeta
|
||||||
ShowSearchResults(ff.File1, ff.File2);// Perform search on DebugMeta
|
break;
|
||||||
break;
|
default:
|
||||||
default:
|
CompareContent(ff.File1, ff.File2);//Default DebugPagination
|
||||||
CompareContent(ff.File1, ff.File2);//Default DebugPagination
|
break;
|
||||||
break;
|
}
|
||||||
}
|
//CompareOneFile(ff.File1, ff.File2);
|
||||||
//CompareOneFile(ff.File1, ff.File2);
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
Procedures MyProcs1;
|
Procedures MyProcs1;
|
||||||
Procedures MyProcs2;
|
Procedures MyProcs2;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -361,13 +354,6 @@ namespace Baseline
|
|||||||
lines1 = list1.AsEnumerable<string>();// Convert back to Enumerable to work with LINQ
|
lines1 = list1.AsEnumerable<string>();// Convert back to Enumerable to work with LINQ
|
||||||
return lines1;
|
return lines1;
|
||||||
}
|
}
|
||||||
private string GetProcNum(string line)
|
|
||||||
{
|
|
||||||
string retval = line.Substring(3, line.IndexOf(" | ") - 3);
|
|
||||||
if (retval.Contains("_"))
|
|
||||||
retval = retval.Substring(0, retval.IndexOf("_") - 1);
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Include lines for Procedure or Page or Search is true
|
/// Include lines for Procedure or Page or Search is true
|
||||||
/// Account for Case Insensitive CheckBox
|
/// Account for Case Insensitive CheckBox
|
||||||
@@ -450,8 +436,8 @@ namespace Baseline
|
|||||||
private void lbResults1_SelectedIndexChanged(object sender, EventArgs e)
|
private void lbResults1_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
string line=null;
|
string line=null;
|
||||||
if (lbResults1.SelectedItem is string)
|
if (lbResults1.SelectedItem is string v)
|
||||||
line = (string)lbResults1.SelectedItem;
|
line = v;
|
||||||
Line myLine = lbResults1.SelectedItem as Line;
|
Line myLine = lbResults1.SelectedItem as Line;
|
||||||
switch (myLast)
|
switch (myLast)
|
||||||
{
|
{
|
||||||
@@ -472,8 +458,8 @@ namespace Baseline
|
|||||||
{
|
{
|
||||||
|
|
||||||
string line=null;
|
string line=null;
|
||||||
if(lbResults2.SelectedItem is string)
|
if(lbResults2.SelectedItem is string v)
|
||||||
line = (string)lbResults2.SelectedItem;
|
line = v;
|
||||||
Line myLine = lbResults2.SelectedItem as Line;
|
Line myLine = lbResults2.SelectedItem as Line;
|
||||||
|
|
||||||
switch (myLast)
|
switch (myLast)
|
||||||
@@ -503,7 +489,7 @@ namespace Baseline
|
|||||||
string[] fileList = Directory.GetFiles(fi.DirectoryName, patern);
|
string[] fileList = Directory.GetFiles(fi.DirectoryName, patern);
|
||||||
// sort the list of file list
|
// sort the list of file list
|
||||||
Array.Sort((string[])fileList);
|
Array.Sort((string[])fileList);
|
||||||
return fileList.First(); // the PDF file that we what should be top of the list then.
|
return fileList.FirstOrDefault(); // the PDF file that we what should be top of the list then.
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -515,16 +501,10 @@ namespace Baseline
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private string ParseOutProcedureNumberFromLine(string txt)
|
private string ParseOutProcedureNumberFromLine(string txt)
|
||||||
{
|
{
|
||||||
// old logic was looking for the first occurence of ".S" in the txt string as the ending point of the procedure nuumber
|
// if the item is to a high levels step or sub-step the short path as "..S" for each part of the step
|
||||||
// Beaver Valley has a procedure number "1.SBGEN" in which the old logic would not work
|
// so look for the last occurence of ".." which will be the end of the section information
|
||||||
// 1.SBGEN.SC. ==> short path of attachment section "C"
|
int lidx = txt.LastIndexOf("..");
|
||||||
// 1.SBGEN.SC..S1. ==> short path of Step 1 in attachment section "C"
|
if (lidx > 0)
|
||||||
string rtnstr = null;
|
|
||||||
int lidx = -1;
|
|
||||||
// if the item is to a high levels step or sub-step the short path as "..S" for each part of the step
|
|
||||||
// so look for the last occurence of ".." which will be the end of the section information
|
|
||||||
lidx = txt.LastIndexOf("..");
|
|
||||||
if (lidx > 0)
|
|
||||||
{
|
{
|
||||||
lidx = txt.LastIndexOf(".S", lidx); // this will position us to the end of the procedure number
|
lidx = txt.LastIndexOf(".S", lidx); // this will position us to the end of the procedure number
|
||||||
}
|
}
|
||||||
@@ -532,9 +512,13 @@ namespace Baseline
|
|||||||
{
|
{
|
||||||
lidx = txt.LastIndexOf(".S"); // this will position us to the end of the procedure number if there was no step information
|
lidx = txt.LastIndexOf(".S"); // this will position us to the end of the procedure number if there was no step information
|
||||||
}
|
}
|
||||||
// B2018-113 - Replace slashes and backslashes with underscores just as PROMS does when creating a PDF file.
|
// old logic was looking for the first occurence of ".S" in the txt string as the ending point of the procedure nuumber
|
||||||
rtnstr = txt.Substring(8, lidx - 8).Replace("/", "_").Replace("\\", "_");
|
// Beaver Valley has a procedure number "1.SBGEN" in which the old logic would not work
|
||||||
return rtnstr;
|
// 1.SBGEN.SC. ==> short path of attachment section "C"
|
||||||
|
// 1.SBGEN.SC..S1. ==> short path of Step 1 in attachment section "C"
|
||||||
|
// B2018-113 - Replace slashes and backslashes with underscores just as PROMS does when creating a PDF file.
|
||||||
|
string rtnstr = txt.Substring(8, lidx - 8).Replace("/", "_").Replace("\\", "_");
|
||||||
|
return rtnstr;
|
||||||
}
|
}
|
||||||
|
|
||||||
string exePath;
|
string exePath;
|
||||||
@@ -616,10 +600,10 @@ namespace Baseline
|
|||||||
progname = @"C:\Program Files (x86)\IDM Computer Solutions\UltraCompare\UC.exe";
|
progname = @"C:\Program Files (x86)\IDM Computer Solutions\UltraCompare\UC.exe";
|
||||||
System.Diagnostics.ProcessStartInfo psi =
|
System.Diagnostics.ProcessStartInfo psi =
|
||||||
new System.Diagnostics.ProcessStartInfo(progname, string.Format(@" -t ""{0}"" ""{1}""", compareFile, baseFile));
|
new System.Diagnostics.ProcessStartInfo(progname, string.Format(@" -t ""{0}"" ""{1}""", compareFile, baseFile));
|
||||||
System.Diagnostics.Process prc = System.Diagnostics.Process.Start(psi);
|
_ = System.Diagnostics.Process.Start(psi);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ProcessLocationQueue myQueue= new ProcessLocationQueue();
|
private readonly ProcessLocationQueue myQueue= new ProcessLocationQueue();
|
||||||
private Timer queueTimer = null;
|
private Timer queueTimer = null;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Move a Process to a specific screen location - This is done with a timer so
|
/// Move a Process to a specific screen location - This is done with a timer so
|
||||||
@@ -632,9 +616,11 @@ namespace Baseline
|
|||||||
{
|
{
|
||||||
if (queueTimer == null)
|
if (queueTimer == null)
|
||||||
{
|
{
|
||||||
queueTimer = new Timer();
|
queueTimer = new Timer
|
||||||
queueTimer.Enabled = false;
|
{
|
||||||
queueTimer.Tick += queueTimer_Tick;
|
Enabled = false
|
||||||
|
};
|
||||||
|
queueTimer.Tick += queueTimer_Tick;
|
||||||
queueTimer.Interval = 1000;
|
queueTimer.Interval = 1000;
|
||||||
}
|
}
|
||||||
myQueue.Add(proc, x, y);
|
myQueue.Add(proc, x, y);
|
||||||
@@ -669,8 +655,8 @@ namespace Baseline
|
|||||||
string procPatern = string.Format("*{0}*.pdf", proc == string.Empty ? "noProcNumber" : proc);
|
string procPatern = string.Format("*{0}*.pdf", proc == string.Empty ? "noProcNumber" : proc);
|
||||||
int pagenum = myLine.MyPage.Number;
|
int pagenum = myLine.MyPage.Number;
|
||||||
FindFile ff = lbDifferent.SelectedItem as FindFile;
|
FindFile ff = lbDifferent.SelectedItem as FindFile;
|
||||||
string PDFfileName = null;
|
string PDFfileName;
|
||||||
if (list == 1)
|
if (list == 1)
|
||||||
{
|
{
|
||||||
FileInfo fi1 = new FileInfo(ff.File1);
|
FileInfo fi1 = new FileInfo(ff.File1);
|
||||||
PDFfileName = GetPFDFileAndPath(fi1, procPatern);
|
PDFfileName = GetPFDFileAndPath(fi1, procPatern);
|
||||||
@@ -701,11 +687,13 @@ namespace Baseline
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// open the PDF and jump to the page number
|
// open the PDF and jump to the page number
|
||||||
System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A \"page={0}\" \"{1}\" ", pagenum,PDFfileName));
|
System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A \"page={0}\" \"{1}\" ", pagenum, PDFfileName))
|
||||||
psi1.UseShellExecute = false;
|
{
|
||||||
System.Diagnostics.Process p1 = System.Diagnostics.Process.Start(psi1);
|
UseShellExecute = false
|
||||||
}
|
};
|
||||||
|
_ = System.Diagnostics.Process.Start(psi1);
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Perform Debug Meta file comparison for all of the folders within the automated testing folders
|
/// Perform Debug Meta file comparison for all of the folders within the automated testing folders
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -785,11 +773,10 @@ namespace Baseline
|
|||||||
}
|
}
|
||||||
private void lbProcedures_SelectedIndexChanged(object sender, EventArgs e)
|
private void lbProcedures_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
//Initialize Results List Box
|
//Initialize Results List Box
|
||||||
Procedure myProc = lbProcedures.SelectedItem as Procedure;
|
if (!(lbProcedures.SelectedItem is Procedure myProc)) return; // clicked on the white space (blank line) in the list of different procedures
|
||||||
if (myProc == null) return; // clicked on the white space (blank line) in the list of different procedures
|
//TODO: May need to consider if there are duplicate procedure numers and titles
|
||||||
//TODO: May need to consider if there are duplicate procedure numers and titles
|
Procedure myProc1 = MyProcs1.Find(x => x.Number == myProc.Number && x.Title == myProc.Title);
|
||||||
Procedure myProc1 = MyProcs1.Find(x => x.Number == myProc.Number && x.Title == myProc.Title);
|
|
||||||
// Build the results ListBox for the left window
|
// Build the results ListBox for the left window
|
||||||
lbResults1.Items.Clear();
|
lbResults1.Items.Clear();
|
||||||
if (myProc1 != null)
|
if (myProc1 != null)
|
||||||
@@ -836,28 +823,13 @@ namespace Baseline
|
|||||||
};
|
};
|
||||||
public class Settings
|
public class Settings
|
||||||
{
|
{
|
||||||
private BindingList<string> _IgnoreLines;
|
public BindingList<string> IgnoreLines { get; set; }
|
||||||
public BindingList<string> IgnoreLines
|
}
|
||||||
{
|
|
||||||
get { return _IgnoreLines; }
|
|
||||||
set { _IgnoreLines = value; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class FindFile
|
public partial class FindFile
|
||||||
{
|
{
|
||||||
private string _File1;
|
public string File1 { get; set; }
|
||||||
public string File1
|
public string File2 { get; set; }
|
||||||
{
|
public FindFile(string file1, string file2)
|
||||||
get { return _File1; }
|
|
||||||
set { _File1 = value; }
|
|
||||||
}
|
|
||||||
private string _File2;
|
|
||||||
public string File2
|
|
||||||
{
|
|
||||||
get { return _File2; }
|
|
||||||
set { _File2 = value; }
|
|
||||||
}
|
|
||||||
public FindFile(string file1, string file2)
|
|
||||||
{
|
{
|
||||||
File1 = file1;
|
File1 = file1;
|
||||||
File2 = file2;
|
File2 = file2;
|
||||||
@@ -865,19 +837,16 @@ namespace Baseline
|
|||||||
}
|
}
|
||||||
public partial class FindFiles : List<FindFile>
|
public partial class FindFiles : List<FindFile>
|
||||||
{
|
{
|
||||||
private string _FileName;
|
private readonly string _FileName;
|
||||||
public string FileName
|
public string FileName => _FileName;
|
||||||
{
|
/// <summary>
|
||||||
get { return _FileName; }
|
/// Build list of DocVersion Folders with differences
|
||||||
}
|
/// </summary>
|
||||||
/// <summary>
|
/// <param name="path1">Base path</param>
|
||||||
/// Build list of DocVersion Folders with differences
|
/// <param name="path2">Compare path</param>
|
||||||
/// </summary>
|
/// <param name="fileName">filename</param>
|
||||||
/// <param name="path1">Base path</param>
|
/// <param name="myIgnore">Ignore list</param>
|
||||||
/// <param name="path2">Compare path</param>
|
public FindFiles(string path1, string path2, string fileName,IgnoreLines myIgnore)
|
||||||
/// <param name="fileName">filename</param>
|
|
||||||
/// <param name="myIgnore">Ignore list</param>
|
|
||||||
public FindFiles(string path1, string path2, string fileName,IgnoreLines myIgnore)
|
|
||||||
{
|
{
|
||||||
DirectoryInfo di1 = new DirectoryInfo(path1);
|
DirectoryInfo di1 = new DirectoryInfo(path1);
|
||||||
DirectoryInfo di2 = new DirectoryInfo(path2);
|
DirectoryInfo di2 = new DirectoryInfo(path2);
|
||||||
@@ -1103,34 +1072,16 @@ namespace Baseline
|
|||||||
// Text - the line of text
|
// Text - the line of text
|
||||||
public partial class Procedure
|
public partial class Procedure
|
||||||
{
|
{
|
||||||
private string _Number;
|
public string Number { get; set; }
|
||||||
public string Number
|
public string Title { get; set; }
|
||||||
|
public Pages MyPages { get; set; } = new Pages();
|
||||||
|
public Procedure(string number, string title)
|
||||||
{
|
{
|
||||||
get { return _Number; }
|
Number = number;
|
||||||
set { _Number = value; }
|
Title = title;
|
||||||
}
|
}
|
||||||
private string _Title;
|
public override string ToString() => string.Format("{0} - {1}", Number, Title);
|
||||||
public string Title
|
}
|
||||||
{
|
|
||||||
get { return _Title; }
|
|
||||||
set { _Title = value; }
|
|
||||||
}
|
|
||||||
private Pages _MyPages = new Pages();
|
|
||||||
public Pages MyPages
|
|
||||||
{
|
|
||||||
get { return _MyPages; }
|
|
||||||
set { _MyPages = value; }
|
|
||||||
}
|
|
||||||
public Procedure(string number, string title)
|
|
||||||
{
|
|
||||||
_Number = number;
|
|
||||||
_Title = title;
|
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return string.Format("{0} - {1}", Number, Title);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class Procedures : List<Procedure>
|
public partial class Procedures : List<Procedure>
|
||||||
{
|
{
|
||||||
// Sample data for a Procedure Number line
|
// Sample data for a Procedure Number line
|
||||||
@@ -1161,77 +1112,34 @@ namespace Baseline
|
|||||||
}
|
}
|
||||||
public partial class Page
|
public partial class Page
|
||||||
{
|
{
|
||||||
private int _Number;
|
public int Number { get; set; }
|
||||||
public int Number
|
|
||||||
{
|
|
||||||
get { return _Number; }
|
|
||||||
set { _Number = value; }
|
|
||||||
}
|
|
||||||
private Lines _MyLines = new Lines();
|
|
||||||
|
|
||||||
public Lines MyLines
|
public Lines MyLines { get; set; } = new Lines();
|
||||||
{
|
public Page(int number) => Number = number;
|
||||||
get { return _MyLines; }
|
public override string ToString() => string.Format("Page {0}", Number);
|
||||||
set { _MyLines = value; }
|
}
|
||||||
}
|
|
||||||
public Page(int number)
|
|
||||||
{
|
|
||||||
_Number = number;
|
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return string.Format("Page {0}", Number);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class Pages : List<Page>
|
public partial class Pages : List<Page>
|
||||||
{
|
{
|
||||||
public void Add(int number)
|
public void Add(int number) => Add(new Page(number));
|
||||||
{
|
}
|
||||||
Add(new Page(number));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class Line
|
public partial class Line
|
||||||
{
|
{
|
||||||
private Procedure _MyProc;
|
public Procedure MyProc { get; set; }
|
||||||
public Procedure MyProc
|
public Page MyPage { get; set; }
|
||||||
|
public string Text { get; set; }
|
||||||
|
public Line(string text) => Text = text;
|
||||||
|
public Line(string text, Procedure myProc, Page myPage)
|
||||||
{
|
{
|
||||||
get { return _MyProc; }
|
Text = text;
|
||||||
set { _MyProc = value; }
|
MyProc = myProc;
|
||||||
|
MyPage = myPage;
|
||||||
}
|
}
|
||||||
private Page _MyPage;
|
public override string ToString() => Text;
|
||||||
public Page MyPage
|
}
|
||||||
{
|
|
||||||
get { return _MyPage; }
|
|
||||||
set { _MyPage = value; }
|
|
||||||
}
|
|
||||||
private string _Text;
|
|
||||||
public string Text
|
|
||||||
{
|
|
||||||
get { return _Text; }
|
|
||||||
set { _Text = value; }
|
|
||||||
}
|
|
||||||
public Line(string text)
|
|
||||||
{
|
|
||||||
_Text = text;
|
|
||||||
}
|
|
||||||
public Line(string text, Procedure myProc, Page myPage)
|
|
||||||
{
|
|
||||||
_Text = text;
|
|
||||||
_MyProc = myProc;
|
|
||||||
_MyPage = myPage;
|
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return Text;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class Lines : List<Line>
|
public partial class Lines : List<Line>
|
||||||
{
|
{
|
||||||
public void Add(string text)
|
public void Add(string text) => Add(new Line(text));
|
||||||
{
|
}
|
||||||
Add(new Line(text));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public partial class IgnoreLine
|
public partial class IgnoreLine
|
||||||
{
|
{
|
||||||
@@ -1269,21 +1177,12 @@ namespace Baseline
|
|||||||
public IgnoreLines()
|
public IgnoreLines()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public void Add(string text, Relation searchType, bool active)
|
public void Add(string text, Relation searchType, bool active) => Add(new IgnoreLine(text, searchType, active));
|
||||||
{
|
// Convert IgnoreLines to string (XML)
|
||||||
Add(new IgnoreLine(text, searchType, active));
|
public override string ToString() => GenericSerializer<IgnoreLines>.StringSerialize(this);
|
||||||
}
|
// Convert string to IgnoreLines
|
||||||
// Convert IgnoreLines to string (XML)
|
public static IgnoreLines Get(string xml) => GenericSerializer<IgnoreLines>.StringDeserialize(xml);
|
||||||
public override string ToString()
|
}
|
||||||
{
|
|
||||||
return GenericSerializer<IgnoreLines>.StringSerialize(this);
|
|
||||||
}
|
|
||||||
// Convert string to IgnoreLines
|
|
||||||
public static IgnoreLines Get(string xml)
|
|
||||||
{
|
|
||||||
return GenericSerializer<IgnoreLines>.StringDeserialize(xml);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is a simple serializer that takes a class and converts it to and from string (XML)
|
/// This is a simple serializer that takes a class and converts it to and from string (XML)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -1311,7 +1210,7 @@ namespace Baseline
|
|||||||
string ss = s.Replace("encoding=\"utf-16\"", "");
|
string ss = s.Replace("encoding=\"utf-16\"", "");
|
||||||
XmlSerializer xs = new XmlSerializer(typeof(T));
|
XmlSerializer xs = new XmlSerializer(typeof(T));
|
||||||
UTF8Encoding enc = new UTF8Encoding();
|
UTF8Encoding enc = new UTF8Encoding();
|
||||||
Byte[] arrBytData = enc.GetBytes(ss);
|
byte[] arrBytData = enc.GetBytes(ss);
|
||||||
using (MemoryStream ms = new MemoryStream(arrBytData))
|
using (MemoryStream ms = new MemoryStream(arrBytData))
|
||||||
{
|
{
|
||||||
t = (T)xs.Deserialize(ms);
|
t = (T)xs.Deserialize(ms);
|
||||||
@@ -1325,12 +1224,9 @@ namespace Baseline
|
|||||||
public class NonXsiTextWriter : XmlTextWriter
|
public class NonXsiTextWriter : XmlTextWriter
|
||||||
{
|
{
|
||||||
public NonXsiTextWriter(TextWriter w) : base(w) { }
|
public NonXsiTextWriter(TextWriter w) : base(w) { }
|
||||||
public NonXsiTextWriter(Stream w, Encoding encoding)
|
public NonXsiTextWriter(Stream w, Encoding encoding)
|
||||||
: base(w, encoding)
|
: base(w, encoding) => Formatting = Formatting.Indented;
|
||||||
{
|
public NonXsiTextWriter(string filename, Encoding encoding) : base(filename, encoding) { }
|
||||||
this.Formatting = Formatting.Indented;
|
|
||||||
}
|
|
||||||
public NonXsiTextWriter(string filename, Encoding encoding) : base(filename, encoding) { }
|
|
||||||
bool _skip = false;
|
bool _skip = false;
|
||||||
public override void WriteStartAttribute(string prefix, string localName, string ns)
|
public override void WriteStartAttribute(string prefix, string localName, string ns)
|
||||||
{
|
{
|
||||||
@@ -1372,32 +1268,16 @@ namespace Baseline
|
|||||||
public const short SWP_NOZORDER = 0X4;
|
public const short SWP_NOZORDER = 0X4;
|
||||||
public const int SWP_SHOWWINDOW = 0x0040;
|
public const int SWP_SHOWWINDOW = 0x0040;
|
||||||
|
|
||||||
private System.Diagnostics.Process _Process;
|
public System.Diagnostics.Process Process { get; set; }
|
||||||
|
public int X { get; set; }
|
||||||
public System.Diagnostics.Process Process
|
public int Y { get; set; }
|
||||||
{
|
public ProcessLocation(System.Diagnostics.Process process, int x, int y)
|
||||||
get { return _Process; }
|
|
||||||
set { _Process = value; }
|
|
||||||
}
|
|
||||||
private int _X;
|
|
||||||
public int X
|
|
||||||
{
|
|
||||||
get { return _X; }
|
|
||||||
set { _X = value; }
|
|
||||||
}
|
|
||||||
private int _Y;
|
|
||||||
public int Y
|
|
||||||
{
|
|
||||||
get { return _Y; }
|
|
||||||
set { _Y = value; }
|
|
||||||
}
|
|
||||||
public ProcessLocation(System.Diagnostics.Process process, int x, int y)
|
|
||||||
{
|
{
|
||||||
Process = process;
|
Process = process;
|
||||||
X = x;
|
X = x;
|
||||||
Y = y;
|
Y = y;
|
||||||
}
|
}
|
||||||
private static Boolean FoxitSettingInfo = true;
|
private static bool FoxitSettingInfo = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MoveIt() moves the window containing the PDF viewer to the right so the two pdf viewer windows will not overlap.
|
/// MoveIt() moves the window containing the PDF viewer to the right so the two pdf viewer windows will not overlap.
|
||||||
@@ -1418,11 +1298,8 @@ namespace Baseline
|
|||||||
}
|
}
|
||||||
public class ProcessLocationQueue: Queue<ProcessLocation>
|
public class ProcessLocationQueue: Queue<ProcessLocation>
|
||||||
{
|
{
|
||||||
public void Add(System.Diagnostics.Process process, int x, int y)
|
public void Add(System.Diagnostics.Process process, int x, int y) => Enqueue(new ProcessLocation(process, x, y));
|
||||||
{
|
public void ProcessNext()
|
||||||
Enqueue(new ProcessLocation(process,x,y));
|
|
||||||
}
|
|
||||||
public void ProcessNext()
|
|
||||||
{
|
{
|
||||||
ProcessLocation pl = Dequeue();
|
ProcessLocation pl = Dequeue();
|
||||||
pl.MoveIt();
|
pl.MoveIt();
|
||||||
|
|||||||
@@ -1,11 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Baseline
|
namespace Baseline
|
||||||
@@ -19,17 +12,7 @@ namespace Baseline
|
|||||||
set {
|
set {
|
||||||
_MyIgnore = value;
|
_MyIgnore = value;
|
||||||
dgv.DataSource=null;
|
dgv.DataSource=null;
|
||||||
//dgvcSearchType.ValueType = typeof(Relation);
|
|
||||||
//dgvcSearchType.ValueMember = "Value";
|
|
||||||
//dgvcSearchType.DisplayMember = "Display";
|
|
||||||
//dgvcSearchType.DataSource = new Relation[] { Relation.Contains, Relation.StartsWith, Relation.EndsWith, Relation.Regex }
|
|
||||||
//.Select(x => new { Display = x.ToString(), Value = x })
|
|
||||||
//.ToList();
|
|
||||||
dgv.DataSource=value;
|
dgv.DataSource=value;
|
||||||
//dgvcSearchType.DataSource =
|
|
||||||
//new List<Relation>((Relation[]) Enum.GetValues(typeof(Relation)))
|
|
||||||
//.Select(x => new { Display=x.ToString(), Value=(int)x })
|
|
||||||
//.ToList();;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public frmSettings(IgnoreLines myIgnore)
|
public frmSettings(IgnoreLines myIgnore)
|
||||||
@@ -46,19 +29,16 @@ namespace Baseline
|
|||||||
col.ValueType = typeof(Relation);
|
col.ValueType = typeof(Relation);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void dgv_DataError(object sender, DataGridViewDataErrorEventArgs e)
|
private void dgv_DataError(object sender, DataGridViewDataErrorEventArgs e) => Console.WriteLine("Here");
|
||||||
|
private void btnOK_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Here");
|
DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||||
}
|
Close();
|
||||||
private void btnOK_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
this.DialogResult = System.Windows.Forms.DialogResult.OK;
|
|
||||||
this.Close();
|
|
||||||
}
|
}
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
private void btnCancel_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -179,6 +179,7 @@
|
|||||||
<Content Include="fmtall\CPL_00all.xml" />
|
<Content Include="fmtall\CPL_00all.xml" />
|
||||||
<Content Include="fmtall\CPL_01all.xml" />
|
<Content Include="fmtall\CPL_01all.xml" />
|
||||||
<Content Include="fmtall\CPL_02all.xml" />
|
<Content Include="fmtall\CPL_02all.xml" />
|
||||||
|
<Content Include="fmtall\CPL_04all.xml" />
|
||||||
<Content Include="fmtall\CPL_03all.xml" />
|
<Content Include="fmtall\CPL_03all.xml" />
|
||||||
<Content Include="fmtall\CPSAMGDataall.xml" />
|
<Content Include="fmtall\CPSAMGDataall.xml" />
|
||||||
<Content Include="fmtall\CPSAMGDEVall.xml" />
|
<Content Include="fmtall\CPSAMGDEVall.xml" />
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -5547,6 +5547,12 @@ ELSE PRINT 'Function: ve_GetItemDerivedApplicability Error on Creation'
|
|||||||
GO
|
GO
|
||||||
|
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Matthew Schill
|
||||||
|
-- Modify date: 07/14/2026
|
||||||
|
-- Description: Reworked ve_GetParentItem for Performance improvement
|
||||||
|
-- =============================================
|
||||||
/****** Object: UserDefinedFunction [dbo].[vefn_GetParentItem] Script Date: 03/28/2012 17:58:48 ******/
|
/****** Object: UserDefinedFunction [dbo].[vefn_GetParentItem] Script Date: 03/28/2012 17:58:48 ******/
|
||||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetParentItem]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetParentItem]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
||||||
DROP FUNCTION [ve_GetParentItem];
|
DROP FUNCTION [ve_GetParentItem];
|
||||||
@@ -5555,35 +5561,46 @@ GO
|
|||||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||||
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
CREATE FUNCTION [dbo].[ve_GetParentItem] (@ItemID int) RETURNS int
|
CREATE OR ALTER FUNCTION [dbo].[ve_GetParentItem] (@ItemID int) RETURNS int
|
||||||
WITH EXECUTE AS OWNER
|
WITH EXECUTE AS OWNER
|
||||||
AS
|
AS
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE @ParentID int;
|
DECLARE @ParentID int;
|
||||||
WITH Itemz([ItemID],[IsFound]) as
|
WITH Itemz([ItemID]) as
|
||||||
(
|
(
|
||||||
select ii.itemid,0 from items ii where ii.itemid = @ItemID
|
select ii.itemid from items ii WITH (NOLOCK) where ii.itemid = @ItemID
|
||||||
union all
|
union all
|
||||||
select ii.previousid,0 from items ii
|
select ii.previousid from items ii WITH (NOLOCK)
|
||||||
join itemz zz on ii.itemid = zz.itemid
|
join itemz zz on ii.itemid = zz.itemid
|
||||||
where ii.previousid is not null
|
where ii.previousid is not null
|
||||||
and zz.isfound = 0
|
|
||||||
union all
|
|
||||||
select ii.itemid,1
|
|
||||||
from parts pp
|
|
||||||
join itemz zz on pp.itemid = zz.itemid
|
|
||||||
join items ii on ii.contentid = pp.contentid
|
|
||||||
)
|
)
|
||||||
select top 1 @ParentID = itemid from itemz
|
select top 1 @ParentID = ii.itemid
|
||||||
where isfound = 1 OPTION (MAXRECURSION 10000)
|
from itemz
|
||||||
|
inner join parts pp WITH (NOLOCK) on pp.itemid = itemz.itemid
|
||||||
|
inner join items ii WITH (NOLOCK) on ii.contentid = pp.contentid
|
||||||
|
OPTION (MAXRECURSION 10000)
|
||||||
|
|
||||||
RETURN @ParentID
|
RETURN @ParentID
|
||||||
END
|
END
|
||||||
|
|
||||||
GO
|
GO
|
||||||
|
|
||||||
IF (@@Error = 0) PRINT 'ScalerFunction [vefn_GetParentItem] Succeeded'
|
IF (@@Error = 0) PRINT 'ScalerFunction [vefn_GetParentItem] Succeeded'
|
||||||
ELSE PRINT 'ScalerFunction [vefn_GetParentItem] Error on Creation'
|
ELSE PRINT 'ScalerFunction [vefn_GetParentItem] Error on Creation'
|
||||||
go
|
go
|
||||||
|
|
||||||
|
IF EXISTS (SELECT * FROM dbo.sysIndexes WHERE name like 'IX_PartsItemID')
|
||||||
|
DROP INDEX [IX_PartsItemID] ON [dbo].[tblParts];
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE NONCLUSTERED INDEX IX_PartsItemID
|
||||||
|
ON [dbo].[tblParts] ([ItemID] ASC)
|
||||||
|
INCLUDE([ContentID],[DeleteStatus],[FromType]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||||
|
GO
|
||||||
|
|
||||||
|
PRINT 'Added IX_PartsItemID Index. Speeds up Getting Parent Items'
|
||||||
|
GO
|
||||||
|
|
||||||
/****** Object: UserDefinedFunction [dbo].[vefn_CanTransitionBeCreated] Script Date: 10/14/2012 02:03:30 ******/
|
/****** Object: UserDefinedFunction [dbo].[vefn_CanTransitionBeCreated] Script Date: 10/14/2012 02:03:30 ******/
|
||||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_CanTransitionBeCreated]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_CanTransitionBeCreated]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
||||||
DROP FUNCTION [vefn_CanTransitionBeCreated];
|
DROP FUNCTION [vefn_CanTransitionBeCreated];
|
||||||
@@ -25051,8 +25068,8 @@ BEGIN TRY -- Try Block
|
|||||||
DECLARE @RevDate varchar(255)
|
DECLARE @RevDate varchar(255)
|
||||||
DECLARE @RevDescription varchar(255)
|
DECLARE @RevDescription varchar(255)
|
||||||
|
|
||||||
set @RevDate = '06/29/2026 7:00 AM'
|
set @RevDate = '07/16/2026 8:30 AM'
|
||||||
set @RevDescription = 'Update to Grid Deletion Audits'
|
set @RevDescription = 'Reworked ve_GetParentItem for Performance improvement'
|
||||||
|
|
||||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||||
|
|||||||
@@ -2148,7 +2148,7 @@ namespace VEPROMS
|
|||||||
//C2019-036 View Only mode work with Checked Out Procedures
|
//C2019-036 View Only mode work with Checked Out Procedures
|
||||||
// View Only Mode is no longer checked out, so no longer has an OwnerID
|
// View Only Mode is no longer checked out, so no longer has an OwnerID
|
||||||
// This will keep those tabs from auto-closing based on the timer
|
// This will keep those tabs from auto-closing based on the timer
|
||||||
if (!myList.Contains(dti.OwnerID) && dti.MyStepTabPanel.MyStepPanel.VwMode != E_ViewMode.View)
|
if (!myList.Contains(dti.OwnerID) && dti?.MyStepTabPanel?.MyStepPanel?.VwMode != E_ViewMode.View)
|
||||||
{
|
{
|
||||||
MyCloseTabList.PushDTI(dti);
|
MyCloseTabList.PushDTI(dti);
|
||||||
}
|
}
|
||||||
@@ -3578,6 +3578,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
if (parameter.StartsWith("/P="))
|
if (parameter.StartsWith("/P="))
|
||||||
{
|
{
|
||||||
|
BaseLnSettings.blBaseLine = true;
|
||||||
MSWordToPDF.Automatic = true;
|
MSWordToPDF.Automatic = true;
|
||||||
PromsPrinter.BaselineTesting = true;// Set Baseline Testing property for PROMsPrinter
|
PromsPrinter.BaselineTesting = true;// Set Baseline Testing property for PROMsPrinter
|
||||||
string[] dvstrs = parameter.Substring(3).Split(",".ToCharArray());
|
string[] dvstrs = parameter.Substring(3).Split(",".ToCharArray());
|
||||||
@@ -3623,7 +3624,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
ranAuto = true;
|
ranAuto = true;
|
||||||
}
|
}
|
||||||
|
BaseLnSettings.blBaseLine = false;
|
||||||
if (ranAuto)
|
if (ranAuto)
|
||||||
{
|
{
|
||||||
this.Close();
|
this.Close();
|
||||||
|
|||||||
@@ -1258,7 +1258,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
int lastStart = sel == null ? 0 : sel.Start;
|
int lastStart = sel == null ? 0 : sel.Start;
|
||||||
|
|
||||||
while (sel != null)
|
while (sel != null)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(sel.Text))
|
if (!string.IsNullOrEmpty(sel.Text))
|
||||||
{
|
{
|
||||||
@@ -1438,7 +1438,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
lastStart = sel.Start;
|
lastStart = sel.Start;
|
||||||
|
|
||||||
sel = FindRO();
|
sel = FindRO();
|
||||||
|
|
||||||
if (sel != null && !string.IsNullOrEmpty(sel.Text) && sel.Start == lastStart)
|
if (sel != null && !string.IsNullOrEmpty(sel.Text) && sel.Start == lastStart)
|
||||||
{
|
{
|
||||||
@@ -2124,22 +2124,22 @@ namespace VEPROMS.CSLA.Library
|
|||||||
bool executeResult = false;
|
bool executeResult = false;
|
||||||
LBSelection sel = null;
|
LBSelection sel = null;
|
||||||
|
|
||||||
while (!executeResult)
|
while (!executeResult)
|
||||||
{
|
{
|
||||||
sel = MyApp.Selection;
|
sel = MyApp.Selection;
|
||||||
LBFind find = sel.Find;
|
LBFind find = sel.Find;
|
||||||
find.ClearFormatting();
|
find.ClearFormatting();
|
||||||
|
|
||||||
// Search string format - this is MSWord wildcard format
|
// Search string format - this is MSWord wildcard format
|
||||||
// If you do a search in MSWord, make sure wildcard box is checked and then press the
|
// If you do a search in MSWord, make sure wildcard box is checked and then press the
|
||||||
// Special button to see the definitions of the various wildcards
|
// Special button to see the definitions of the various wildcards
|
||||||
// [<] - Less-Than Character
|
// [<] - Less-Than Character
|
||||||
// [!<> -]@ - 1 or more characters not including Less-Than, Greater-Than, Dash or Space
|
// [!<> -]@ - 1 or more characters not including Less-Than, Greater-Than, Dash or Space
|
||||||
// - Dash
|
// - Dash
|
||||||
// [!<>]@ - 1 or more characters not including Less-Than, Greater-Than.
|
// [!<>]@ - 1 or more characters not including Less-Than, Greater-Than.
|
||||||
// a space be included as part of the accessory page id (Callaway, EOP Addendum 37)
|
// a space be included as part of the accessory page id (Callaway, EOP Addendum 37)
|
||||||
// [>] - Greater-Than Character
|
// [>] - Greater-Than Character
|
||||||
find.Text = "[<][!<> -]@-[!<>]@[>]";
|
find.Text = "[<][!<> -]@-[!<>]@[>]";
|
||||||
find.Wrap = LBWdFindWrap.wdFindContinue;
|
find.Wrap = LBWdFindWrap.wdFindContinue;
|
||||||
find.MatchCase = false;
|
find.MatchCase = false;
|
||||||
find.MatchWholeWord = false;
|
find.MatchWholeWord = false;
|
||||||
@@ -2159,14 +2159,18 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
tryagain = false;
|
tryagain = false;
|
||||||
executeResult = find.Execute();
|
executeResult = find.Execute();
|
||||||
// B2022-053 if the found text does not begin with a "<" and end with a ">", then
|
// B2022-053 if the found text does not begin with a "<" and end with a ">", then
|
||||||
// move past that text and try the Word Find function again.
|
// move past that text and try the Word Find function again.
|
||||||
// B2022-088: [JPR] Find Doc Ro button not working in Word Sections
|
// B2022-088: [JPR] Find Doc Ro button not working in Word Sections
|
||||||
// B2022-098: [JPR] ROs not being resolved in Word Sections
|
// B2022-098: [JPR] ROs not being resolved in Word Sections
|
||||||
|
// B2026-070: When there is a less-then sign (<) followed by a numeric value in a Word attachment (inside of a table), PROMS thinks the user put in an RO token will generate an RO not found error in the following table row who's text contains <U-Name>.
|
||||||
if (executeResult && !string.IsNullOrEmpty(sel.Text) && !sel.Text.StartsWith("<") && !sel.Text.EndsWith(">"))
|
if (executeResult && !string.IsNullOrEmpty(sel.Text) && !sel.Text.StartsWith("<") && !sel.Text.EndsWith(">"))
|
||||||
{
|
{
|
||||||
sel.MoveStart(LBWdUnits.wdCharacter, sel.Text.Length - 1);
|
int location = sel.Start + sel.Text.Length - 1; //do not do this inline - this needs captured before WholeStory
|
||||||
tryagain = true;
|
|
||||||
|
sel.WholeStory();
|
||||||
|
sel.MoveStart(LBWdUnits.wdCharacter, location);
|
||||||
|
tryagain = true;
|
||||||
}
|
}
|
||||||
} while (tryagain);
|
} while (tryagain);
|
||||||
|
|
||||||
@@ -2191,7 +2195,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
sel.MoveStart(LBWdUnits.wdCharacter, 1);
|
sel.MoveStart(LBWdUnits.wdCharacter, 1);
|
||||||
executeResult = false;
|
executeResult = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (executeResult) return sel;
|
if (executeResult) return sel;
|
||||||
|
|
||||||
|
|||||||
@@ -262,8 +262,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (dvi.DocVersionAssociations[0].MyROFst.ROFstID != newfstid)
|
if (dvi.DocVersionAssociations[0].MyROFst.ROFstID != newfstid)
|
||||||
{
|
{
|
||||||
dv.DocVersionAssociations[0].MyROFst = localROFst.GetJustROFst();
|
dv.DocVersionAssociations[0].MyROFst = localROFst.GetJustROFst();
|
||||||
SetAssociationLastCompleted(dv, DateTime.Now.ToString());
|
|
||||||
}
|
}
|
||||||
|
// B2026-066 moved this out of if statement above
|
||||||
|
// - was not resetting the datetime and thus not disabling the Update RO Values button and menu item
|
||||||
|
SetAssociationLastCompleted(dv, DateTime.Now.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -326,7 +328,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// all of the calls aways set the flags to not update the RO values
|
// all of the calls aways set the flags to not update the RO values
|
||||||
public static ROFst UpdateRoFst(RODbInfo rdi, DocVersion docver, ROFstInfo origROFst, ROFstInfoProgressBarRefresh myProgressBarRefresh)
|
public static ROFst UpdateRoFst(RODbInfo rdi, DocVersion docver, ROFstInfo origROFst, ROFstInfoProgressBarRefresh myProgressBarRefresh)
|
||||||
{
|
{
|
||||||
if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update");
|
ROWorkingDraftAsk.ClearWorkingDrafts();
|
||||||
|
|
||||||
|
if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update");
|
||||||
|
|
||||||
int origFSTid = origROFst.ROFstID;
|
int origFSTid = origROFst.ROFstID;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace VEPROMS.CSLA.Library
|
||||||
|
{
|
||||||
|
public static class ROWorkingDraftAsk
|
||||||
|
{
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private static List<int> WorkingDrafts = new List<int>();
|
||||||
|
|
||||||
|
public static void AddWorkingDrafts(int wd) => WorkingDrafts.Add(wd);
|
||||||
|
|
||||||
|
public static void ClearWorkingDrafts() => WorkingDrafts.Clear();
|
||||||
|
|
||||||
|
public static bool ContainsWorkingDraft(int wd) => WorkingDrafts.Contains(wd);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -396,6 +396,7 @@
|
|||||||
<Compile Include="Minimal\UserReports.cs" />
|
<Compile Include="Minimal\UserReports.cs" />
|
||||||
<Compile Include="Minimal\UserSettings.cs" />
|
<Compile Include="Minimal\UserSettings.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="Session\ROWorkingDraftAsk.cs" />
|
||||||
<Compile Include="VEObjects\VEDrillDown.cs" />
|
<Compile Include="VEObjects\VEDrillDown.cs" />
|
||||||
<Compile Include="VEObjects\VETreeNode.cs" />
|
<Compile Include="VEObjects\VETreeNode.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
namespace Volian.Base.Library
|
||||||
|
{
|
||||||
|
public static class BaseLnSettings
|
||||||
|
{
|
||||||
|
public static bool blBaseLine { get; set; } = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -90,6 +90,7 @@
|
|||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="BaseLnSettings.cs" />
|
||||||
<Compile Include="BigNum.cs" />
|
<Compile Include="BigNum.cs" />
|
||||||
<Compile Include="ByteArrayCompare.cs" />
|
<Compile Include="ByteArrayCompare.cs" />
|
||||||
<Compile Include="DebugPrint.cs" />
|
<Compile Include="DebugPrint.cs" />
|
||||||
|
|||||||
@@ -613,7 +613,15 @@ namespace Volian.Controls.Library
|
|||||||
_In_DSOTabPanel_Enter = false;
|
_In_DSOTabPanel_Enter = false;
|
||||||
_MyDisplayTabControl.SelectedDisplayTabItem = MyDisplayTabItem;
|
_MyDisplayTabControl.SelectedDisplayTabItem = MyDisplayTabItem;
|
||||||
// B2018-070 Position the text cursor - Activate MS Word Panel
|
// B2018-070 Position the text cursor - Activate MS Word Panel
|
||||||
_MyEdWord.GotoItem(EDWordLib.WdGoToItem.wdGoToObject, EDWordLib.WdGoToDirection.wdGoToNext, 0, null);
|
try
|
||||||
|
{
|
||||||
|
_MyEdWord.GotoItem(EDWordLib.WdGoToItem.wdGoToObject, EDWordLib.WdGoToDirection.wdGoToNext, 0, null);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
//B2026-067 - Do nothing if cannot Position cursor
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region Public Methods
|
#region Public Methods
|
||||||
|
|||||||
@@ -643,16 +643,15 @@ namespace Volian.Controls.Library
|
|||||||
if (_docVersionInfo != null && fstid != -1 && fstid != MyROFSTLookup.RofstID)
|
if (_docVersionInfo != null && fstid != -1 && fstid != MyROFSTLookup.RofstID)
|
||||||
{
|
{
|
||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
if (_progressBar?.Text != "Cannot check-out Working Draft" && !MySessionInfo.CanCheckOutItem(_docVersionInfo.VersionID, CheckOutType.DocVersion, ref message))
|
if (_progressBar?.Text != "RO Check Paused - Other Users In Set" && !MySessionInfo.CanCheckOutItem(_docVersionInfo.VersionID, CheckOutType.DocVersion, ref message))
|
||||||
{
|
{
|
||||||
FlexibleMessageBox.Show(this, message, "Working Draft Has Items Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
FinalProgressBarMessage = "RO Check Paused - Other Users In Set";
|
||||||
FinalProgressBarMessage = "Cannot check-out Working Draft";
|
|
||||||
}
|
}
|
||||||
else if (!MySessionInfo.CanCheckOutItem(_docVersionInfo.VersionID, CheckOutType.DocVersion, ref message))
|
else if (!MySessionInfo.CanCheckOutItem(_docVersionInfo.VersionID, CheckOutType.DocVersion, ref message))
|
||||||
{
|
{
|
||||||
//do nothing - is still checked out
|
//do nothing - is still checked out
|
||||||
}
|
}
|
||||||
else if (changedDocVersion && !askedAboutchangedDocVersion)
|
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($"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)
|
||||||
{
|
{
|
||||||
@@ -671,10 +670,13 @@ namespace Volian.Controls.Library
|
|||||||
updatedROs = true;
|
updatedROs = true;
|
||||||
|
|
||||||
askedAboutchangedDocVersion = false;
|
askedAboutchangedDocVersion = false;
|
||||||
|
ROWorkingDraftAsk.ClearWorkingDrafts();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
askedAboutchangedDocVersion = true;
|
askedAboutchangedDocVersion = true;
|
||||||
|
if (!ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID))
|
||||||
|
ROWorkingDraftAsk.AddWorkingDrafts(_docVersionInfo.VersionID);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -716,7 +718,7 @@ namespace Volian.Controls.Library
|
|||||||
if (tmpROID != null) ExpandNode(ROFSTLookup.FormatRoidKey(tmpROID, true));
|
if (tmpROID != null) ExpandNode(ROFSTLookup.FormatRoidKey(tmpROID, true));
|
||||||
|
|
||||||
//doc version would have updated (if needed) so reset flag
|
//doc version would have updated (if needed) so reset flag
|
||||||
if (_progressBar?.Text != "Cannot check-out Working Draft")
|
if (_progressBar?.Text != "RO Check Paused - Other Users In Set")
|
||||||
{
|
{
|
||||||
changedDocVersion = false;
|
changedDocVersion = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ using System.Linq;
|
|||||||
|
|
||||||
namespace Volian.Controls.Library
|
namespace Volian.Controls.Library
|
||||||
{
|
{
|
||||||
|
#pragma warning disable IDE1006 // Naming Styles
|
||||||
|
#pragma warning disable IDE0044 // Add readonly modifier
|
||||||
public partial class DisplaySearch : UserControl
|
public partial class DisplaySearch : UserControl
|
||||||
{
|
{
|
||||||
#region Public Events/Handlers
|
#region Public Events/Handlers
|
||||||
@@ -24,14 +26,12 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
private void OnPrintRequest(DisplaySearchEventArgs args)
|
private void OnPrintRequest(DisplaySearchEventArgs args)
|
||||||
{
|
{
|
||||||
if (PrintRequest != null)
|
PrintRequest?.Invoke(this, args);
|
||||||
PrintRequest(this, args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnSearchComplete(DisplaySearchEventArgs args)
|
private void OnSearchComplete(DisplaySearchEventArgs args)
|
||||||
{
|
{
|
||||||
if (SearchComplete != null)
|
SearchComplete?.Invoke(this, args);
|
||||||
SearchComplete(this, args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -218,8 +218,10 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
if (_TmrRefresh == null)
|
if (_TmrRefresh == null)
|
||||||
{
|
{
|
||||||
_TmrRefresh = new Timer();
|
_TmrRefresh = new Timer
|
||||||
_TmrRefresh.Interval = 1000;
|
{
|
||||||
|
Interval = 1000
|
||||||
|
};
|
||||||
_TmrRefresh.Tick += _TmrRefresh_Tick;
|
_TmrRefresh.Tick += _TmrRefresh_Tick;
|
||||||
}
|
}
|
||||||
return _TmrRefresh;
|
return _TmrRefresh;
|
||||||
@@ -324,7 +326,6 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
if (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[2])
|
if (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[2])
|
||||||
{ // RO Search
|
{ // RO Search
|
||||||
ROFSTLookup.rochild[] chld = null;
|
|
||||||
ROFSTLookup.rochild ch;
|
ROFSTLookup.rochild ch;
|
||||||
if (cmboTreeROs.SelectedNode != null)
|
if (cmboTreeROs.SelectedNode != null)
|
||||||
{
|
{
|
||||||
@@ -336,18 +337,16 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rodbi)
|
if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rodbi db)
|
||||||
{
|
{
|
||||||
ROFSTLookup.rodbi db = (ROFSTLookup.rodbi)cmboTreeROs.SelectedNode.Tag;
|
return $"{_MyRODbID.ToString()}:{string.Format("{0}", db.dbiID.ToString("X4"))}";
|
||||||
return _MyRODbID.ToString() + ":" + string.Format("{0}", db.dbiID.ToString("X4"));
|
|
||||||
}
|
}
|
||||||
else if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rochild)
|
else if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rochild roch)
|
||||||
{
|
{
|
||||||
ch = (ROFSTLookup.rochild)cmboTreeROs.SelectedNode.Tag;
|
ROFSTLookup.rochild[] chld = roch.children;
|
||||||
chld = ch.children;
|
|
||||||
// build a list of ROs to search
|
// build a list of ROs to search
|
||||||
// B2022-118: remove the ending comma otherwise query will fail
|
// B2022-118: remove the ending comma otherwise query will fail
|
||||||
string strRtnStr = _MyRODbID.ToString() + ":" + GetROsToSearch(chld);
|
string strRtnStr = $"{_MyRODbID.ToString()}:{GetROsToSearch(chld)}";
|
||||||
if (strRtnStr.EndsWith(","))
|
if (strRtnStr.EndsWith(","))
|
||||||
strRtnStr = strRtnStr.Substring(0, strRtnStr.Length - 1);
|
strRtnStr = strRtnStr.Substring(0, strRtnStr.Length - 1);
|
||||||
return strRtnStr;
|
return strRtnStr;
|
||||||
@@ -391,7 +390,6 @@ namespace Volian.Controls.Library
|
|||||||
cmbResultsStyle.Enabled = false;
|
cmbResultsStyle.Enabled = false;
|
||||||
tabSearchTypes.SelectedTabChanged += new TabStrip.SelectedTabChangedEventHandler(tabSearchTypes_SelectedTabChanged);
|
tabSearchTypes.SelectedTabChanged += new TabStrip.SelectedTabChangedEventHandler(tabSearchTypes_SelectedTabChanged);
|
||||||
// Don't do this here. If you do then the /DB parameter has not yet been set, which will cause the database menu to be displayed
|
// Don't do this here. If you do then the /DB parameter has not yet been set, which will cause the database menu to be displayed
|
||||||
//SetupContextMenu(); // so that the symbol list is available without selecting a procedure set or procedure
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -447,20 +445,6 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
btnSearch.Enabled = (cbxTranCategory.Items.Count > 0); // B2017-038 disable search button if no format selected
|
btnSearch.Enabled = (cbxTranCategory.Items.Count > 0); // B2017-038 disable search button if no format selected
|
||||||
//enable-disable doc version nodes based on version type if selected
|
//enable-disable doc version nodes based on version type if selected
|
||||||
if (cbxTranVersion.SelectedIndex > -1)
|
|
||||||
{
|
|
||||||
if (dicExpandedFolderNodes.Count > 0)
|
|
||||||
{
|
|
||||||
foreach (DevComponents.AdvTree.Node n in dicExpandedFolderNodes.Keys)
|
|
||||||
{
|
|
||||||
DocVersionInfo dvi = (DocVersionInfo)n.Tag;
|
|
||||||
if (cbxTranVersion.Tag.ToString().Contains(dvi.VersionID.ToString()))
|
|
||||||
n.Enabled = true;
|
|
||||||
else
|
|
||||||
n.Enabled = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//setup transition format versions
|
//setup transition format versions
|
||||||
this.Cursor = Cursors.WaitCursor;
|
this.Cursor = Cursors.WaitCursor;
|
||||||
if (myFormatVersionList == null)
|
if (myFormatVersionList == null)
|
||||||
@@ -475,6 +459,10 @@ namespace Volian.Controls.Library
|
|||||||
versionID: group.Max(x => x.VersionID)
|
versionID: group.Max(x => x.VersionID)
|
||||||
)).OrderBy(y => y.Title).ToList();
|
)).OrderBy(y => y.Title).ToList();
|
||||||
|
|
||||||
|
//B2026-055 – Transition Search Improvements
|
||||||
|
//Added an All option to allow resetting of the enabling/disabling tree options
|
||||||
|
cbxTranVersion.Items.Add(new FormatVersion("All", -1, -1));
|
||||||
|
|
||||||
foreach (FormatVersion fv in fvlst)
|
foreach (FormatVersion fv in fvlst)
|
||||||
{
|
{
|
||||||
cbxTranVersion.Items.Add(fv);
|
cbxTranVersion.Items.Add(fv);
|
||||||
@@ -504,32 +492,6 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
public void cbxTranFormat_SelectedIndexChanged(object sender, EventArgs e)
|
public void cbxTranFormat_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
#region 1st cut
|
|
||||||
//if (cbxTranFormat.SelectedItem.ToString() == "All")
|
|
||||||
//{
|
|
||||||
// cbxTranCategory.Items.Clear();
|
|
||||||
// cbxTranCategory.Items.Add("All");
|
|
||||||
// cbxTranCategory.Items.Add("Internal");
|
|
||||||
// cbxTranCategory.Items.Add("External");
|
|
||||||
// cbxTranCategory.Items.Add("Outside");
|
|
||||||
// cbxTranCategory.SelectedIndex = 0;
|
|
||||||
//}
|
|
||||||
//else if (cbxTranFormat.SelectedItem.ToString().Contains("{Proc"))
|
|
||||||
//{
|
|
||||||
// cbxTranCategory.Items.Clear();
|
|
||||||
// cbxTranCategory.Items.Add("All");
|
|
||||||
// cbxTranCategory.Items.Add("External");
|
|
||||||
// cbxTranCategory.Items.Add("Outside");
|
|
||||||
// cbxTranCategory.SelectedIndex = 0;
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// cbxTranCategory.Items.Clear();
|
|
||||||
// cbxTranCategory.Items.Add("Internal");
|
|
||||||
// cbxTranCategory.SelectedIndex = 0;
|
|
||||||
//}
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region 2nd cut
|
#region 2nd cut
|
||||||
if (cbxTranFormat.SelectedItem.ToString().Contains("{Proc"))
|
if (cbxTranFormat.SelectedItem.ToString().Contains("{Proc"))
|
||||||
{
|
{
|
||||||
@@ -564,31 +526,16 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
cbxTranVersion.Tag = versionList;
|
cbxTranVersion.Tag = versionList;
|
||||||
cbxTranFormatFillIn(versionList);
|
cbxTranFormatFillIn(versionList);
|
||||||
if (dicExpandedFolderNodes.Count > 0)
|
|
||||||
{
|
|
||||||
foreach (DevComponents.AdvTree.Node n in dicExpandedFolderNodes.Keys)
|
|
||||||
{
|
|
||||||
FolderInfo fi = (FolderInfo)n.Tag;
|
|
||||||
// if this folder has a docversion, use its id:
|
|
||||||
string svid = null;
|
|
||||||
if (fi.FolderDocVersionCount > 0)
|
|
||||||
svid = fi.FolderDocVersions[0].VersionID.ToString();
|
|
||||||
if (cbxTranVersion.Tag.ToString().Contains(svid))
|
|
||||||
n.Enabled = true;
|
|
||||||
else
|
|
||||||
n.Enabled = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
List<DevComponents.AdvTree.Node> uncheckNodes = new List<Node>();
|
List<DevComponents.AdvTree.Node> uncheckNodes = new List<DevComponents.AdvTree.Node>();
|
||||||
foreach (DevComponents.AdvTree.Node n in dicSelectedFolderNodes.Keys)
|
foreach (DevComponents.AdvTree.Node n in dicSelectedFolderNodes.Keys)
|
||||||
{
|
{
|
||||||
FolderInfo fi = (FolderInfo)n.Tag; // this was crashing in old version of code
|
FolderInfo fi = n.Tag as FolderInfo; // this was crashing in old version of code
|
||||||
// if this folder has a docversion, use its id:
|
// if this folder has a docversion, use its id:
|
||||||
string svid = null;
|
string svid = null;
|
||||||
if (fi.FolderDocVersionCount > 0)
|
if (fi?.FolderDocVersionCount > 0)
|
||||||
svid = fi.FolderDocVersions[0].VersionID.ToString();
|
svid = fi.FolderDocVersions[0].VersionID.ToString();
|
||||||
if (svid != null && !versionList.Contains(svid))
|
if (svid != null && !string.IsNullOrEmpty(versionList) && !versionList.Split(',').Contains(svid))
|
||||||
uncheckNodes.Add(n);
|
uncheckNodes.Add(n);
|
||||||
else
|
else
|
||||||
n.Enabled = true;
|
n.Enabled = true;
|
||||||
@@ -614,13 +561,17 @@ namespace Volian.Controls.Library
|
|||||||
dicSelectedFolderNodes.Clear();
|
dicSelectedFolderNodes.Clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//B2026-055 – Transition Search Improvements
|
||||||
|
//Update Enabling/Disabling of Tree Elements
|
||||||
|
TraverseTree(advTreeProcSets.Nodes[0], cbxTranVersion.Tag?.ToString().Split(','));
|
||||||
|
|
||||||
this.Cursor = Cursors.Default;
|
this.Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2020-033: Update the search panel for Incoming transitions. This gets called from the tree view & the ribbon
|
// C2020-033: Update the search panel for Incoming transitions. This gets called from the tree view & the ribbon
|
||||||
public void UpdateSearchIncTransResults()
|
public void UpdateSearchIncTransResults()
|
||||||
{
|
{
|
||||||
//IncTransSelectedCount = 0;
|
|
||||||
tabSearchTypes.SelectedTab = tabSearchTypes.Tabs[4];
|
tabSearchTypes.SelectedTab = tabSearchTypes.Tabs[4];
|
||||||
|
|
||||||
lbSrchResultsIncTrans.DataSource = null;
|
lbSrchResultsIncTrans.DataSource = null;
|
||||||
@@ -697,13 +648,6 @@ namespace Volian.Controls.Library
|
|||||||
DevComponents.AdvTree.Node newnode;
|
DevComponents.AdvTree.Node newnode;
|
||||||
advTreeStepTypes.Nodes.Clear();
|
advTreeStepTypes.Nodes.Clear();
|
||||||
// Add a dummy node for searching Word Sections (MS Word sections)
|
// Add a dummy node for searching Word Sections (MS Word sections)
|
||||||
//newnode = new DevComponents.AdvTree.Node();
|
|
||||||
//newnode.Text = "Word Sections";
|
|
||||||
//newnode.Selectable = true;
|
|
||||||
//newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter;
|
|
||||||
//newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox;
|
|
||||||
//newnode.CheckBoxThreeState = false;
|
|
||||||
//newnode.CheckBoxVisible = true;
|
|
||||||
newnode = NewAdvTreeNode("WORD Sections", true, true); // C2020-010: Change Accessory Sections to Word Sections
|
newnode = NewAdvTreeNode("WORD Sections", true, true); // C2020-010: Change Accessory Sections to Word Sections
|
||||||
wordSectionTreeNode = newnode;
|
wordSectionTreeNode = newnode;
|
||||||
// C2021-028: RNO Only search, disable Word section tree node
|
// C2021-028: RNO Only search, disable Word section tree node
|
||||||
@@ -721,16 +665,6 @@ namespace Volian.Controls.Library
|
|||||||
StepData sd = sdl[sdr.Index]; // get the step type record
|
StepData sd = sdl[sdr.Index]; // get the step type record
|
||||||
string parentName = sd.ParentType; // this gets the parent of the this step/substep type
|
string parentName = sd.ParentType; // this gets the parent of the this step/substep type
|
||||||
|
|
||||||
//Console.WriteLine("{0} {1} - {2}", parentName,sd.Type,sdr.Name);
|
|
||||||
//newnode = new DevComponents.AdvTree.Node();
|
|
||||||
//newnode.Text = sdr.Name;
|
|
||||||
//newnode.Name = sd.Type; // this needed for the FindNodeByName() function
|
|
||||||
//newnode.Tag = sd;
|
|
||||||
//newnode.Selectable = true;
|
|
||||||
//newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter;
|
|
||||||
//newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox;
|
|
||||||
//newnode.CheckBoxThreeState = false;
|
|
||||||
//newnode.CheckBoxVisible = true;
|
|
||||||
if (parentName.Equals("Base"))
|
if (parentName.Equals("Base"))
|
||||||
{
|
{
|
||||||
newnode = NewAdvTreeNode(sdr.Name, true, true);
|
newnode = NewAdvTreeNode(sdr.Name, true, true);
|
||||||
@@ -824,8 +758,7 @@ namespace Volian.Controls.Library
|
|||||||
//C2023-010: Select all child nodes when a subtype is selected
|
//C2023-010: Select all child nodes when a subtype is selected
|
||||||
private void pnode_selected(object sender, EventArgs e)
|
private void pnode_selected(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DevComponents.AdvTree.Node pnode = sender as DevComponents.AdvTree.Node;
|
if (sender is DevComponents.AdvTree.Node pnode && pnode.HasChildNodes)
|
||||||
if (pnode != null && pnode.HasChildNodes)
|
|
||||||
{
|
{
|
||||||
CheckTreeNodeChildren(pnode.Nodes);
|
CheckTreeNodeChildren(pnode.Nodes);
|
||||||
}
|
}
|
||||||
@@ -840,18 +773,21 @@ namespace Volian.Controls.Library
|
|||||||
int fiCount = fi.ChildFolderCount;
|
int fiCount = fi.ChildFolderCount;
|
||||||
advTreeProcSets.Nodes.Clear();
|
advTreeProcSets.Nodes.Clear();
|
||||||
lstCheckedDocVersions.Clear();
|
lstCheckedDocVersions.Clear();
|
||||||
topnode = new DevComponents.AdvTree.Node();
|
topnode = new DevComponents.AdvTree.Node
|
||||||
topnode.Text = "Available Procedure Sets";
|
{
|
||||||
topnode.Tag = fi;
|
Text = "Available Procedure Sets",
|
||||||
topnode.DataKey = fi.FolderID;
|
Tag = fi,
|
||||||
|
DataKey = fi.FolderID
|
||||||
|
};
|
||||||
advTreeProcSets.Nodes.Add(topnode);
|
advTreeProcSets.Nodes.Add(topnode);
|
||||||
//advTreeProcSets.AfterNodeInsert += new TreeNodeCollectionEventHandler(advTreeProcSets_AfterNodeInsert);
|
|
||||||
|
|
||||||
//B2023-076: Adding option to select all procedure sets
|
//B2023-076: Adding option to select all procedure sets
|
||||||
DevComponents.AdvTree.Node selectAllNode = new Node();
|
DevComponents.AdvTree.Node selectAllNode = new Node
|
||||||
selectAllNode.Text = SelectAllProcedureSetsText;
|
{
|
||||||
selectAllNode.Tag = SelectAllProcedureSetsText;
|
Text = SelectAllProcedureSetsText,
|
||||||
selectAllNode.CheckBoxVisible = true;
|
Tag = SelectAllProcedureSetsText,
|
||||||
|
CheckBoxVisible = true
|
||||||
|
};
|
||||||
selectAllNode.NodeClick += new EventHandler(AllProcedureSets_clicked);
|
selectAllNode.NodeClick += new EventHandler(AllProcedureSets_clicked);
|
||||||
topnode.Nodes.Add(selectAllNode);
|
topnode.Nodes.Add(selectAllNode);
|
||||||
|
|
||||||
@@ -859,18 +795,22 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
foreach (FolderInfo fic in fi.SortedChildFolders)
|
foreach (FolderInfo fic in fi.SortedChildFolders)
|
||||||
{
|
{
|
||||||
DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node();
|
DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node
|
||||||
newnode.Text = fic.ToString();
|
{
|
||||||
newnode.Tag = fic;
|
Text = fic.ToString(),
|
||||||
newnode.DataKey = fi.FolderID;
|
Tag = fic,
|
||||||
|
DataKey = fi.FolderID
|
||||||
|
};
|
||||||
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
|
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
|
||||||
cntnd++;
|
cntnd++;
|
||||||
if (fic.ChildFolderCount > 0 || fic.FolderDocVersionCount > 0) // allow for '+' for tree expansion
|
if (fic.ChildFolderCount > 0 || fic.FolderDocVersionCount > 0) // allow for '+' for tree expansion
|
||||||
{
|
{
|
||||||
if (fic.ChildFolderCount > 0) // B2017-176: Do not display the Working Draft node (don't create dummy for expander)
|
if (fic.ChildFolderCount > 0) // B2017-176: Do not display the Working Draft node (don't create dummy for expander)
|
||||||
{
|
{
|
||||||
DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node();
|
DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node
|
||||||
tnt.Text = DummyNodeText;
|
{
|
||||||
|
Text = DummyNodeText
|
||||||
|
};
|
||||||
newnode.Nodes.Add(tnt);
|
newnode.Nodes.Add(tnt);
|
||||||
}
|
}
|
||||||
topnode.Nodes.Add(newnode);
|
topnode.Nodes.Add(newnode);
|
||||||
@@ -879,10 +819,12 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node();
|
DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node
|
||||||
newnode.Text = fi.ToString();
|
{
|
||||||
newnode.Tag = fi;
|
Text = fi.ToString(),
|
||||||
newnode.DataKey = fi.FolderID;
|
Tag = fi,
|
||||||
|
DataKey = fi.FolderID
|
||||||
|
};
|
||||||
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
|
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
|
||||||
topnode.Nodes.Add(newnode);
|
topnode.Nodes.Add(newnode);
|
||||||
lstCheckedDocVersions.Add(Mydocversion);
|
lstCheckedDocVersions.Add(Mydocversion);
|
||||||
@@ -893,8 +835,10 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
cntnd++;
|
cntnd++;
|
||||||
fi = Mydocversion.MyFolder;
|
fi = Mydocversion.MyFolder;
|
||||||
topnode = new DevComponents.AdvTree.Node();
|
topnode = new DevComponents.AdvTree.Node
|
||||||
topnode.Text = fi.ToString();
|
{
|
||||||
|
Text = fi.ToString()
|
||||||
|
};
|
||||||
advTreeProcSets.Nodes.Add(topnode);
|
advTreeProcSets.Nodes.Add(topnode);
|
||||||
topnode.Tag = fi;
|
topnode.Tag = fi;
|
||||||
topnode.DataKey = fi.FolderID;
|
topnode.DataKey = fi.FolderID;
|
||||||
@@ -929,43 +873,48 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
foreach (FolderInfo fic in fi.SortedChildFolders)
|
foreach (FolderInfo fic in fi.SortedChildFolders)
|
||||||
{
|
{
|
||||||
DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node();
|
DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node
|
||||||
newnode.Text = fic.ToString();
|
{
|
||||||
newnode.Tag = fic;
|
Text = fic.ToString(),
|
||||||
newnode.DataKey = fic.FolderID;
|
Tag = fic,
|
||||||
|
DataKey = fic.FolderID
|
||||||
|
};
|
||||||
par.Nodes.Add(newnode);
|
par.Nodes.Add(newnode);
|
||||||
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
|
AddCheckBox(true, newnode);//C2016-045 Allow Folders to be selected.
|
||||||
newnode.Enabled = true;
|
newnode.Enabled = true;
|
||||||
|
|
||||||
if (fic.ChildFolderCount > 0) // B2017-176: Only expand if folder has folders (not working draft nodes)
|
if (fic.ChildFolderCount > 0) // B2017-176: Only expand if folder has folders (not working draft nodes)
|
||||||
{
|
{
|
||||||
DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node();
|
DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node
|
||||||
tnt.Text = DummyNodeText;
|
{
|
||||||
|
Text = DummyNodeText
|
||||||
|
};
|
||||||
newnode.Nodes.Add(tnt);
|
newnode.Nodes.Add(tnt);
|
||||||
// B2017-176: Only expand if folder has folders (not working draft nodes): the following was moved from the code
|
// B2017-176: Only expand if folder has folders (not working draft nodes): the following was moved from the code
|
||||||
// that would check if this should be enabled if seraching for transition types. The transition controls
|
// that would check if this should be enabled if seraching for transition types. The transition controls
|
||||||
// had a list of associated docversions, so needed to get the docversion in the folder:
|
// had a list of associated docversions, so needed to get the docversion in the folder:
|
||||||
if (tabSearchTypes.SelectedTab == tabTranSearch)
|
if (tabSearchTypes.SelectedTab == tabTranSearch && !dicSelectedFolderNodes.ContainsKey(newnode))
|
||||||
|
dicSelectedFolderNodes.Add(newnode, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tabSearchTypes.SelectedTab == tabTranSearch)
|
||||||
{
|
{
|
||||||
if (!dicSelectedFolderNodes.ContainsKey(newnode)) dicSelectedFolderNodes.Add(newnode, false);
|
//B2026-055 – Transition Search Improvements
|
||||||
// get the docversion for this folder, if it has one and determine whether it is enabled for transitions:
|
//Update Enabling/Disabling of Tree Elements
|
||||||
string svid = null;
|
TraverseTree(advTreeProcSets.Nodes[0], cbxTranVersion.Tag?.ToString().Split(','));
|
||||||
if (fic.FolderDocVersionCount > 0)
|
|
||||||
svid = fic.FolderDocVersions[0].VersionID.ToString();
|
|
||||||
newnode.Enabled = svid != null && cbxTranVersion.Tag != null ? cbxTranVersion.Tag.ToString().Contains(svid) : false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void AdvTree_AfterExpandorCollapse(object sender, AdvTreeNodeEventArgs e)
|
public void AdvTree_AfterExpandorCollapse(object sender, AdvTreeNodeEventArgs e)
|
||||||
{
|
{
|
||||||
Node bottomNode = BottomTreeNode(cmboTreeROs.AdvTree.Nodes);
|
Node bottomNode = BottomTreeNode(cmboTreeROs.AdvTree.Nodes);
|
||||||
Node lastNode = cmboTreeROs.AdvTree.Nodes[cmboTreeROs.AdvTree.Nodes.Count - 1];
|
_ = cmboTreeROs.AdvTree.Nodes[cmboTreeROs.AdvTree.Nodes.Count - 1]; //LastNode
|
||||||
|
|
||||||
int top = cmboTreeROs.AdvTree.Nodes[0].Bounds.Top;
|
int top = cmboTreeROs.AdvTree.Nodes[0].Bounds.Top;
|
||||||
int bottom = bottomNode.Bounds.Bottom + 5;
|
int bottom;
|
||||||
int hScrollBarHeight = cmboTreeROs.AdvTree.HScrollBar != null ? cmboTreeROs.AdvTree.HScrollBar.Height : 0;
|
int hScrollBarHeight = cmboTreeROs.AdvTree.HScrollBar != null ? cmboTreeROs.AdvTree.HScrollBar.Height : 0;
|
||||||
bottom = bottomNode.Bounds.Bottom + 5;
|
bottom = bottomNode.Bounds.Bottom + 5;
|
||||||
cmboTreeROs.AdvTree.Size = new Size(cmboTreeROs.AdvTree.Size.Width, Math.Min(525, bottom - top + hScrollBarHeight));
|
cmboTreeROs.AdvTree.Size = new Size(cmboTreeROs.AdvTree.Size.Width, Math.Min(525, bottom - top + hScrollBarHeight));
|
||||||
@@ -974,12 +923,9 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
int yLookFor = (bottom - cmboTreeROs.AdvTree.Size.Height) + 2 * hScrollBarHeight;
|
int yLookFor = (bottom - cmboTreeROs.AdvTree.Size.Height) + 2 * hScrollBarHeight;
|
||||||
Node topNode = FindTreeNodeAt(cmboTreeROs.AdvTree.Nodes, yLookFor);
|
Node topNode = FindTreeNodeAt(cmboTreeROs.AdvTree.Nodes, yLookFor);
|
||||||
if (topNode != null)
|
topNode?.EnsureVisible();
|
||||||
{
|
|
||||||
topNode.EnsureVisible();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@@ -988,8 +934,10 @@ namespace Volian.Controls.Library
|
|||||||
public void SetupAnnotationSearch(AnnotationDetails annotationDetails, DisplayTabControl tc)
|
public void SetupAnnotationSearch(AnnotationDetails annotationDetails, DisplayTabControl tc)
|
||||||
{
|
{
|
||||||
_AnnotationDetails = annotationDetails;
|
_AnnotationDetails = annotationDetails;
|
||||||
List<AnnotationTypeSearch> annoTypes = new List<AnnotationTypeSearch>();
|
List<AnnotationTypeSearch> annoTypes = new List<AnnotationTypeSearch>
|
||||||
annoTypes.Add(new AnnotationTypeSearch("All Annotations", string.Empty));
|
{
|
||||||
|
new AnnotationTypeSearch("All Annotations", string.Empty)
|
||||||
|
};
|
||||||
AnnotationTypeInfoList annoList = AnnotationTypeInfoList.Get();
|
AnnotationTypeInfoList annoList = AnnotationTypeInfoList.Get();
|
||||||
foreach (AnnotationTypeInfo ati in annoList)
|
foreach (AnnotationTypeInfo ati in annoList)
|
||||||
annoTypes.Add(new AnnotationTypeSearch(ati.Name, ati.TypeID.ToString()));
|
annoTypes.Add(new AnnotationTypeSearch(ati.Name, ati.TypeID.ToString()));
|
||||||
@@ -1056,14 +1004,15 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
foreach (Symbol sym in sl)
|
foreach (Symbol sym in sl)
|
||||||
{
|
{
|
||||||
DevComponents.DotNetBar.ButtonItem btnCM = new DevComponents.DotNetBar.ButtonItem();
|
DevComponents.DotNetBar.ButtonItem btnCM = new DevComponents.DotNetBar.ButtonItem
|
||||||
|
{
|
||||||
btnCM.Text = string.Format("{0}", (char)sym.Unicode);
|
Text = string.Format("{0}", (char)sym.Unicode),
|
||||||
// to name button use unicode rather than desc, desc may have spaces or odd chars
|
// to name button use unicode rather than desc, desc may have spaces or odd chars
|
||||||
btnCM.Name = "btnCM" + sym.Unicode.ToString();
|
Name = $"btnCM{sym.Unicode.ToString()}",
|
||||||
btnCM.Tooltip = sym.Desc;
|
Tooltip = sym.Desc,
|
||||||
btnCM.Tag = string.Format(@"{0}", sym.Unicode);
|
Tag = string.Format(@"{0}", sym.Unicode),
|
||||||
btnCM.FontBold = true;
|
FontBold = true
|
||||||
|
};
|
||||||
btnCM.Click += new System.EventHandler(btnSym_Click);
|
btnCM.Click += new System.EventHandler(btnSym_Click);
|
||||||
galSymbols.SubItems.Add(btnCM);
|
galSymbols.SubItems.Add(btnCM);
|
||||||
}
|
}
|
||||||
@@ -1112,9 +1061,11 @@ namespace Volian.Controls.Library
|
|||||||
private DevComponents.AdvTree.Node NewAdvTreeNode(string nodetext, bool selectable, bool chxbxvisable)
|
private DevComponents.AdvTree.Node NewAdvTreeNode(string nodetext, bool selectable, bool chxbxvisable)
|
||||||
{
|
{
|
||||||
DevComponents.AdvTree.Node newnode;
|
DevComponents.AdvTree.Node newnode;
|
||||||
newnode = new DevComponents.AdvTree.Node();
|
newnode = new DevComponents.AdvTree.Node
|
||||||
newnode.Text = nodetext;
|
{
|
||||||
newnode.Selectable = selectable;
|
Text = nodetext,
|
||||||
|
Selectable = selectable
|
||||||
|
};
|
||||||
AddCheckBox(chxbxvisable, newnode);//C2016-045 Allow Folders to be selected.
|
AddCheckBox(chxbxvisable, newnode);//C2016-045 Allow Folders to be selected.
|
||||||
return newnode;
|
return newnode;
|
||||||
}
|
}
|
||||||
@@ -1161,7 +1112,7 @@ namespace Volian.Controls.Library
|
|||||||
// folder properties dialog
|
// folder properties dialog
|
||||||
bool allowNonAdmin = IncTranCvtPerm();
|
bool allowNonAdmin = IncTranCvtPerm();
|
||||||
List<int> itmsEditable = new List<int>(); // return this list
|
List<int> itmsEditable = new List<int>(); // return this list
|
||||||
int listCount = 0;
|
int listCount;
|
||||||
if (all) // Check all in list
|
if (all) // Check all in list
|
||||||
{
|
{
|
||||||
listCount = _SearchResults.Count;
|
listCount = _SearchResults.Count;
|
||||||
@@ -1185,14 +1136,13 @@ namespace Volian.Controls.Library
|
|||||||
// not all can be converted to text. If count of itmsEditable & lbis are different some cannot be edited.
|
// not all can be converted to text. If count of itmsEditable & lbis are different some cannot be edited.
|
||||||
if (itmsEditable.Count == 0)
|
if (itmsEditable.Count == 0)
|
||||||
{
|
{
|
||||||
FlexibleMessageBox.Show("You do not have permission to edit any of the procedures, sections, and/or steps" + (all ? "." : " that are selected."),
|
FlexibleMessageBox.Show($"You do not have permission to edit any of the procedures, sections, and/or steps{(all ? "." : " that are selected.")}",
|
||||||
"Convert Transition to Text", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
"Convert Transition to Text", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
else if (itmsEditable.Count != listCount)
|
else if (itmsEditable.Count != listCount)
|
||||||
{
|
{
|
||||||
DialogResult ans = FlexibleMessageBox.Show("You only have permission to edit some of the procedures, sections, and/or steps that are selected.procedures, sections, and/or steps" + (all ? "." : " that are selected.") +
|
DialogResult ans = FlexibleMessageBox.Show($"You only have permission to edit some of the procedures, sections, and/or steps that are selected.procedures, sections, and/or steps{(all ? "." : " that are selected.")}\r\n\r\n Should the conversion of the transitions to text continue?",
|
||||||
"\r\n\r\n Should the conversion of the transitions to text continue?",
|
|
||||||
"Convert Transition to Text", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
"Convert Transition to Text", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
||||||
if (ans == DialogResult.No) return null;
|
if (ans == DialogResult.No) return null;
|
||||||
}
|
}
|
||||||
@@ -1213,7 +1163,7 @@ namespace Volian.Controls.Library
|
|||||||
private void btnTranCvtSelToTxt_Click(object sender, EventArgs e)
|
private void btnTranCvtSelToTxt_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// First see if all selected can be converted, i.e. user has permission to edit
|
// First see if all selected can be converted, i.e. user has permission to edit
|
||||||
List<ListBoxItem> lbis = lbSrchResultsIncTrans.CheckedItems;
|
_ = lbSrchResultsIncTrans.CheckedItems;
|
||||||
List<int> itmsEditable = TranCvtCheckPermission(false);
|
List<int> itmsEditable = TranCvtCheckPermission(false);
|
||||||
if (itmsEditable == null || itmsEditable.Count == 0) return;
|
if (itmsEditable == null || itmsEditable.Count == 0) return;
|
||||||
TranCvtToTxt(itmsEditable);
|
TranCvtToTxt(itmsEditable);
|
||||||
@@ -1446,8 +1396,10 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
ROFSTLookup.rodbi db = dbs[i];
|
ROFSTLookup.rodbi db = dbs[i];
|
||||||
|
|
||||||
DevComponents.AdvTree.Node tn = new DevComponents.AdvTree.Node(db.dbiTitle);
|
DevComponents.AdvTree.Node tn = new DevComponents.AdvTree.Node(db.dbiTitle)
|
||||||
tn.Tag = db;
|
{
|
||||||
|
Tag = db
|
||||||
|
};
|
||||||
cmboTreeROs.Nodes.Add(tn);
|
cmboTreeROs.Nodes.Add(tn);
|
||||||
|
|
||||||
AddDummyGroup(db, tn);
|
AddDummyGroup(db, tn);
|
||||||
@@ -1500,17 +1452,14 @@ namespace Volian.Controls.Library
|
|||||||
if (tn.HasChildNodes && tn.Nodes[0].Text != DummyNodeText) return; // already loaded.
|
if (tn.HasChildNodes && tn.Nodes[0].Text != DummyNodeText) return; // already loaded.
|
||||||
if (tn.HasChildNodes && tn.Nodes[0].Text == DummyNodeText) tn.Nodes[0].Remove();
|
if (tn.HasChildNodes && tn.Nodes[0].Text == DummyNodeText) tn.Nodes[0].Remove();
|
||||||
|
|
||||||
ROFSTLookup.rochild[] chld = null;
|
ROFSTLookup.rochild[] chld;
|
||||||
|
if (tn.Tag is ROFSTLookup.rodbi db)
|
||||||
if (tn.Tag is ROFSTLookup.rodbi)
|
|
||||||
{
|
{
|
||||||
ROFSTLookup.rodbi db = (ROFSTLookup.rodbi)tn.Tag;
|
|
||||||
MyROFSTLookup.LoadChildren(ref db);
|
MyROFSTLookup.LoadChildren(ref db);
|
||||||
chld = db.children;
|
chld = db.children;
|
||||||
}
|
}
|
||||||
else if (tn.Tag is ROFSTLookup.rochild)
|
else if (tn.Tag is ROFSTLookup.rochild ch)
|
||||||
{
|
{
|
||||||
ROFSTLookup.rochild ch = (ROFSTLookup.rochild)tn.Tag;
|
|
||||||
MyROFSTLookup.LoadChildren(ref ch);
|
MyROFSTLookup.LoadChildren(ref ch);
|
||||||
chld = ch.children;
|
chld = ch.children;
|
||||||
}
|
}
|
||||||
@@ -1529,8 +1478,6 @@ namespace Volian.Controls.Library
|
|||||||
for (int i = 0; i < chld.Length; i++)
|
for (int i = 0; i < chld.Length; i++)
|
||||||
{
|
{
|
||||||
ProgressBar_SetValue(i);
|
ProgressBar_SetValue(i);
|
||||||
DevComponents.AdvTree.Node tmp = null;
|
|
||||||
|
|
||||||
ROFSTLookup.rochild roc = chld[i];
|
ROFSTLookup.rochild roc = chld[i];
|
||||||
|
|
||||||
// if this is a group, i.e. type 0, add a dummy node
|
// if this is a group, i.e. type 0, add a dummy node
|
||||||
@@ -1554,10 +1501,13 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Node tmp;
|
||||||
if (roc.value == null)
|
if (roc.value == null)
|
||||||
{
|
{
|
||||||
tmp = new DevComponents.AdvTree.Node(roc.title);
|
tmp = new DevComponents.AdvTree.Node(roc.title)
|
||||||
tmp.Tag = roc;
|
{
|
||||||
|
Tag = roc
|
||||||
|
};
|
||||||
|
|
||||||
int index = FindIndex(tn.Nodes, tmp.Text);
|
int index = FindIndex(tn.Nodes, tmp.Text);
|
||||||
tn.Nodes.Insert(index, tmp);
|
tn.Nodes.Insert(index, tmp);
|
||||||
@@ -1567,8 +1517,10 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tmp = new DevComponents.AdvTree.Node(roc.title);
|
tmp = new DevComponents.AdvTree.Node(roc.title)
|
||||||
tmp.Tag = roc;
|
{
|
||||||
|
Tag = roc
|
||||||
|
};
|
||||||
|
|
||||||
if (roc.roid.Length == 16)
|
if (roc.roid.Length == 16)
|
||||||
{
|
{
|
||||||
@@ -1608,9 +1560,8 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
cbxFndUnLnkROVals.Enabled = false;
|
cbxFndUnLnkROVals.Enabled = false;
|
||||||
}
|
}
|
||||||
else if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rochild)
|
else if (cmboTreeROs.SelectedNode.Tag is ROFSTLookup.rochild ro)
|
||||||
{
|
{
|
||||||
ROFSTLookup.rochild ro = (ROFSTLookup.rochild)cmboTreeROs.SelectedNode.Tag;
|
|
||||||
// B2022-026 RO Memory Reduction code - check children length
|
// B2022-026 RO Memory Reduction code - check children length
|
||||||
cbxFndUnLnkROVals.Enabled = (ro.children == null || ro.children.Length <= 0);
|
cbxFndUnLnkROVals.Enabled = (ro.children == null || ro.children.Length <= 0);
|
||||||
}
|
}
|
||||||
@@ -1632,12 +1583,7 @@ namespace Volian.Controls.Library
|
|||||||
bool keeplooking = true;
|
bool keeplooking = true;
|
||||||
//build a stack (bread crumb trail) of where is procedure set came from within the tree.
|
//build a stack (bread crumb trail) of where is procedure set came from within the tree.
|
||||||
Stack<string> crumbs = new Stack<string>();
|
Stack<string> crumbs = new Stack<string>();
|
||||||
//crumbs.Push(Mydocversion.Name); // ex: "working draft"
|
|
||||||
//crumbs.Push(Mydocversion.MyFolder.Name); // ex: "Emergency Procedures"
|
|
||||||
//crumbs.Push(Mydocversion.MyFolder.MyParent.Name); // ex: "STPNOC-South Texas"
|
|
||||||
//crumbs.Push(advTreeProcSets.Nodes[0].Text); //top node of my tree
|
|
||||||
|
|
||||||
//crumbs.Push(Mydocversion.Name); // ex: "working draft"
|
|
||||||
crumbs.Push(Mydocversion.MyFolder.Name); // ex: "Emergency Procedures"
|
crumbs.Push(Mydocversion.MyFolder.Name); // ex: "Emergency Procedures"
|
||||||
FolderInfo fi = Mydocversion.MyFolder.MyParent;
|
FolderInfo fi = Mydocversion.MyFolder.MyParent;
|
||||||
while (fi != null)
|
while (fi != null)
|
||||||
@@ -1822,13 +1768,11 @@ namespace Volian.Controls.Library
|
|||||||
// item to be clicked and to turn on/off the btnTranCvtSelToTxt button for converting selected to test.
|
// item to be clicked and to turn on/off the btnTranCvtSelToTxt button for converting selected to test.
|
||||||
private void lbSrchResultsIncTrans_ItemClicked(object sender, EventArgs e)
|
private void lbSrchResultsIncTrans_ItemClicked(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ListBoxItem lbi = sender as ListBoxItem;
|
if (sender is ListBoxItem lbi)
|
||||||
if (lbi != null)
|
|
||||||
{
|
{
|
||||||
ItemBindingData ibd = lbi.Tag as ItemBindingData;
|
ItemBindingData ibd = lbi.Tag as ItemBindingData;
|
||||||
ItemInfo ii = ibd.DataItem as ItemInfo;
|
|
||||||
bool allowNonAdmin = IncTranCvtPerm();
|
bool allowNonAdmin = IncTranCvtPerm();
|
||||||
if (lbi.CheckState == CheckState.Checked && ii != null)
|
if (lbi.CheckState == CheckState.Checked && ibd.DataItem is ItemInfo ii)
|
||||||
{
|
{
|
||||||
if (!allowNonAdmin && !UserInfo.CanEdit(MyUserInfo, ii.MyDocVersion))
|
if (!allowNonAdmin && !UserInfo.CanEdit(MyUserInfo, ii.MyDocVersion))
|
||||||
{
|
{
|
||||||
@@ -2039,11 +1983,8 @@ namespace Volian.Controls.Library
|
|||||||
bool includeSpecialChars = (TextSearchString != @"\?"); // true;
|
bool includeSpecialChars = (TextSearchString != @"\?"); // true;
|
||||||
// Build list of selected types that were searched
|
// Build list of selected types that were searched
|
||||||
string typstr = null;
|
string typstr = null;
|
||||||
foreach (string s in lstCheckedStepTypesStr) typstr = typstr == null ? s : typstr + ", " + s;
|
foreach (string s in lstCheckedStepTypesStr) typstr = typstr == null ? s : $"{typstr}, {s}";
|
||||||
TypesSelected = "Filtered By: " + ((typstr != null) ? typstr : "All Step Types");
|
TypesSelected = $"Filtered By: {typstr ?? "All Step Types"}";
|
||||||
//TypesSelected = "Step Types Searched: " + ((typstr != null) ? typstr : "all step types");
|
|
||||||
//TypesSelected = "Searched Step Types: " + ((typstr != null) ? typstr : "all step types");
|
|
||||||
//TypesSelected = (typstr != null) ? "Searched Step Types: " + typstr : "Searched All Step Types";
|
|
||||||
string unitPrefix = string.Empty;
|
string unitPrefix = string.Empty;
|
||||||
if (Mydocversion != null)
|
if (Mydocversion != null)
|
||||||
unitPrefix = Mydocversion.DocVersionConfig.Unit_ProcedureNumber;
|
unitPrefix = Mydocversion.DocVersionConfig.Unit_ProcedureNumber;
|
||||||
@@ -2063,11 +2004,8 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//string typstr = null;
|
|
||||||
//foreach (string s in lstCheckedStepTypesStr) typstr = typstr==null?s:typstr + ", " + s;
|
|
||||||
//ReportTitle = "Search for Selected Types"; //"Proms - Search by Type: " + typstr;
|
|
||||||
ReportTitle = "Step Element Report"; //"Proms - Search by Type: " + typstr;
|
ReportTitle = "Step Element Report"; //"Proms - Search by Type: " + typstr;
|
||||||
TypesSelected = "Filtered By: " + typstr;
|
TypesSelected = $"Filtered By: {typstr}";
|
||||||
SearchString = null;
|
SearchString = null;
|
||||||
// B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results.
|
// B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results.
|
||||||
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, string.Empty, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, ItemSearchIncludeLinks.Value, includeRTFformat, includeSpecialChars, unitPrefix, string.Empty, string.Empty);
|
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, string.Empty, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, ItemSearchIncludeLinks.Value, includeRTFformat, includeSpecialChars, unitPrefix, string.Empty, string.Empty);
|
||||||
@@ -2076,47 +2014,18 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//if (textSearchString.Equals(string.Empty))
|
|
||||||
//{
|
|
||||||
// MessageBox.Show("Please enter some search text, then click the Search button", "No Search Text");
|
|
||||||
// cbxTextSearchText.Focus();
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
//ReportTitle = string.Format("Proms - {0} Search for '{1}'", cbxBooleanTxtSrch.Checked ? "Boolean" : "Text", TextSearchString);
|
|
||||||
ReportTitle = string.Format("Search for '{0}'", TextSearchString);
|
ReportTitle = string.Format("Search for '{0}'", TextSearchString);
|
||||||
|
|
||||||
// C2020-009: Search - Allow search 'By Word'.
|
|
||||||
string byWordPrefix = string.Empty;
|
string byWordPrefix = string.Empty;
|
||||||
string byWordSuffix = string.Empty;
|
string byWordSuffix = string.Empty;
|
||||||
if (cbxByWord.Checked)
|
if (cbxByWord.Checked)
|
||||||
{
|
{
|
||||||
// Generate a prefix & suffix to be used in the sql query around the search string.
|
byWordPrefix = GetByWordSettings(TextSearchString, true);
|
||||||
// If the search string starts (prefix)/ends(suffix) with a number, then use an expression that
|
byWordSuffix = GetByWordSettings(TextSearchString, false);
|
||||||
// does not allow the preceding/following text to have a number, '.', letter or other rtf
|
|
||||||
// commands. If the search string starts/ends with a letter, then use an expression that does not
|
|
||||||
// find the preceding/following text that is text, i.e. a letter.
|
|
||||||
if (Regex.IsMatch(TextSearchString, @"^[\d\.]")) // starts with a number or '.' decimal pt
|
|
||||||
{
|
|
||||||
byWordPrefix = @"[^0-9a-zA-Z.vbpi:\\-]";
|
|
||||||
}
|
|
||||||
else if (Regex.IsMatch(TextSearchString, @"^[a-zA-Z]")) // starts with a letter
|
|
||||||
{
|
|
||||||
byWordPrefix = @"[^a-zA-Z]";
|
|
||||||
}
|
|
||||||
if (Regex.IsMatch(TextSearchString, @"[\d\.]$")) // ends with a number or decimal
|
|
||||||
{
|
|
||||||
byWordSuffix = @"[^0-9a-zA-Z.vbpi:\\-]";
|
|
||||||
}
|
|
||||||
else if (Regex.IsMatch(TextSearchString, @"[a-zA-Z]$")) // ends with a letter
|
|
||||||
{
|
|
||||||
byWordSuffix = @"[^a-zA-Z]";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
SearchString = TextSearchString;
|
|
||||||
//TypesSelected = (typstr != null) ? "Searched Step Types: " + typstr : "Searched All Step Types";
|
SearchString = TextSearchString;
|
||||||
//TypesSelected = "Searched Step Types: " + ((typstr != null) ? typstr : "All Step Types");
|
|
||||||
// B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results.
|
|
||||||
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, TextSearchString /*.Replace(@"\",@"\u9586?")*/, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, cbxIncROTextSrch.Checked ? ItemSearchIncludeLinks.Value : ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, byWordPrefix, byWordSuffix);
|
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, TextSearchString /*.Replace(@"\",@"\u9586?")*/, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, cbxIncROTextSrch.Checked ? ItemSearchIncludeLinks.Value : ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, byWordPrefix, byWordSuffix);
|
||||||
|
|
||||||
cmbResultsStyleIndex = 3; // display step text in results
|
cmbResultsStyleIndex = 3; // display step text in results
|
||||||
@@ -2129,7 +2038,6 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
LastSearchWasAnnotations = true; // B2019-119 only refresh annotation search results if an annotation search was done
|
LastSearchWasAnnotations = true; // B2019-119 only refresh annotation search results if an annotation search was done
|
||||||
SearchString = null;
|
SearchString = null;
|
||||||
//ReportTitle = string.Format("Proms - Annotation Search for '{0}'", cbxTextSearchAnnotation.Text);
|
|
||||||
if (cbxTextSearchAnnotation.Text == null || cbxTextSearchAnnotation.Text == string.Empty)
|
if (cbxTextSearchAnnotation.Text == null || cbxTextSearchAnnotation.Text == string.Empty)
|
||||||
{
|
{
|
||||||
ReportTitle = string.Format("Find {0}{1}", cbxAnnoTypes.Text, (cbxAnnoTypes.SelectedIndex > 0) ? " Annotations" : string.Empty);
|
ReportTitle = string.Format("Find {0}{1}", cbxAnnoTypes.Text, (cbxAnnoTypes.SelectedIndex > 0) ? " Annotations" : string.Empty);
|
||||||
@@ -2138,14 +2046,8 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
ReportTitle = string.Format("Search {0}{1} For '{2}'", cbxAnnoTypes.Text, (cbxAnnoTypes.SelectedIndex > 0) ? " Annotations" : string.Empty, cbxTextSearchAnnotation.Text);
|
ReportTitle = string.Format("Search {0}{1} For '{2}'", cbxAnnoTypes.Text, (cbxAnnoTypes.SelectedIndex > 0) ? " Annotations" : string.Empty, cbxTextSearchAnnotation.Text);
|
||||||
}
|
}
|
||||||
//ReportTitle = string.Format("Search Annotations for '{0}'", cbxTextSearchAnnotation.Text);
|
|
||||||
//string srchStr = ConvertSpecialChars(cbxTextSearchAnnotation.Text);//cbxTextSearchAnnotation.Text;
|
|
||||||
//TypesSelected = "Searched Step Types: " + ((typstr != null) ? typstr : "All Step Types");
|
|
||||||
|
|
||||||
//SearchResults = ItemInfoList.GetListFromAnnotationSearch(dviSearchList, typeSearchList, textSearchString, srchStr, cbxCaseSensitiveAnnoText.Checked);
|
|
||||||
|
|
||||||
SearchResults = ItemInfoList.GetListFromAnnotationSearch(DVISearchList, TypeSearchList, AnnotationSearchType, cbxTextSearchAnnotation.Text, cbxCaseSensitiveAnnoText.Checked, unitPrefix);
|
SearchResults = ItemInfoList.GetListFromAnnotationSearch(DVISearchList, TypeSearchList, AnnotationSearchType, cbxTextSearchAnnotation.Text, cbxCaseSensitiveAnnoText.Checked, unitPrefix);
|
||||||
//UpdateAnnotationSearchResults();
|
|
||||||
cmbResultsStyleIndex = 2; // display annotation text in results
|
cmbResultsStyleIndex = 2; // display annotation text in results
|
||||||
// C2019-001: Search in RNO steps only
|
// C2019-001: Search in RNO steps only
|
||||||
if (cbxRnoOnlyAnnot.Checked) GetInRNOResults();
|
if (cbxRnoOnlyAnnot.Checked) GetInRNOResults();
|
||||||
@@ -2153,14 +2055,12 @@ namespace Volian.Controls.Library
|
|||||||
else if (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[2]) // RO Search
|
else if (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[2]) // RO Search
|
||||||
{
|
{
|
||||||
SearchString = null;
|
SearchString = null;
|
||||||
//ReportTitle = "Proms - Referenced Object Search";
|
|
||||||
ReportTitle = string.Format("Search For Referenced Object:\n{0}", cmboTreeROs.Text);
|
ReportTitle = string.Format("Search For Referenced Object:\n{0}", cmboTreeROs.Text);
|
||||||
//TypesSelected = "Searched Step Types: " + ((typstr != null) ? typstr : "All Step Types");
|
|
||||||
|
|
||||||
if (cbxFndUnLnkROVals.Enabled && cbxFndUnLnkROVals.Checked)
|
if (cbxFndUnLnkROVals.Enabled && cbxFndUnLnkROVals.Checked)
|
||||||
{
|
{
|
||||||
// B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results.
|
|
||||||
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, ROSearchList, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, string.Empty, string.Empty);
|
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, ROSearchList, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, GetByWordSettings(ROSearchList, true), GetByWordSettings(ROSearchList, false));
|
||||||
cmbResultsStyleIndex = 3; // display step text in results
|
cmbResultsStyleIndex = 3; // display step text in results
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -2175,22 +2075,37 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
ReportTitle = string.Format("Search For Transitions: Transition Type: {0}, Transition Category: {1}", cbxTranFormat.SelectedItem, cbxTranCategory.SelectedItem);
|
ReportTitle = string.Format("Search For Transitions: Transition Type: {0}, Transition Category: {1}", cbxTranFormat.SelectedItem, cbxTranCategory.SelectedItem);
|
||||||
string docVersionList = string.Empty;
|
string docVersionList = string.Empty;
|
||||||
|
bool bypassSearch = false;
|
||||||
if (lstCheckedDocVersions.Count == 0)
|
if (lstCheckedDocVersions.Count == 0)
|
||||||
docVersionList = cbxTranVersion.Tag.ToString();
|
docVersionList = cbxTranVersion.Tag.ToString();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string sep = string.Empty;
|
//B2026-055 – Transition Search Improvements
|
||||||
foreach (DocVersionInfo dvi in lstCheckedDocVersions)
|
//Changed matching to take Filtered Formats into account if both tree
|
||||||
|
//Items selected and Format dropdown filtered
|
||||||
|
if (string.IsNullOrEmpty(cbxTranVersion.Tag?.ToString()))
|
||||||
{
|
{
|
||||||
docVersionList += sep + dvi.VersionID.ToString();
|
docVersionList = string.Join(",", lstCheckedDocVersions.Select(y => y.VersionID.ToString()));
|
||||||
sep = ",";
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var fromatversionslst = cbxTranVersion.Tag.ToString().Split(',').Select(int.Parse);
|
||||||
|
var selectedversionlst = lstCheckedDocVersions.Select(y => y.VersionID);
|
||||||
|
docVersionList = string.Join(",", fromatversionslst.Intersect(selectedversionlst));
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(docVersionList))
|
||||||
|
{
|
||||||
|
bypassSearch = true;
|
||||||
|
FlexibleMessageBox.Show("No Matches Found.", "Search");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// B2018-134 to search specifically for Outside Transitions, set docVeronList to empty string so that all procedure sets are considered
|
// B2018-134 to search specifically for Outside Transitions, set docVeronList to empty string so that all procedure sets are considered
|
||||||
if (cbxTranCategory.SelectedItem.ToString() == "Outside")
|
if (cbxTranCategory.SelectedItem?.ToString() == "Outside")
|
||||||
docVersionList = string.Empty;
|
docVersionList = string.Empty;
|
||||||
// added TypeSearchList for bug fix B2015-055
|
// added TypeSearchList for bug fix B2015-055
|
||||||
SearchResults = ItemInfoList.GetListFromTransitionSearch(docVersionList, cbxTranFormat.SelectedIndex - 1, cbxTranCategory.SelectedItem.ToString() == "All" ? string.Empty : cbxTranCategory.SelectedItem.ToString(), TypeSearchList);
|
if (cbxTranFormat.SelectedIndex == -1) cbxTranFormatFillIn(docVersionList);
|
||||||
|
if (!bypassSearch) SearchResults = ItemInfoList.GetListFromTransitionSearch(docVersionList, cbxTranFormat.SelectedIndex - 1, cbxTranCategory.SelectedItem?.ToString() == "All" ? string.Empty : (cbxTranCategory.SelectedItem?.ToString() ?? string.Empty), TypeSearchList);
|
||||||
cmbResultsStyleIndex = 3; // display step text in results
|
cmbResultsStyleIndex = 3; // display step text in results
|
||||||
// C2019-001: Search in RNO steps only
|
// C2019-001: Search in RNO steps only
|
||||||
if (cbxRnoOnlyTrans.Checked) GetInRNOResults();
|
if (cbxRnoOnlyTrans.Checked) GetInRNOResults();
|
||||||
@@ -2247,18 +2162,60 @@ namespace Volian.Controls.Library
|
|||||||
string tmpmsg = (cbxBooleanTxtSrch.Checked && ex.Message.Contains("Syntax error") && ex.Message.Contains("full-text search")) ?
|
string tmpmsg = (cbxBooleanTxtSrch.Checked && ex.Message.Contains("Syntax error") && ex.Message.Contains("full-text search")) ?
|
||||||
"Place \"\" around words that you are searching for, so that parser can better understand what you are trying to find" :
|
"Place \"\" around words that you are searching for, so that parser can better understand what you are trying to find" :
|
||||||
ex.Message;
|
ex.Message;
|
||||||
FlexibleMessageBox.Show(tmpmsg, "Search Error: " + ex.GetType().Name);
|
FlexibleMessageBox.Show(tmpmsg, $"Search Error: {ex.GetType().Name}");
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
Cursor = savcursor;
|
Cursor = savcursor;
|
||||||
}
|
}
|
||||||
//Console.WriteLine("{0} Milliseconds", TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks).TotalMilliseconds);
|
|
||||||
OnSearchComplete(new DisplaySearchEventArgs(TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks)));
|
OnSearchComplete(new DisplaySearchEventArgs(TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks)));
|
||||||
//if (VlnSettings.DebugMode)
|
|
||||||
// MessageBox.Show(string.Format("{0} Milliseconds", TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks).TotalMilliseconds));
|
|
||||||
}
|
}
|
||||||
|
private string GetByWordSettings(string ss, bool checkstart)
|
||||||
|
{
|
||||||
|
|
||||||
|
// C2020-009: Search - Allow search 'By Word'.
|
||||||
|
|
||||||
|
// // Generate a prefix & suffix to be used in the sql query around the search string.
|
||||||
|
// // If the search string starts (prefix)/ends(suffix) with a number, then use an expression that
|
||||||
|
// // does not allow the preceding/following text to have a number, '.', letter or other rtf
|
||||||
|
// // commands. If the search string starts/ends with a letter, then use an expression that does not
|
||||||
|
// // find the preceding/following text that is text, i.e. a letter.
|
||||||
|
|
||||||
|
if (ss.Length > 0)
|
||||||
|
{
|
||||||
|
//checking start
|
||||||
|
if (checkstart)
|
||||||
|
{
|
||||||
|
// starts with a number or '.' decimal pt
|
||||||
|
if (char.IsNumber(ss, 0) || ss[0] == '.')
|
||||||
|
{
|
||||||
|
return @"[^0-9a-zA-Z.vbpi:\\-]";
|
||||||
|
}
|
||||||
|
// starts with a letter
|
||||||
|
else if (char.IsLetter(ss, 0))
|
||||||
|
{
|
||||||
|
return @"[^a-zA-Z]";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//checking end
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// ends with a number or '.' decimal pt
|
||||||
|
if (char.IsNumber(ss, ss.Length - 1) || ss[ss.Length - 1] == '.')
|
||||||
|
{
|
||||||
|
return @"[^0-9a-zA-Z.vbpi:\\-]";
|
||||||
|
}
|
||||||
|
// ends with a letter
|
||||||
|
else if (char.IsLetter(ss, ss.Length - 1))
|
||||||
|
{
|
||||||
|
return @"[^a-zA-Z]";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//default
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
private void ClearResults() // B2021-103 if no results when RNO only, clear results list. (moved from btnSearch_Click)
|
private void ClearResults() // B2021-103 if no results when RNO only, clear results list. (moved from btnSearch_Click)
|
||||||
{
|
{
|
||||||
if (tabSearchTypes.SelectedTab != tabSearchTypes.Tabs[4])
|
if (tabSearchTypes.SelectedTab != tabSearchTypes.Tabs[4])
|
||||||
@@ -2317,7 +2274,7 @@ namespace Volian.Controls.Library
|
|||||||
if (ii.SearchAnnotationText == null) ii.SearchAnnotationText = AnnotationInfo.Get(ii.ItemAnnotations[0].AnnotationID).SearchText;
|
if (ii.SearchAnnotationText == null) ii.SearchAnnotationText = AnnotationInfo.Get(ii.ItemAnnotations[0].AnnotationID).SearchText;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ii.SearchAnnotationText == null) ii.SearchAnnotationText = "None - [" + ii.DisplayText + "]";
|
if (ii.SearchAnnotationText == null) ii.SearchAnnotationText = $"None - [{ii.DisplayText}]";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
hasAnnot = true;
|
hasAnnot = true;
|
||||||
@@ -2467,7 +2424,7 @@ namespace Volian.Controls.Library
|
|||||||
//C2025-005 Find Step Elements
|
//C2025-005 Find Step Elements
|
||||||
//Need to refresh the Doc List and Available Step Types
|
//Need to refresh the Doc List and Available Step Types
|
||||||
//if All Procedure Sets was selected
|
//if All Procedure Sets was selected
|
||||||
if (n.Tag == SelectAllProcedureSetsText)
|
if (n.Tag is string txt && txt == SelectAllProcedureSetsText)
|
||||||
{
|
{
|
||||||
if (n.Checked)
|
if (n.Checked)
|
||||||
{
|
{
|
||||||
@@ -2518,7 +2475,6 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
if (tn.Checked)
|
if (tn.Checked)
|
||||||
{
|
{
|
||||||
//tn.Style = DevComponents.AdvTree.NodeStyles.Apple; // sets green background on selected folder(s)
|
|
||||||
//B2023-112: Don't crash if on top 'All' node (did not have associated folder)
|
//B2023-112: Don't crash if on top 'All' node (did not have associated folder)
|
||||||
FolderInfo fi = tn.Tag as FolderInfo;
|
FolderInfo fi = tn.Tag as FolderInfo;
|
||||||
// if this folder has a docversion, use its id:
|
// if this folder has a docversion, use its id:
|
||||||
@@ -2565,8 +2521,10 @@ namespace Volian.Controls.Library
|
|||||||
lstCheckedStepTypesStr.Clear();
|
lstCheckedStepTypesStr.Clear();
|
||||||
foreach (string str in strs)
|
foreach (string str in strs)
|
||||||
{
|
{
|
||||||
Node newnode = new DevComponents.AdvTree.Node();
|
Node newnode = new DevComponents.AdvTree.Node
|
||||||
newnode.Text = str;
|
{
|
||||||
|
Text = str
|
||||||
|
};
|
||||||
advTreeStepTypes.Nodes.Add(newnode);
|
advTreeStepTypes.Nodes.Add(newnode);
|
||||||
}
|
}
|
||||||
buildStepTypePannelTitle();
|
buildStepTypePannelTitle();
|
||||||
@@ -2655,17 +2613,24 @@ namespace Volian.Controls.Library
|
|||||||
private void cbxTranFormatFillIn(string vid)
|
private void cbxTranFormatFillIn(string vid)
|
||||||
{
|
{
|
||||||
vid = vid.IndexOf(",") < 0 ? vid : vid.Substring(0, cbxTranVersion.Tag.ToString().IndexOf(","));
|
vid = vid.IndexOf(",") < 0 ? vid : vid.Substring(0, cbxTranVersion.Tag.ToString().IndexOf(","));
|
||||||
|
//B2026-055 – Transition Search Improvements
|
||||||
|
//Change the order of items happening
|
||||||
|
//previous order was causing an error when clicked downdownlist to
|
||||||
|
//show all items and then didn't select an item in the list
|
||||||
|
cbxTranFormat.Items.Clear();
|
||||||
|
cbxTranFormat.Items.Add("All");
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(vid))
|
||||||
|
{
|
||||||
DocVersionInfo dvi = DocVersionInfo.Get(int.Parse(vid));
|
DocVersionInfo dvi = DocVersionInfo.Get(int.Parse(vid));
|
||||||
TransTypeList ttl = dvi.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList;
|
TransTypeList ttl = dvi.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList;
|
||||||
|
|
||||||
cbxTranFormat.Items.Clear();
|
|
||||||
cbxTranFormat.Items.Add("All");
|
|
||||||
|
|
||||||
for (int i = 0; i < ttl.MaxIndex; i++)
|
for (int i = 0; i < ttl.MaxIndex; i++)
|
||||||
{
|
{
|
||||||
cbxTranFormat.Items.Add(new TransItem(ttl[i].TransMenu.Replace("?.", string.Empty), ttl[i].TransFormat.Replace("?.", string.Empty)));
|
cbxTranFormat.Items.Add(new TransItem(ttl[i].TransMenu.Replace("?.", string.Empty), ttl[i].TransFormat.Replace("?.", string.Empty)));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
cbxTranFormat.SelectedIndex = 0;
|
cbxTranFormat.SelectedIndex = 0;
|
||||||
cbxTranCategory.Items.Clear();
|
cbxTranCategory.Items.Clear();
|
||||||
@@ -2715,9 +2680,9 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
if (advTreeStepTypes.Nodes.Count == 1 && n.Checked)
|
if (advTreeStepTypes.Nodes.Count == 1 && n.Checked)
|
||||||
{
|
{
|
||||||
if (n.Tag is DocVersionInfo) // Only set MyDocVersion if it is a DocVersion
|
if (n.Tag is DocVersionInfo info) // Only set MyDocVersion if it is a DocVersion
|
||||||
{
|
{
|
||||||
Mydocversion = (DocVersionInfo)n.Tag;
|
Mydocversion = info;
|
||||||
StartAdvTreeStepTypesFillIn();// B2016-258 Hang after selecting a procedure if the Step Type panel is open on the search panel
|
StartAdvTreeStepTypesFillIn();// B2016-258 Hang after selecting a procedure if the Step Type panel is open on the search panel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2742,8 +2707,6 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
if (n.Checked)
|
if (n.Checked)
|
||||||
{
|
{
|
||||||
//n.Style = DevComponents.AdvTree.NodeStyles.Apple; // B2023-112: coloring of proc set tree nodes was not working correctly
|
|
||||||
|
|
||||||
if (sd == null)
|
if (sd == null)
|
||||||
{
|
{
|
||||||
//C2023-010: Since the tag is null for Word Sections and HLS types, we need to determine which one has been selected. Word sections we need
|
//C2023-010: Since the tag is null for Word Sections and HLS types, we need to determine which one has been selected. Word sections we need
|
||||||
@@ -2872,7 +2835,7 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
xpStepTypes.TitleStyle.BackColor1.Color = saveXpStepTypeTitleColor;
|
xpStepTypes.TitleStyle.BackColor1.Color = saveXpStepTypeTitleColor;
|
||||||
}
|
}
|
||||||
else //lstCheckedStepTypes.Count > 0
|
else
|
||||||
{
|
{
|
||||||
// show how many selected whether panel is expanded or not
|
// show how many selected whether panel is expanded or not
|
||||||
xpStepTypes.TitleText = string.Format("{0} Step Element{1} Selected", lstCheckedStepTypes.Count, (lstCheckedStepTypes.Count > 1) ? "s" : string.Empty); // B2018-132 changed second {0} to {1}
|
xpStepTypes.TitleText = string.Format("{0} Step Element{1} Selected", lstCheckedStepTypes.Count, (lstCheckedStepTypes.Count > 1) ? "s" : string.Empty); // B2018-132 changed second {0} to {1}
|
||||||
@@ -2944,7 +2907,6 @@ namespace Volian.Controls.Library
|
|||||||
private bool OnlyWordSectTypeSel()
|
private bool OnlyWordSectTypeSel()
|
||||||
{
|
{
|
||||||
// B2021-100: Enable/disable the RNO Only checkbox & WORD Sections tree node in Step Elements to Search.
|
// B2021-100: Enable/disable the RNO Only checkbox & WORD Sections tree node in Step Elements to Search.
|
||||||
// lstCheckedStepTypes[x] = 0 for Word sections:
|
|
||||||
if (lstCheckedStepTypes != null && lstCheckedStepTypes.Count == 1 && lstCheckedStepTypes[0] == 0)
|
if (lstCheckedStepTypes != null && lstCheckedStepTypes.Count == 1 && lstCheckedStepTypes[0] == 0)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
@@ -3143,11 +3105,6 @@ namespace Volian.Controls.Library
|
|||||||
lbSrchResults.DataSource = null;
|
lbSrchResults.DataSource = null;
|
||||||
lbSrchResults.Items.Clear();
|
lbSrchResults.Items.Clear();
|
||||||
toolTip1.SetToolTip(lbSrchResults, null);
|
toolTip1.SetToolTip(lbSrchResults, null);
|
||||||
string unitPrefix = string.Empty;
|
|
||||||
if (Mydocversion != null)
|
|
||||||
unitPrefix = Mydocversion.DocVersionConfig.Unit_ProcedureNumber;
|
|
||||||
if (unitPrefix.EndsWith("#"))
|
|
||||||
unitPrefix = unitPrefix.Replace("#", string.Empty);
|
|
||||||
Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
|
|
||||||
try // B2021-045: don't crash if xml file cannot be loaded.
|
try // B2021-045: don't crash if xml file cannot be loaded.
|
||||||
@@ -3177,7 +3134,7 @@ namespace Volian.Controls.Library
|
|||||||
Node tnode = advTreeProcSets.FindNodeByDataKey(folderID);
|
Node tnode = advTreeProcSets.FindNodeByDataKey(folderID);
|
||||||
if (tnode != null) tnode.Checked = true;
|
if (tnode != null) tnode.Checked = true;
|
||||||
}
|
}
|
||||||
Mydocversion = tmpdvi == null ? fromLoadFiledvi : tmpdvi;
|
Mydocversion = tmpdvi ?? fromLoadFiledvi;
|
||||||
}
|
}
|
||||||
|
|
||||||
AdvTreeStepTypesFillIn();
|
AdvTreeStepTypesFillIn();
|
||||||
@@ -3200,10 +3157,10 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
|
|
||||||
string typstr = null;
|
string typstr = null;
|
||||||
foreach (string s in lstCheckedStepTypesStr) typstr = typstr == null ? s : typstr + ", " + s;
|
foreach (string s in lstCheckedStepTypesStr) typstr = typstr == null ? s : $"{typstr}, {s}";
|
||||||
TypesSelected = "Filtered By: " + ((typstr != null) ? typstr : "All Step Types");
|
TypesSelected = $"Filtered By: {typstr ?? "All Step Types"}";
|
||||||
ReportTitle = "Step Element Report"; //"Proms - Search by Type: " + typstr;
|
ReportTitle = "Step Element Report"; //"Proms - Search by Type: " + typstr;
|
||||||
TypesSelected = "Filtered By: " + typstr;
|
TypesSelected = $"Filtered By: {typstr}";
|
||||||
advTreeStepTypes.RefreshItems();
|
advTreeStepTypes.RefreshItems();
|
||||||
buildStepTypePannelTitle();
|
buildStepTypePannelTitle();
|
||||||
}
|
}
|
||||||
@@ -3296,7 +3253,7 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
FlexibleMessageBox.Show("An error occurred while reading the xml file.\r\n\r\nThis can happen when the file selected for the Load is not saved\r\n" +
|
FlexibleMessageBox.Show("An error occurred while reading the xml file.\r\n\r\nThis can happen when the file selected for the Load is not saved\r\n" +
|
||||||
"from a PROMS Search or if some of the steps no longer exist.", "Search Load Failed", MessageBoxButtons.OK);
|
"from a PROMS Search or if some of the steps no longer exist.", "Search Load Failed", MessageBoxButtons.OK);
|
||||||
@@ -3476,6 +3433,46 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//B2026-055 – Transition Search Improvements
|
||||||
|
//Update Enabling/Disabling of Tree Elements
|
||||||
|
public bool TraverseTree(DevComponents.AdvTree.Node node, string[] versions)
|
||||||
|
{
|
||||||
|
bool result = true;
|
||||||
|
int numhiddenchildnodes = 0;
|
||||||
|
|
||||||
|
// Recursively call this method for each child node
|
||||||
|
foreach (DevComponents.AdvTree.Node childNode in node.Nodes)
|
||||||
|
{
|
||||||
|
if (!TraverseTree(childNode, versions))
|
||||||
|
{
|
||||||
|
numhiddenchildnodes++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process the current node (e.g., enable it if it is contained)
|
||||||
|
|
||||||
|
//Select all always shows
|
||||||
|
//also Enable Dummy Nodes by default
|
||||||
|
if (versions == null || (versions.Length == 1 && string.IsNullOrEmpty(versions[0])) || node.Tag == null || (node.Tag is string txt && txt == SelectAllProcedureSetsText))
|
||||||
|
{
|
||||||
|
node.Enabled = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
//if all child nodes are hidden, hide the parent
|
||||||
|
else if (numhiddenchildnodes == node.Nodes.Count)
|
||||||
|
{
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
FolderInfo fi = (FolderInfo)node.Tag;
|
||||||
|
if (fi.FolderDocVersionCount > 0)
|
||||||
|
{
|
||||||
|
result = versions.Contains(fi.FolderDocVersions[0].VersionID.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
node.Enabled = result;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
private void btnCopySearchResults_Click(object sender, EventArgs e)
|
private void btnCopySearchResults_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ICollection<ItemInfo> myList = lbSrchResults.DataSource as ICollection<ItemInfo>;
|
ICollection<ItemInfo> myList = lbSrchResults.DataSource as ICollection<ItemInfo>;
|
||||||
@@ -3541,7 +3538,6 @@ namespace Volian.Controls.Library
|
|||||||
private bool IncTransCvtAllToTextPerm()
|
private bool IncTransCvtAllToTextPerm()
|
||||||
{
|
{
|
||||||
if (_SearchResults == null) return false;
|
if (_SearchResults == null) return false;
|
||||||
int cnt = 0;
|
|
||||||
bool allowNonAdmin = IncTranCvtPerm();
|
bool allowNonAdmin = IncTranCvtPerm();
|
||||||
foreach (ItemInfo ii in _SearchResults)
|
foreach (ItemInfo ii in _SearchResults)
|
||||||
{
|
{
|
||||||
@@ -3657,6 +3653,8 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#pragma warning restore IDE1006 // Naming Styles
|
||||||
|
#pragma warning restore IDE0044 // Add readonly modifier
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
@@ -3684,15 +3684,14 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
ROFSTLookup myLookup = MySection.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MySection.MyDocVersion, null);
|
ROFSTLookup myLookup = MySection.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MySection.MyDocVersion, null);
|
||||||
|
|
||||||
string accpgid = accpageid;
|
//B2022-083: Support Conditional RO Values
|
||||||
|
//C2026-047 first try the RO Lookup with the ascii dash character in the accpageid. If not found, try again with the unicode dash
|
||||||
//B2022 - 083: Support Conditional RO Values
|
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpageid.Replace(@"\u8209?", "-"), multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||||
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpgid, multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
|
||||||
|
|
||||||
if (roc.value == null)
|
if (roc.value == null)
|
||||||
{
|
{
|
||||||
accpgid = accpgid.Replace(@"\u8209?", "-");
|
// try again but this time with the unicode dash
|
||||||
roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpgid, multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpageid, multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!deflt.StartsWith("[") && !string.IsNullOrEmpty(roc.value) && roc.value.Trim().Length > 0) // don't return val if it's an empty or blank string - jsj 01-28-2019
|
if (!deflt.StartsWith("[") && !string.IsNullOrEmpty(roc.value) && roc.value.Trim().Length > 0) // don't return val if it's an empty or blank string - jsj 01-28-2019
|
||||||
|
|||||||
@@ -1418,7 +1418,9 @@ 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.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);
|
||||||
|
|
||||||
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)
|
||||||
@@ -1533,6 +1535,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)
|
||||||
|
|||||||
@@ -1659,14 +1659,14 @@ i = 0;
|
|||||||
private string ROLookup(string accpageid, string multiid, string deflt, string overrideChild)
|
private string ROLookup(string accpageid, string multiid, string deflt, string overrideChild)
|
||||||
{
|
{
|
||||||
ROFSTLookup myLookup = MySection.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MySection.MyDocVersion, overrideChild);
|
ROFSTLookup myLookup = MySection.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MySection.MyDocVersion, overrideChild);
|
||||||
|
|
||||||
string accpgid = accpageid;
|
//C2026-047 first try the RO Lookup with the ascii dash character in the accpageid. If not found, try again with the unicode dash
|
||||||
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID("<" + accpgid + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID("<" + accpageid.Replace(@"\u8209?", "-") + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||||
|
|
||||||
if (roc.value == null)
|
if (roc.value == null)
|
||||||
{
|
{
|
||||||
accpgid = accpgid.Replace(@"\u8209?", "-");
|
// try again but this time with the unicode dash
|
||||||
roc = myLookup.GetROChildByAccPageID("<" + accpgid + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
roc = myLookup.GetROChildByAccPageID("<" + accpageid + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!deflt.StartsWith("[") && !string.IsNullOrEmpty(roc.value) && roc.value.Trim().Length > 0) // don't return val if it's an empty or blank string - jsj 01-28-2019
|
if (!deflt.StartsWith("[") && !string.IsNullOrEmpty(roc.value) && roc.value.Trim().Length > 0) // don't return val if it's an empty or blank string - jsj 01-28-2019
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
//using System.Drawing;
|
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using iTextSharp.text.pdf;
|
using iTextSharp.text.pdf;
|
||||||
using iTextSharp.text;
|
using iTextSharp.text;
|
||||||
using Itenso.Rtf;
|
|
||||||
using Itenso.Rtf.Parser;
|
|
||||||
using Itenso.Rtf.Interpreter;
|
|
||||||
using Itenso.Rtf.Support;
|
|
||||||
using Volian.Controls.Library;
|
using Volian.Controls.Library;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using Volian.Base.Library;
|
using Volian.Base.Library;
|
||||||
@@ -160,13 +155,44 @@ namespace Volian.Print.Library
|
|||||||
childItemInfo.SetHeader(childItemInfo.FormatStepData.TabData.Font, lastHeader);
|
childItemInfo.SetHeader(childItemInfo.FormatStepData.TabData.Font, lastHeader);
|
||||||
lastHeader = null;
|
lastHeader = null;
|
||||||
}
|
}
|
||||||
|
// B2026-072 Caution/Note off of an RNO sub-step was printing on top of the parent AER sub-step text
|
||||||
|
// ex: Farley Unit 1 AOPs 1-AOP-1.0, Procedure Steps section, step 8.4.1
|
||||||
|
// if printing a Caution or Note type that is in the RNO column and we are a printing a two column section
|
||||||
|
if ((childItemInfo.IsCaution || childItemInfo.IsNote) && childItemInfo.IsInRNO && childItemInfo.ColumnMode>0)
|
||||||
|
{
|
||||||
|
// get the starting positon of the RNO column
|
||||||
|
float colR = float.Parse(formatInfo.MyStepSectionLayoutData.ColRTable.Split(",".ToCharArray())[childItemInfo.ColumnMode]);
|
||||||
|
// get the starting position of the Caution or Note
|
||||||
|
float startColOfCautionNote = xoff;
|
||||||
|
if (bxIndx != null)
|
||||||
|
{
|
||||||
|
// if it is a boxed Caution or Note, then get the starting colun of the box
|
||||||
|
Box bx = childItemInfo.ActiveFormat.PlantFormat.FormatData.BoxList[(int)bxIndx];
|
||||||
|
startColOfCautionNote = bx.Start??0;
|
||||||
|
}
|
||||||
|
// If the starting positon of Caution/Note is in the AER column, find the y position of the last text line of
|
||||||
|
// the AER parent to the RNO step.
|
||||||
|
if (startColOfCautionNote < colR)
|
||||||
|
{
|
||||||
|
vlnParagraph tparent = Parent;
|
||||||
|
while (tparent.MyItemInfo.IsInRNO) tparent = tparent.MyParent; // find the parent AER sub-step
|
||||||
|
if (tparent != Parent && tparent.MyItemInfo.IsInSubStep)
|
||||||
|
{
|
||||||
|
// add the height of the AER sub-step text to its starting yoffset
|
||||||
|
float tyoff = tparent.YOffset + tparent.Height;
|
||||||
|
// while the position in the AER column (tyoff) is greater then or equal to starting position
|
||||||
|
// of the Note or Caution, move down the page a line at time.
|
||||||
|
// SixLinesPerInch adjusts for when we are printing in compress mode.
|
||||||
|
while (tyoff >= yoff) yoff += vlnPrintObject.SixLinesPerInch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
// if the format has MatchUpRNOCautNote, then add a line to yoff, if not at top of rno column.
|
// if the format has MatchUpRNOCautNote, then add a line to yoff, if not at top of rno column.
|
||||||
if (childItemInfo.FormatStepData != null && childItemInfo.FormatStepData.MatchUpRNO)
|
if (childItemInfo.FormatStepData != null && childItemInfo.FormatStepData.MatchUpRNO)
|
||||||
{
|
{
|
||||||
if (childItemInfo.MyParent != null && childItemInfo.MyParent.MyParent != null && !childItemInfo.MyParent.MyParent.IsHigh)
|
if (childItemInfo.MyParent != null && childItemInfo.MyParent.MyParent != null && !childItemInfo.MyParent.MyParent.IsHigh)
|
||||||
{
|
{
|
||||||
yoff += vlnPrintObject.SixLinesPerInch;
|
yoff += vlnPrintObject.SixLinesPerInch;
|
||||||
Parent.AdjustForMatchUpRNO = vlnPrintObject.SixLinesPerInch; // B2020-112
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if this is a caution/note and it has a caution/note substep, do it before this caution/note, so that
|
// if this is a caution/note and it has a caution/note substep, do it before this caution/note, so that
|
||||||
@@ -1554,7 +1580,6 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
private static bool DoSubs = true; // flag whether to print substeps (don't if doing continued checklist header)
|
private static bool DoSubs = true; // flag whether to print substeps (don't if doing continued checklist header)
|
||||||
public float AdjustForXBlankW1stLevSub = 0; // B2020-112 this & next line
|
public float AdjustForXBlankW1stLevSub = 0; // B2020-112 this & next line
|
||||||
public float AdjustForMatchUpRNO = 0;
|
|
||||||
protected float _ContinueHeight = 0;
|
protected float _ContinueHeight = 0;
|
||||||
public virtual float ContinueHeight
|
public virtual float ContinueHeight
|
||||||
{
|
{
|
||||||
@@ -7170,11 +7195,6 @@ namespace Volian.Print.Library
|
|||||||
// //Console.WriteLine("Adjust Add extra Line (flag) = '{0}'", para);
|
// //Console.WriteLine("Adjust Add extra Line (flag) = '{0}'", para);
|
||||||
// adjust -= para.MyParent.AdjustForXBlankW1stLevSub;
|
// adjust -= para.MyParent.AdjustForXBlankW1stLevSub;
|
||||||
//}
|
//}
|
||||||
//if (para.AdjustForMatchUpRNO != 0 && (para.ChildrenAbove == null || para.ChildrenAbove.Count == 0))
|
|
||||||
// adjust -= para.AdjustForMatchUpRNO;
|
|
||||||
//else if (para.MyParent.AdjustForMatchUpRNO != 0 && (para.MyParent.ChildrenAbove != null && para.MyParent.ChildrenAbove.Count > 0)
|
|
||||||
// && para.MyParent.ChildrenAbove[0] == para)
|
|
||||||
// adjust -= para.MyParent.AdjustForMatchUpRNO;
|
|
||||||
|
|
||||||
if (!this[stepLevel].ContainsKey(-(yLocation + adjust)))
|
if (!this[stepLevel].ContainsKey(-(yLocation + adjust)))
|
||||||
this[stepLevel].Add(-(yLocation + adjust), para);
|
this[stepLevel].Add(-(yLocation + adjust), para);
|
||||||
|
|||||||
+42
-19
@@ -6,6 +6,7 @@ using System.Windows.Forms;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Volian.Base.Library;
|
||||||
using VG;
|
using VG;
|
||||||
|
|
||||||
namespace XYPlots
|
namespace XYPlots
|
||||||
@@ -282,9 +283,12 @@ namespace XYPlots
|
|||||||
{
|
{
|
||||||
if (!File.Exists(FileName))
|
if (!File.Exists(FileName))
|
||||||
{
|
{
|
||||||
// File does not exist, show error message
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
MessageBox.Show(String.Format("X/Y Plot File {0} Does Not Exist", FileName), "Error Opening X/Y Plot File");
|
{
|
||||||
return false;
|
// File does not exist, show error message
|
||||||
|
MessageBox.Show(String.Format("X/Y Plot File {0} Does Not Exist", FileName), "Error Opening X/Y Plot File");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Open the X/Y Plot file
|
// Open the X/Y Plot file
|
||||||
try
|
try
|
||||||
@@ -293,9 +297,12 @@ namespace XYPlots
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
// cannot open the x/y plot file
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
MessageBox.Show(e.Message, String.Format("Error Opening {0} for Reading", FileName));
|
{
|
||||||
return false;
|
// cannot open the x/y plot file
|
||||||
|
MessageBox.Show(e.Message, String.Format("Error Opening {0} for Reading", FileName));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
int blen = (int)XYPlotFile.Length;
|
int blen = (int)XYPlotFile.Length;
|
||||||
int bread = 0;
|
int bread = 0;
|
||||||
@@ -309,8 +316,11 @@ namespace XYPlots
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
MessageBox.Show(e.Message, String.Format("Error Reading {0}", FileName));
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
return false;
|
{
|
||||||
|
MessageBox.Show(e.Message, String.Format("Error Reading {0}", FileName));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -318,8 +328,11 @@ namespace XYPlots
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
MessageBox.Show(e.Message, String.Format("Error Closing {0}", FileName));
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
return false;
|
{
|
||||||
|
MessageBox.Show(e.Message, String.Format("Error Closing {0}", FileName));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (int i = 0; i < bbuf.Length; i++)
|
for (int i = 0; i < bbuf.Length; i++)
|
||||||
@@ -446,7 +459,7 @@ namespace XYPlots
|
|||||||
char retval;
|
char retval;
|
||||||
StringBuilder Lbuff = new StringBuilder();
|
StringBuilder Lbuff = new StringBuilder();
|
||||||
retval = NextChar();
|
retval = NextChar();
|
||||||
if (retval != '"' && retval != '\x1C') // open double quote
|
if (retval != '"' && retval != '\x1C' && !BaseLnSettings.blBaseLine) // open double quote
|
||||||
MessageBox.Show("Double Quote not found", "Syntax problem in XY Plot");
|
MessageBox.Show("Double Quote not found", "Syntax problem in XY Plot");
|
||||||
retval = NextChar();
|
retval = NextChar();
|
||||||
while (retval != 0 && retval != '\n')
|
while (retval != 0 && retval != '\n')
|
||||||
@@ -1440,7 +1453,10 @@ namespace XYPlots
|
|||||||
}
|
}
|
||||||
private void PrintStackError(string relation, int limit)
|
private void PrintStackError(string relation, int limit)
|
||||||
{
|
{
|
||||||
MessageBox.Show(String.Format("Position Stack Pointer {0} {1}", relation, limit.ToString()), "Print Stack Error");
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
|
{
|
||||||
|
MessageBox.Show(String.Format("Position Stack Pointer {0} {1}", relation, limit.ToString()), "Print Stack Error");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
private void SavePosition()
|
private void SavePosition()
|
||||||
{
|
{
|
||||||
@@ -1658,8 +1674,11 @@ namespace XYPlots
|
|||||||
}
|
}
|
||||||
private void err_exit(string msg, string msg2)
|
private void err_exit(string msg, string msg2)
|
||||||
{
|
{
|
||||||
MessageBox.Show(msg + "\n" + msg2 + "\n\n This p=Process Will Terminate", "\n## ERROR ## - ");
|
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||||
Environment.Exit(255);
|
{
|
||||||
|
MessageBox.Show(msg + "\n" + msg2 + "\n\n This p=Process Will Terminate", "\n## ERROR ## - ");
|
||||||
|
Environment.Exit(255);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
private void FindBoxesinArea(int ptval, int flag)
|
private void FindBoxesinArea(int ptval, int flag)
|
||||||
{
|
{
|
||||||
@@ -1916,7 +1935,7 @@ namespace XYPlots
|
|||||||
{
|
{
|
||||||
// MSWord enters left and right double-quotes when you press the double-quote key
|
// MSWord enters left and right double-quotes when you press the double-quote key
|
||||||
//B2017 - Replace left and right double-quotes with normal double-quotes
|
//B2017 - Replace left and right double-quotes with normal double-quotes
|
||||||
PlotCommands = PlotCommands.Replace('\u201C', '"').Replace('\u201D', '"');
|
PlotCommands = PlotCommands.Replace('\u201C', '"').Replace('\u201D', '"');
|
||||||
LoadBuffFromString(PlotCommands);
|
LoadBuffFromString(PlotCommands);
|
||||||
Setup();
|
Setup();
|
||||||
//#if DEBUG
|
//#if DEBUG
|
||||||
@@ -1991,10 +2010,14 @@ namespace XYPlots
|
|||||||
AxisLabel[1] = getint();
|
AxisLabel[1] = getint();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (PrevCommand.Equals(null))
|
if (BaseLnSettings.blBaseLine == false) // B2026-056 suppress messages when running baseline.
|
||||||
MessageBox.Show("Check the first line of the X/Y Plot definition.", "Unrecognized Graph Command");
|
{
|
||||||
else
|
if (PrevCommand.Equals(null))
|
||||||
MessageBox.Show(string.Format("Problem with the X/Y Plot Command after {0}", PrevCommand.ToString()), "Unrecognized Graph Command");
|
MessageBox.Show("Check the first line of the X/Y Plot definition.", "Unrecognized Graph Command");
|
||||||
|
else
|
||||||
|
MessageBox.Show(string.Format("Problem with the X/Y Plot Command after {0}", PrevCommand.ToString()), "Unrecognized Graph Command");
|
||||||
|
break;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
PrevCommand = Command;
|
PrevCommand = Command;
|
||||||
|
|||||||
@@ -176,6 +176,10 @@
|
|||||||
<Project>{52D74078-3822-410E-889B-464BD21AAB9E}</Project>
|
<Project>{52D74078-3822-410E-889B-464BD21AAB9E}</Project>
|
||||||
<Name>VG</Name>
|
<Name>VG</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\Volian.Base.Library\Volian.Base.Library.csproj">
|
||||||
|
<Project>{aeee9fd1-6892-45e2-a67e-418c06d46ff9}</Project>
|
||||||
|
<Name>Volian.Base.Library</Name>
|
||||||
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Properties\" />
|
<Folder Include="Properties\" />
|
||||||
|
|||||||
Reference in New Issue
Block a user