Merge pull request 'Development' (#356) from Development into master

Merging all items through B2024-041 from development into master after successful testing.
This commit is contained in:
Devin Jankowski 2024-07-18 09:51:54 -04:00
commit ec22232aa8
10 changed files with 1070 additions and 10 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -346,10 +346,11 @@ namespace Volian.Controls.Library
ch = (ROFSTLookup.rochild)cmboTreeROs.SelectedNode.Tag; ch = (ROFSTLookup.rochild)cmboTreeROs.SelectedNode.Tag;
chld = ch.children; chld = ch.children;
// build a list of ROs to search // build a list of ROs to search
return _MyRODbID.ToString() + ":" + GetROsToSearch(chld); // B2022-118: remove the ending comma otherwise query will fail
//return _MyRODbID.ToString() + ":" + ch.roid + "0000," + 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;
} }
} }
} }
@ -1939,6 +1940,13 @@ namespace Volian.Controls.Library
private string GetROsToSearch(ROFSTLookup.rochild[] chld) private string GetROsToSearch(ROFSTLookup.rochild[] chld)
{ {
string rtnstr = string.Empty; string rtnstr = string.Empty;
// B2022-118: If the ro has child nodes in tree view but they aren't loaded, load them
if ((chld == null || chld.Length <= 0) && (cmboTreeROs.SelectedNode.Nodes != null || cmboTreeROs.SelectedNode.Nodes.Count >= 1))
{
ROFSTLookup.rochild ro = (ROFSTLookup.rochild)cmboTreeROs.SelectedNode.Tag;
MyROFSTLookup.LoadChildren(ref ro);
chld = ro.children;
}
// B2022-026 RO Memory Reduction code - check children length // B2022-026 RO Memory Reduction code - check children length
if (chld == null || chld.Length <= 0) // get a single ROID if (chld == null || chld.Length <= 0) // get a single ROID
@ -1956,7 +1964,17 @@ namespace Volian.Controls.Library
if (roc.children != null && roc.children.Length > 0) if (roc.children != null && roc.children.Length > 0)
rtnstr += GetROsToSearch(roc.children); rtnstr += GetROsToSearch(roc.children);
else else
rtnstr += ROFSTLookup.FormatRoidKey(roc.roid, false); {
// B2022-118: If the ro has child nodes in tree view but they aren't loaded, load them
ROFSTLookup.rochild rot = roc;
MyROFSTLookup.LoadChildren(ref rot);
chld = rot.children;
if (rot.children != null && rot.children.Length > 0)
rtnstr += GetROsToSearch(rot.children);
else
rtnstr += string.Format("{0},", ROFSTLookup.FormatRoidKey(roc.roid, false));
}
} }
} }

View File

@ -669,7 +669,7 @@ namespace Volian.Controls.Library
ItemInfo proc = myItemInfo.MyProcedure; // Find procedure Item ItemInfo proc = myItemInfo.MyProcedure; // Find procedure Item
string key = "Item - " + proc.ItemID.ToString(); string key = "Item - " + proc.ItemID.ToString();
if (_MyDisplayTabItems.ContainsKey(key)) // If procedure page open use it if (_MyDisplayTabItems.ContainsKey(key) && pasteType != ItemInfo.EAddpingPart.Replace) // If procedure page open use it unless replace
{ {
DisplayTabItem pg = _MyDisplayTabItems[key]; DisplayTabItem pg = _MyDisplayTabItems[key];
if (pg.MyStepTabPanel.MyStepPanel._LookupEditItems.ContainsKey(myItemInfo.ItemID) && if (pg.MyStepTabPanel.MyStepPanel._LookupEditItems.ContainsKey(myItemInfo.ItemID) &&
@ -708,6 +708,11 @@ namespace Volian.Controls.Library
return true; return true;
} }
} }
else if (_MyDisplayTabItems.ContainsKey(key) && pasteType == ItemInfo.EAddpingPart.Replace)
{
CloseTabItem(_MyDisplayTabItems["Item - " + myItemInfo.ItemID.ToString()]); //Grab itemID and set to close open tab.
return false; //B2017-179 PasteReplace will return null if was aborted
}
return false; return false;
} }

View File

@ -1825,8 +1825,16 @@ namespace Volian.Controls.Library
EditItem newFocus = null; EditItem newFocus = null;
EditItem nextEditItem = MyNextEditItem; EditItem nextEditItem = MyNextEditItem;
EditItem prevEditItem = MyPreviousEditItem; EditItem prevEditItem = MyPreviousEditItem;
if (MyStepPanel?.SelectedEditItem?.ActiveParent == null) return null; //Was causing an error when active parent was null and the replaced proc was opened in the editor. EditItem parentEditItem = null; // ActiveParent;
EditItem parentEditItem = ActiveParent; try
{
parentEditItem = ActiveParent ?? MyStepPanel?.SelectedEditItem?.ActiveParent;
}
catch (NullReferenceException)
{
// KL 7/11/2024 - Handle the case where ActiveParent throws a Null Reference Exception
parentEditItem = MyStepPanel?.SelectedEditItem?.ActiveParent;
}
StepConfig savOrigPasteConfig = MyItemInfo.MyConfig as StepConfig; StepConfig savOrigPasteConfig = MyItemInfo.MyConfig as StepConfig;
int TopMostYBefore = TopMostEditItem.Top; int TopMostYBefore = TopMostEditItem.Top;