From 16509c2eab31c64a41959dd7951edd04274462f3 Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Sun, 9 Feb 2025 22:44:01 -0500 Subject: [PATCH 1/3] B2025-011-Global-search-is-not-finding-question-marks --- .../Volian.Controls.Library/DisplaySearch.cs | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/PROMS/Volian.Controls.Library/DisplaySearch.cs b/PROMS/Volian.Controls.Library/DisplaySearch.cs index cbe23ae4..ae1ef318 100644 --- a/PROMS/Volian.Controls.Library/DisplaySearch.cs +++ b/PROMS/Volian.Controls.Library/DisplaySearch.cs @@ -1699,6 +1699,8 @@ namespace Volian.Controls.Library else lbSrchResultsIncTrans.DisplayMember = _DisplayMember; if (_SearchResults != null) { + // record count flag + bool reccnt = true; // B2021-076: Proms search results are not presented in order when printed to PDF // B2023-041 - backed out previous change as it was not needed and was preventing the sorting of search results text if (cbSorted.Checked) @@ -1713,11 +1715,37 @@ namespace Volian.Controls.Library // B2021-076: Proms search results are not presented in order when printed to PDF var sortedResults = _SearchResults.OrderBy(x => x.SearchDefaultSort).ToList(); + // if searching for just a "?" remove all the special code matches and leaving only the true matches. + if (SearchString == "\\?") + { + string pat = @"\?"; + Regex r = new Regex(pat, RegexOptions.IgnoreCase); + for (int i = 0; i < sortedResults.Count; i++) + { + + Match m = r.Match(sortedResults[i].DisplayText); + if (m.Success) + { + continue; + } + else + { + sortedResults.Remove(sortedResults[i]); + + i--; + } + } + grpPanSearchResults.Text = string.Format("Search Results Found: {0}", sortedResults.Count); + reccnt = false; + } + if (tabSearchTypes.SelectedTab != tabSearchTypes.Tabs[4]) lbSrchResults.DataSource = sortedResults; else lbSrchResultsIncTrans.DataSource = sortedResults; } - - grpPanSearchResults.Text = string.Format("Search Results Found: {0}", _SearchResults.Count); + if (reccnt) + { + grpPanSearchResults.Text = string.Format("Search Results Found: {0}", _SearchResults.Count); + } grpPanSearchResults.Style.BackColor = Color.LightGreen;// Color.YellowGreen; Color.DarkSeaGreen; } else @@ -2076,6 +2104,7 @@ namespace Volian.Controls.Library //TypesSelected = (typstr != null) ? "Searched Step Types: " + typstr : "Searched All Step Types"; //TypesSelected = "Searched Step Types: " + ((typstr != null) ? typstr : "All Step Types"); SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, TextSearchString /*.Replace(@"\",@"\u9586?")*/, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxIncROTextSrch.Checked ? ItemSearchIncludeLinks.Value : ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, byWordPrefix, byWordSuffix); + cmbResultsStyleIndex = 3; // display step text in results //} } From 01541c9e0d8968776db76ff158d7669a6195884e Mon Sep 17 00:00:00 2001 From: mschill Date: Mon, 10 Feb 2025 10:57:01 -0500 Subject: [PATCH 2/3] =?UTF-8?q?B2025-013=20PROMS=20=E2=80=93Admin=20Tool?= =?UTF-8?q?=20Tree=20Behavior?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../frmBatchRefresh.Designer.cs | 2 +- .../VEPROMS User Interface/frmBatchRefresh.cs | 115 ++++-------------- 2 files changed, 28 insertions(+), 89 deletions(-) diff --git a/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs b/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs index 02bb7edd..6e6b2213 100644 --- a/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmBatchRefresh.Designer.cs @@ -576,7 +576,7 @@ this.myTVdel.Name = "myTVdel"; this.myTVdel.Size = new System.Drawing.Size(299, 367); this.myTVdel.TabIndex = 34; - this.myTVdel.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck_DelAnn); + this.myTVdel.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck); // // btnDeleteItems // diff --git a/PROMS/VEPROMS User Interface/frmBatchRefresh.cs b/PROMS/VEPROMS User Interface/frmBatchRefresh.cs index 95cf43ae..27f501a4 100644 --- a/PROMS/VEPROMS User Interface/frmBatchRefresh.cs +++ b/PROMS/VEPROMS User Interface/frmBatchRefresh.cs @@ -124,9 +124,11 @@ namespace VEPROMS // check to see if at least one tree node is checked. // Used to determin whether to make the process button active for // Refresh Transitions and for Update RO Values - private bool AtLeastOneNodeChecked() + // B2025-013 Admin Tool Tree Behavior + //Made this generic so same logic for all the TreeViews on this form + private bool AtLeastOneNodeChecked(TreeNodeCollection col) { - foreach (TreeNode tn in myTV.Nodes) + foreach (TreeNode tn in col) if (NodeIsChecked(tn)) return true; return false; @@ -1230,24 +1232,30 @@ namespace VEPROMS private void myTV_AfterCheck(object sender, TreeViewEventArgs e) { + //B2025 - 013 Admin Tool Tree Behavior + //only want to perform this if + // not an unknown action + // aka is a mouse click + // if this is fire-ing because clicked a parent or a child of an item + // want this to only fire once - for the item clicked - not for parents/children if (e.Action != TreeViewAction.Unknown) { if (e.Node.Nodes.Count > 0) { CheckChildNodes(e.Node, e.Node.Checked); } - } - if (swDeleteAnnotations.Value) - { - if (e.Node.Checked) + //B2025-013 Admin Tool Tree Behavior + //if a node gets unchecked, + //then uncheck both its parents and children + if (!e.Node.Checked) { DiselectParentNodes(e.Node.Parent); DiselectChildNodes(e.Node.Nodes); } + btnFixLinks.Enabled = btnDeleteItems.Enabled = AtLeastOneNodeChecked(((TreeView)sender).Nodes); // C2017-030 support for Refresh Transitions/Update RO Values } - btnFixLinks.Enabled = AtLeastOneNodeChecked(); // C2017-030 support for Refresh Transitions/Update RO Values } private void DiselectParentNodes(TreeNode parent) @@ -1283,76 +1291,6 @@ namespace VEPROMS } } } - //After check model to select and deselect nodes on the delete and annotation tree. - private void myTV_AfterCheck_DelAnn(object sender, TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node.Nodes.Count > 0) - { - CheckChildNodes_DelAnn(e.Node, e.Node.Checked); - } - } - - if (e.Node.Checked) - { - // Ensure child nodes follow the parent node's state - CheckChildNodes_DelAnn(e.Node, e.Node.Checked); - } - else - { - // Automatically deselect parent nodes if current node is unchecked - if (swDeleteFolder.Value) - DiselectParentNodes_DelAnn(e.Node); - } - - btnFixLinks.Enabled = AtLeastOneNodeChecked_DelAnn(); // Ensure button is enabled based on custom logic - } - private void DiselectParentNodes_DelAnn(TreeNode node) - { - TreeNode parent = node.Parent; - while (parent != null) - { - parent.Checked = false; - parent = parent.Parent; - } - } - private void DiselectChildNodes_DelAnn(TreeNodeCollection children) - { - foreach (TreeNode child in children) - { - child.Checked = false; - DiselectChildNodes_DelAnn(child.Nodes); - } - } - private void CheckChildNodes_DelAnn(TreeNode treeNode, bool isChecked) - { - foreach (TreeNode tn in treeNode.Nodes) - { - tn.Checked = isChecked; - - if (tn.Nodes.Count > 0) - CheckChildNodes_DelAnn(tn, isChecked); - } - } - private bool AtLeastOneNodeChecked_DelAnn() - { - foreach (TreeNode node in myTV.Nodes) - { - if (node.Checked || AnyChildNodeChecked_DelAnn(node)) - return true; - } - return false; - } - private bool AnyChildNodeChecked_DelAnn(TreeNode node) - { - foreach (TreeNode childNode in node.Nodes) - { - if (childNode.Checked || AnyChildNodeChecked_DelAnn(childNode)) - return true; - } - return false; - } private ProgressBarItem _ProgressBar = null; @@ -1788,14 +1726,24 @@ namespace VEPROMS List pil = new List(); List dvil = new List(); + //B2025-013 Admin Tool Tree Behavior + //For Procedures & Doc Versions + //To avoid processing duplicates + //only want to add highest nodes selected + // i.e. if both an item and it's parent is checked, then add the parent + // not each individual item + // if a parent isn't checked, then add the individual item + // one exception to this is if the parent is not in the docversions + // for example: the top node - VEPROMS + //if that is selected, then we will add its children instead of it. // Create a list of procedures the user selected foreach (TreeNode tn in myProcedures.Keys) - if (tn.Checked) + if (tn.Checked && (tn.Parent == null || !tn.Parent.Checked || !myDocVersions.ContainsKey(tn.Parent))) pil.Add(myProcedures[tn]); // Create a list of doc versions the user selected foreach (TreeNode tn in myDocVersions.Keys) - if (tn.Checked) + if (tn.Checked && (tn.Parent == null || !tn.Parent.Checked || !myDocVersions.ContainsKey(tn.Parent))) dvil.Add(myDocVersions[tn]); bool cancelledOut = false; // Flag to indicate if the process should be cancelled @@ -1987,15 +1935,6 @@ namespace VEPROMS return false; } } - - public List RetrieveChkAnnotations() - { - List pil = new List(); - foreach (TreeNode tn in myProcedures.Keys) - if (tn.Checked) - pil.Add(myProcedures[tn]); - return pil; - } //C2025-011 RO Update Admin Tool Memory Enhancements private void txtProcess_TextChanged(object sender, EventArgs e) From d4418b8d8a3b55069e2686c75882b9d6f33c4a88 Mon Sep 17 00:00:00 2001 From: John Jenko Date: Tue, 11 Feb 2025 15:02:58 -0500 Subject: [PATCH 3/3] We are reverting back to the last DotNetBar install. We found issues on the developer side of maintaining the dialogs and forms in PROMS. --- PROMS/Formats/Formats.csproj | 2 +- PROMS/RoAccessToSql/RoAccessToSql.csproj | 2 +- PROMS/VEPROMS User Interface/VEPROMS_UI.csproj | 2 +- PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj | 2 +- PROMS/Volian.Base.Library/Volian.Base.Library.csproj | 2 +- PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/PROMS/Formats/Formats.csproj b/PROMS/Formats/Formats.csproj index eee64d01..9d8e1803 100644 --- a/PROMS/Formats/Formats.csproj +++ b/PROMS/Formats/Formats.csproj @@ -48,7 +48,7 @@ False - ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll + ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll diff --git a/PROMS/RoAccessToSql/RoAccessToSql.csproj b/PROMS/RoAccessToSql/RoAccessToSql.csproj index 544f8f3a..b25170f1 100644 --- a/PROMS/RoAccessToSql/RoAccessToSql.csproj +++ b/PROMS/RoAccessToSql/RoAccessToSql.csproj @@ -43,7 +43,7 @@ False - ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll + ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll False diff --git a/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj b/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj index 05d5f8d4..7183693a 100644 --- a/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj +++ b/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj @@ -109,7 +109,7 @@ False - ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll + ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll False diff --git a/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj b/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj index ce2d7c98..469a09b4 100644 --- a/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj +++ b/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj @@ -89,7 +89,7 @@ False - ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll + ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll False diff --git a/PROMS/Volian.Base.Library/Volian.Base.Library.csproj b/PROMS/Volian.Base.Library/Volian.Base.Library.csproj index f3da488c..99e1e025 100644 --- a/PROMS/Volian.Base.Library/Volian.Base.Library.csproj +++ b/PROMS/Volian.Base.Library/Volian.Base.Library.csproj @@ -66,7 +66,7 @@ False - ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll + ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll diff --git a/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj b/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj index ef3e5f12..e615e5de 100644 --- a/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj +++ b/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj @@ -95,7 +95,7 @@ False - ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll + ..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll False