B2020-150 fixed issue where a bullet step was separated from the group of bullet steps.

This commit is contained in:
John Jenko 2020-11-11 15:45:50 +00:00
parent b0c6ecdde1
commit 416a400586

View File

@ -1665,7 +1665,8 @@ namespace Volian.Print.Library
// B2020-016 for Robinson AOP-010 step 27 was breaking too soon
// B2020-073 was not keeping all of RNO sub-step together - Comanche Peak FRC-0.1 (unit 1) Step 14
// B2020-081 was breaking on an AER substep that has an long RNO - should keep AER substep and part of RNO on the page = D.C. Cook "Current (Post FLEX) U1 NOP NOT [EOPs]" set, ES-0.1 step 1.
// B2020-085 was breaking first child of second RNO (if third IF in RNO) - should break on second child of second RNO - D.C. Cook AOP Unit 1 002-020 Step 15
// B2020-085 was breaking first child of second RNO (third IF in RNO) - should break on second child of second RNO - D.C. Cook AOP Unit 1 002-020 Step 15
// B2020-150 was breaking bullet substep from RNO - rev 3 Braidwood EP-0 unit 1 Attachment B, step 5.a.RNO.substep 3. bullet 2
if ((-yLocation + yStart) >= yLowerLimit)
{
vlnParagraph rnoChild = myPara.HasSecondRNOThatWillFit(yStart, yLowerLimit, yUpperLimit, myList, stepLevel, yTop); // Only if it is more than the lower limit
@ -1720,7 +1721,7 @@ namespace Volian.Print.Library
// B2020-016 bad pagination on RNOs for Robinson AOP-010 step 27 , AOP-024 Step 10, EOP E-0 step 10, EOP ECA-2.1 step 28
// B2020-073 was not keeping all of RNO sub-step together - Comanche Peak FRC-0.1 (unit 1) Step 14
// B2020-081 was breaking on an AER substep that has an long RNO - should keep AER substep and part of RNO on the page = D.C. Cook "Current (Post FLEX) U1 NOP NOT [EOPs]" set, ES-0.1 step 1.
// B2020-085 was breaking first child of second RNO (if third IF in RNO) - should break on second child of second RNO - D.C. Cook AOP Unit 1 002-020 Step 15
// B2020-085 was breaking first child of second RNO (third IF in RNO) - should break on second child of second RNO - D.C. Cook AOP Unit 1 002-020 Step 15
// B2020-099 was breaking on last sub-step of previous RNO - Calvert Approved Procedures; Abnormal Procedures Unit 2; AOP-2A; Section VII; Step 11.RNO.11.1.c
private vlnParagraph HasSecondRNOThatWillFit(float yStart, float yLowerLimit, float yUpperLimit, StepLevelList myList, int stepLevel, float yTop)
{
@ -1733,7 +1734,7 @@ namespace Volian.Print.Library
return this;
// see if there is a second RNO then see if it will fit on the page
vlnParagraph tmp = this;
while (!tmp.MyItemInfo.IsRNOPart) tmp = tmp.MyParent; // if on a substep of an RNO, move up the substep's parent (RNO)
while (!tmp.MyItemInfo.IsRNOPart && tmp.MyParent!=null) tmp = tmp.MyParent; // if on a substep of an RNO, move up the substep's parent (RNO)
vlnParagraph parent = tmp;
while (parent.MyParent != null && !parent.MyParent.MyItemInfo.IsSection) parent = parent.MyParent; // this will take us to the High level step
float yTopParent = parent.YTopMost; // this is where the HLS starts printing
@ -1753,10 +1754,11 @@ namespace Volian.Print.Library
if ((chld.YTopMost + yStart + yTop - yTopParent) < yUpperLimit)
return chld; // second RNO will fit, use this instead of myPara
// check to see if there is AER substep children that would be spit if we pagination on the RNO
foreach (vlnParagraph chld in parent.ChildrenBelow)
if (chld.YOffset < this.YOffset && YBottomMostExcludingRNO(chld) > this.YTopMost) // B2020-085 Does AER child start before myPara and length greater than myPara start
return null; // the AER text positioning overlaps the RNO text positioning (caused AER sub-steps to be split onto next page (i.e. RO step) have pagination logic keep looking for place to break
// check to see if there is AER substep children that would be split if we pagination on the RNO
// B2020-150 commented out below. Found it is not needed for B2020-085 fix but it was what cause B2020-150
//foreach (vlnParagraph chld in parent.ChildrenBelow)
// if (chld.YOffset < this.YOffset && YBottomMostExcludingRNO(chld) > this.YTopMost) // B2020-085 Does AER child start before myPara and length greater than myPara start
// return null; // the AER text positioning overlaps the RNO text positioning (caused AER sub-steps to be split onto next page (i.e. RO step) have pagination logic keep looking for place to break
return this; // current myPara is good
}