C2024-003-print-sub-section
This commit is contained in:
parent
fcaa0ce41d
commit
578b8842f7
@ -75,7 +75,7 @@ namespace Volian.Print.Library
|
|||||||
if (MyItemInfo.MyPrevious != null) // add if statement to fix Westinghouse print issue 3-21-2014
|
if (MyItemInfo.MyPrevious != null) // add if statement to fix Westinghouse print issue 3-21-2014
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (MyItemInfo.IsSection && _ChildrenBelow == null && YSize > (yLocation-yBottomMargin))
|
if (MyItemInfo.IsSection && _ChildrenBelow == null && YSize > (yLocation - yBottomMargin))
|
||||||
{
|
{
|
||||||
ShowPageBreak(1, "Page Break before empty section", "Yes", YSize, yPageSize, yWithinMargins, ManualPageBreak);
|
ShowPageBreak(1, "Page Break before empty section", "Yes", YSize, yPageSize, yWithinMargins, ManualPageBreak);
|
||||||
return 1;
|
return 1;
|
||||||
@ -171,7 +171,7 @@ namespace Volian.Print.Library
|
|||||||
// line above the end message, thus 2 not 3. This change was made on July 20, 2011 by RHM & KBR. The
|
// line above the end message, thus 2 not 3. This change was made on July 20, 2011 by RHM & KBR. The
|
||||||
// procedure in questions was VEWCNEMG\EMGAPP.PRC, ES-01, Step 8.
|
// procedure in questions was VEWCNEMG\EMGAPP.PRC, ES-01, Step 8.
|
||||||
//float yEndMsg = !_skipEndMessage && !MyItemInfo.IsSection && MyItemInfo.MyHLS != null && MyItemInfo.MyHLS.NextItem == null && (MyItemInfo.MyDocStyle.End.Message ?? "") != "" ? 2 * SixLinesPerInch : 0;
|
//float yEndMsg = !_skipEndMessage && !MyItemInfo.IsSection && MyItemInfo.MyHLS != null && MyItemInfo.MyHLS.NextItem == null && (MyItemInfo.MyDocStyle.End.Message ?? "") != "" ? 2 * SixLinesPerInch : 0;
|
||||||
float yEndMsg = (!_skipEndMessage && !MyItemInfo.IsSection && MyItemInfo.MyHLS != null && MyItemInfo.MyHLS.NextItem == null)? GetEndMessageHeight(MyItemInfo.MyDocStyle) : 0; // B2018-068 account for mult-line End Messages
|
float yEndMsg = (!_skipEndMessage && !MyItemInfo.IsSection && MyItemInfo.MyHLS != null && MyItemInfo.MyHLS.NextItem == null) ? GetEndMessageHeight(MyItemInfo.MyDocStyle) : 0; // B2018-068 account for mult-line End Messages
|
||||||
|
|
||||||
// also consider if there is a phone list at the bottom of the page, add the amount of space the phone
|
// also consider if there is a phone list at the bottom of the page, add the amount of space the phone
|
||||||
// list requires onto yEndMsg to make it easier to figure out pagination (include an extra line for the
|
// list requires onto yEndMsg to make it easier to figure out pagination (include an extra line for the
|
||||||
@ -202,7 +202,7 @@ namespace Volian.Print.Library
|
|||||||
{
|
{
|
||||||
MyPageHelper.ParaBreaks.RemoveAt(0);
|
MyPageHelper.ParaBreaks.RemoveAt(0);
|
||||||
reason = AddReason("Partial Step - Case 1");
|
reason = AddReason("Partial Step - Case 1");
|
||||||
ShowPageBreak(1,reason, "Yes", YSize, yPageSize, yWithinMargins, ManualPageBreak);
|
ShowPageBreak(1, reason, "Yes", YSize, yPageSize, yWithinMargins, ManualPageBreak);
|
||||||
return 2; // break on this item within a step
|
return 2; // break on this item within a step
|
||||||
}
|
}
|
||||||
// check for rnos:
|
// check for rnos:
|
||||||
@ -278,7 +278,7 @@ namespace Volian.Print.Library
|
|||||||
StepConfig sc = firstChild.MyItemInfo.MyConfig as StepConfig;
|
StepConfig sc = firstChild.MyItemInfo.MyConfig as StepConfig;
|
||||||
ManualPageBreak = MyPageHelper.OriginalPageBreak ? (sc == null ? false : sc.Step_ManualPagebreak) :
|
ManualPageBreak = MyPageHelper.OriginalPageBreak ? (sc == null ? false : sc.Step_ManualPagebreak) :
|
||||||
sc == null ? false :
|
sc == null ? false :
|
||||||
(MyPageHelper.MyPromsPrinter.RemoveManualPageBreaks == null)? sc.Step_NewManualPagebreak : false;
|
(MyPageHelper.MyPromsPrinter.RemoveManualPageBreaks == null) ? sc.Step_NewManualPagebreak : false;
|
||||||
// C2021-010: Remove trailing returns/spaces & manual page breaks & allow save.
|
// C2021-010: Remove trailing returns/spaces & manual page breaks & allow save.
|
||||||
if (sc != null && sc.Step_NewManualPagebreak && MyPageHelper.MyPromsPrinter.RemoveManualPageBreaks != null &&
|
if (sc != null && sc.Step_NewManualPagebreak && MyPageHelper.MyPromsPrinter.RemoveManualPageBreaks != null &&
|
||||||
!MyPageHelper.MyPromsPrinter.RemoveManualPageBreaks.Contains(firstChild.MyItemInfo.ItemID)) MyPageHelper.MyPromsPrinter.RemoveManualPageBreaks.Add(firstChild.MyItemInfo.ItemID);
|
!MyPageHelper.MyPromsPrinter.RemoveManualPageBreaks.Contains(firstChild.MyItemInfo.ItemID)) MyPageHelper.MyPromsPrinter.RemoveManualPageBreaks.Add(firstChild.MyItemInfo.ItemID);
|
||||||
@ -309,7 +309,7 @@ namespace Volian.Print.Library
|
|||||||
float ySizeIncludingFirstStep = firstStepChild.YSize + (firstStepChild.YTopMost - YTopMost);
|
float ySizeIncludingFirstStep = firstStepChild.YSize + (firstStepChild.YTopMost - YTopMost);
|
||||||
float ySizeBtmCtnMess = GetBottomContinueMessageSize(MyItemInfo.MyDocStyle);
|
float ySizeBtmCtnMess = GetBottomContinueMessageSize(MyItemInfo.MyDocStyle);
|
||||||
float ySizeBtmEndMess = GetBottomEndMessageSize(MyItemInfo.MyDocStyle);
|
float ySizeBtmEndMess = GetBottomEndMessageSize(MyItemInfo.MyDocStyle);
|
||||||
bool firstSubstepExceedsSpaceAvailable = ySizeIncludingFirstStep > (yWithinMargins - ySizeBtmCtnMess -ySizeBtmEndMess);
|
bool firstSubstepExceedsSpaceAvailable = ySizeIncludingFirstStep > (yWithinMargins - ySizeBtmCtnMess - ySizeBtmEndMess);
|
||||||
if (KeepStepsOnPage && firstSubstepExceedsSpaceAvailable && !isFirstChild)
|
if (KeepStepsOnPage && firstSubstepExceedsSpaceAvailable && !isFirstChild)
|
||||||
KeepStepsOnPage = false;
|
KeepStepsOnPage = false;
|
||||||
if (ySizeIncludingFirst == YSize) KeepStepsOnPage = false;
|
if (ySizeIncludingFirst == YSize) KeepStepsOnPage = false;
|
||||||
@ -445,8 +445,8 @@ namespace Volian.Print.Library
|
|||||||
if (BreakHighLevelStepWithSection) KeepWithHeader = true;
|
if (BreakHighLevelStepWithSection) KeepWithHeader = true;
|
||||||
// for a HLS that has an asterisk box with the rno separator IN the box, adjust the size by 2 lines to account for box.
|
// for a HLS that has an asterisk box with the rno separator IN the box, adjust the size by 2 lines to account for box.
|
||||||
if (MyItemInfo.IsStep && MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex != null && MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex >= 0 &&
|
if (MyItemInfo.IsStep && MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex != null && MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex >= 0 &&
|
||||||
(MyItemInfo.RNOs==null ||MyItemInfo.RNOs.Count==0))
|
(MyItemInfo.RNOs == null || MyItemInfo.RNOs.Count == 0))
|
||||||
mySize += (2*SixLinesPerInch);
|
mySize += (2 * SixLinesPerInch);
|
||||||
// mySize is the size of this step and includes an extra blank line. For HLS, if this is the last step in section & there is room in footer to keep
|
// mySize is the size of this step and includes an extra blank line. For HLS, if this is the last step in section & there is room in footer to keep
|
||||||
// step on the page, do so by eliminating the blank line before doing the test to see if it fits.
|
// step on the page, do so by eliminating the blank line before doing the test to see if it fits.
|
||||||
// B2017-254 Fixed Pagination Logic when checking to see if the current item is the last high level step
|
// B2017-254 Fixed Pagination Logic when checking to see if the current item is the last high level step
|
||||||
@ -486,7 +486,7 @@ namespace Volian.Print.Library
|
|||||||
// 888 888 888 o oo .d8P `888'`888' 888 888 888 888 888 888 .
|
// 888 888 888 o oo .d8P `888'`888' 888 888 888 888 888 888 .
|
||||||
// o888o o888o o888ooooood8 8""88888P' `8' `8' o888o o888o o888o o888o o888o "888"
|
// o888o o888o o888ooooood8 8""88888P' `8' `8' o888o o888o o888o o888o o888o "888"
|
||||||
//Console.WriteLine("'PageBreak',1,'No','HLS will fit on page',{0},{1},{2}, {3}, {4},'{5}'", MyItemInfo.ItemID, YSize, yPageSize, yWithinMargins, (int)(100 * yWithinMargins / yPageSize), MyItemInfo.ShortPath);
|
//Console.WriteLine("'PageBreak',1,'No','HLS will fit on page',{0},{1},{2}, {3}, {4},'{5}'", MyItemInfo.ItemID, YSize, yPageSize, yWithinMargins, (int)(100 * yWithinMargins / yPageSize), MyItemInfo.ShortPath);
|
||||||
ShowPageBreak(-1, "HLS will fit on page", firstStep, YSize, yPageSize, yWithinMargins,ManualPageBreak);
|
ShowPageBreak(-1, "HLS will fit on page", firstStep, YSize, yPageSize, yWithinMargins, ManualPageBreak);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
// !MyItemInfo.IsHigh - if (MyItemInfo.IsRNOPart && MyParent.XOffset < XOffset) return 0; // Don't paginate on an RNO to the right
|
// !MyItemInfo.IsHigh - if (MyItemInfo.IsRNOPart && MyParent.XOffset < XOffset) return 0; // Don't paginate on an RNO to the right
|
||||||
@ -569,9 +569,22 @@ namespace Volian.Print.Library
|
|||||||
KeepStepsOnPage = false;
|
KeepStepsOnPage = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// B2023-116: Vogtle alarm pagination - sub-steps are separating from their HLS even if there is room for some (not all). See comment above for setting of
|
if (KeepStepsOnPage && ySizeIncludingFirst > (yWithinMargins - ySizeBtmCtnMess1 - ySizeBtmEndMess1))
|
||||||
// 'alarmPageKeepHighWithSubs'.
|
{
|
||||||
if (KeepStepsOnPage && !alarmPageKeepHighWithSubs && ySizeIncludingFirst > (yWithinMargins - ySizeBtmCtnMess1 - ySizeBtmEndMess1)) KeepStepsOnPage = false;
|
// B2023-116: Vogtle alarm pagination - sub-steps are separating from their HLS even if there is room for some (not all).
|
||||||
|
// See comment above for setting of 'alarmPageKeepHighWithSubs'.
|
||||||
|
if (alarmPageKeepHighWithSubs)
|
||||||
|
{
|
||||||
|
// F2024-006: Vogtle Alarms pagination - compare the size of the step and its first sub-step with what we think we have left on the
|
||||||
|
// page. if not enough room with a continue message then set KeepStepsOnPage to start this step on its own page.
|
||||||
|
// This solved an issue where the last line of step text was printing on top of the bottom continue message
|
||||||
|
float myFirstPieceSize = GetFirstPieceSize(true);
|
||||||
|
if (myFirstPieceSize > yWithinMargins)
|
||||||
|
KeepStepsOnPage = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
KeepStepsOnPage = false;
|
||||||
|
}
|
||||||
if (!KeepWithHeader && !KeepStepsOnPage && mySize - SixLinesPerInch + yEndMsg - tableSpaceAvailable <= yPageSizeNextPage) // if the entire step can fit on one page, do a page break
|
if (!KeepWithHeader && !KeepStepsOnPage && mySize - SixLinesPerInch + yEndMsg - tableSpaceAvailable <= yPageSizeNextPage) // if the entire step can fit on one page, do a page break
|
||||||
{
|
{
|
||||||
// Don't want extra line before step
|
// Don't want extra line before step
|
||||||
@ -688,7 +701,7 @@ namespace Volian.Print.Library
|
|||||||
else
|
else
|
||||||
ShowPageBreak(6, CheckForFirstCompression("HLS will have to split on current page"), "Special", YSize, yPageSizeNextPage, yWithinMargins, ManualPageBreak);
|
ShowPageBreak(6, CheckForFirstCompression("HLS will have to split on current page"), "Special", YSize, yPageSizeNextPage, yWithinMargins, ManualPageBreak);
|
||||||
// B2018-081 - Fix pagination when a Step and it's substeps are so complicated that the high level step is separated from its high level RNO
|
// B2018-081 - Fix pagination when a Step and it's substeps are so complicated that the high level step is separated from its high level RNO
|
||||||
if(this.MyItemInfo.IsHigh && MyPageHelper.ParaBreaks.Count > 0 && MyPageHelper.ParaBreaks[0].MyItemInfo.IsHigh)
|
if (this.MyItemInfo.IsHigh && MyPageHelper.ParaBreaks.Count > 0 && MyPageHelper.ParaBreaks[0].MyItemInfo.IsHigh)
|
||||||
{
|
{
|
||||||
MyPageHelper.ParaBreaks.Clear();
|
MyPageHelper.ParaBreaks.Clear();
|
||||||
BuildPageBreakList(yPageSize + yExtra, yPageSizeNextPage + yExtra2, KeepStepsOnPage, yEndMsg, doSectionTitleContinued & SectionShowTitles, true); // Case 1 :Works for ES05 Step 15 SubStep 7
|
BuildPageBreakList(yPageSize + yExtra, yPageSizeNextPage + yExtra2, KeepStepsOnPage, yEndMsg, doSectionTitleContinued & SectionShowTitles, true); // Case 1 :Works for ES05 Step 15 SubStep 7
|
||||||
@ -760,7 +773,7 @@ namespace Volian.Print.Library
|
|||||||
bool hasRNO = false;
|
bool hasRNO = false;
|
||||||
if (itemInfo1.IsInRNO) hasRNO |= true;
|
if (itemInfo1.IsInRNO) hasRNO |= true;
|
||||||
else
|
else
|
||||||
hasAER |=true;
|
hasAER |= true;
|
||||||
if (itemInfo2.IsInRNO) hasRNO |= true;
|
if (itemInfo2.IsInRNO) hasRNO |= true;
|
||||||
else
|
else
|
||||||
hasAER |= true;
|
hasAER |= true;
|
||||||
@ -774,7 +787,7 @@ namespace Volian.Print.Library
|
|||||||
if (endmsg != "")
|
if (endmsg != "")
|
||||||
{
|
{
|
||||||
string[] splitOn = { "\\par" }; // B2018-058 account for RTF newlines ( used for V.C. Summer End messages)
|
string[] splitOn = { "\\par" }; // B2018-058 account for RTF newlines ( used for V.C. Summer End messages)
|
||||||
EndMsgHeight = (endmsg.Split(splitOn,StringSplitOptions.RemoveEmptyEntries).Length + 1) * SixLinesPerInch;
|
EndMsgHeight = (endmsg.Split(splitOn, StringSplitOptions.RemoveEmptyEntries).Length + 1) * SixLinesPerInch;
|
||||||
}
|
}
|
||||||
return EndMsgHeight;
|
return EndMsgHeight;
|
||||||
}
|
}
|
||||||
@ -863,7 +876,7 @@ namespace Volian.Print.Library
|
|||||||
// B2020-159: If forced pagination errors occurred, add a description to be placed on a dialog after printing.
|
// B2020-159: If forced pagination errors occurred, add a description to be placed on a dialog after printing.
|
||||||
if (PromsPrinter.ForcedPaginations == null) PromsPrinter.ForcedPaginations = new List<string>();
|
if (PromsPrinter.ForcedPaginations == null) PromsPrinter.ForcedPaginations = new List<string>();
|
||||||
string path = MyItemInfo.Path.Replace(MyItemInfo.MyProcedure.DisplayText, "").Replace(MyItemInfo.MyProcedure.DisplayNumber, "").TrimStart(" ,".ToCharArray());
|
string path = MyItemInfo.Path.Replace(MyItemInfo.MyProcedure.DisplayText, "").Replace(MyItemInfo.MyProcedure.DisplayNumber, "").TrimStart(" ,".ToCharArray());
|
||||||
PromsPrinter.ForcedPaginations.Add(string.Format("{0}\t{1}\t{2}", MyPromsPrinter.PDFFile.Substring(0,MyPromsPrinter.PDFFile.IndexOf(".")), path, MyItemInfo.PageNumber));
|
PromsPrinter.ForcedPaginations.Add(string.Format("{0}\t{1}\t{2}", MyPromsPrinter.PDFFile.Substring(0, MyPromsPrinter.PDFFile.IndexOf(".")), path, MyItemInfo.PageNumber));
|
||||||
|
|
||||||
}
|
}
|
||||||
if (MyPromsPrinter.SupInfoPrintType == E_SupInfoPrintType.Merge && MyPageHelper.CreatingSupInfoPage)
|
if (MyPromsPrinter.SupInfoPrintType == E_SupInfoPrintType.Merge && MyPageHelper.CreatingSupInfoPage)
|
||||||
@ -875,7 +888,7 @@ namespace Volian.Print.Library
|
|||||||
if (breakOrNot != "No")
|
if (breakOrNot != "No")
|
||||||
{
|
{
|
||||||
bool hasBox = MyItemInfo.IsStep && MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex != null && MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex >= 0;
|
bool hasBox = MyItemInfo.IsStep && MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex != null && MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex >= 0;
|
||||||
bool rnoSepIn = (MyItemInfo.RNOs==null ||MyItemInfo.RNOs.Count==0);
|
bool rnoSepIn = (MyItemInfo.RNOs == null || MyItemInfo.RNOs.Count == 0);
|
||||||
// DebugPagination.WriteLine("{0}", MyItemInfo.DBSequence); //,instance);
|
// DebugPagination.WriteLine("{0}", MyItemInfo.DBSequence); //,instance);
|
||||||
if (DebugPagination.IsOpen) DebugPagination.WriteLine("{0:D6},'{1}',{2},'{3}','{4}',{5},{6},{7},{8},{9},{10},{11}",
|
if (DebugPagination.IsOpen) DebugPagination.WriteLine("{0:D6},'{1}',{2},'{3}','{4}',{5},{6},{7},{8},{9},{10},{11}",
|
||||||
MyPageHelper.MyPdfContentByte.PdfWriter.CurrentPageNumber - (breakOrNot == "Yes" ? 0 : 1),
|
MyPageHelper.MyPdfContentByte.PdfWriter.CurrentPageNumber - (breakOrNot == "Yes" ? 0 : 1),
|
||||||
@ -921,10 +934,10 @@ namespace Volian.Print.Library
|
|||||||
private bool CheckAlternates(vlnParagraph vpBrk)
|
private bool CheckAlternates(vlnParagraph vpBrk)
|
||||||
{
|
{
|
||||||
if (_AlternateBreaks == null) return false;
|
if (_AlternateBreaks == null) return false;
|
||||||
foreach(vlnParagraph vp in AlternateBreaks)
|
foreach (vlnParagraph vp in AlternateBreaks)
|
||||||
if (vp.MyItemInfo.ItemID == vpBrk.MyItemInfo.ItemID)
|
if (vp.MyItemInfo.ItemID == vpBrk.MyItemInfo.ItemID)
|
||||||
{
|
{
|
||||||
// _MyLog.WarnFormat("alternate used '{0}'-'{1}'",vpBrk.MyItemInfo.ShortPath,vp.MyItemInfo.ShortPath);
|
// _MyLog.WarnFormat("alternate used '{0}'-'{1}'",vpBrk.MyItemInfo.ShortPath,vp.MyItemInfo.ShortPath);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -986,7 +999,7 @@ namespace Volian.Print.Library
|
|||||||
{
|
{
|
||||||
float myFirstPieceRNOSize = 0;
|
float myFirstPieceRNOSize = 0;
|
||||||
myFirstPieceRNOSize = ChildrenRight[0].GetFirstPieceSize();
|
myFirstPieceRNOSize = ChildrenRight[0].GetFirstPieceSize();
|
||||||
if(myFirstPieceRNOSize < ySpaceOnCurPage)
|
if (myFirstPieceRNOSize < ySpaceOnCurPage)
|
||||||
if (ChildrenBelow.Count > 0)
|
if (ChildrenBelow.Count > 0)
|
||||||
{
|
{
|
||||||
float myFirstPieceAERSize = ChildrenBelow[0].GetFirstPieceSize() + ChildrenBelow[0].YOffset - YOffset;
|
float myFirstPieceAERSize = ChildrenBelow[0].GetFirstPieceSize() + ChildrenBelow[0].YOffset - YOffset;
|
||||||
@ -1452,7 +1465,7 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
float ySpaceAt7LPI = (adjustedCurPageYSpace - (accountForCalvertAlarmConditionResponseFooter + yEndMsg)) * SixLinesPerInch / _SevenLinesPerInch;
|
float ySpaceAt7LPI = (adjustedCurPageYSpace - (accountForCalvertAlarmConditionResponseFooter + yEndMsg)) * SixLinesPerInch / _SevenLinesPerInch;
|
||||||
if ((YSize - yTop) > (adjustedCurPageYSpace - (accountForCalvertAlarmConditionResponseFooter + yEndMsg))
|
if ((YSize - yTop) > (adjustedCurPageYSpace - (accountForCalvertAlarmConditionResponseFooter + yEndMsg))
|
||||||
&& (YSize - yTop) < ySpaceAt7LPI )
|
&& (YSize - yTop) < ySpaceAt7LPI)
|
||||||
{
|
{
|
||||||
// Compress Rest of Step
|
// Compress Rest of Step
|
||||||
// .oooooo. ooooooooo. .
|
// .oooooo. ooooooooo. .
|
||||||
@ -1583,13 +1596,13 @@ namespace Volian.Print.Library
|
|||||||
/// <param name="myList"></param>
|
/// <param name="myList"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private static vlnParagraph FindPageBreak1(float yStart, float yUpperLimit, float yLowerLimit, StepLevelList myList, vlnParagraph lastBreak, float fullPage,
|
private static vlnParagraph FindPageBreak1(float yStart, float yUpperLimit, float yLowerLimit, StepLevelList myList, vlnParagraph lastBreak, float fullPage,
|
||||||
float myBottomMsgSpace,bool RNOContinueOnly, float yTop)
|
float myBottomMsgSpace, bool RNOContinueOnly, float yTop)
|
||||||
{
|
{
|
||||||
vlnParagraph minPara = null;
|
vlnParagraph minPara = null;
|
||||||
//StringBuilder minBuff = new StringBuilder();
|
//StringBuilder minBuff = new StringBuilder();
|
||||||
float? yLocationMin=null;
|
float? yLocationMin = null;
|
||||||
vlnParagraph minPara2 = null;
|
vlnParagraph minPara2 = null;
|
||||||
float? yLocationMin2=null;
|
float? yLocationMin2 = null;
|
||||||
float yAddForBtmMsg = 0;
|
float yAddForBtmMsg = 0;
|
||||||
// useful for debugging pagination issues, lastbreak gets the paragraph at the top of the previous page, shows all
|
// useful for debugging pagination issues, lastbreak gets the paragraph at the top of the previous page, shows all
|
||||||
// of the locations within 'range' on the next page.
|
// of the locations within 'range' on the next page.
|
||||||
@ -1811,7 +1824,7 @@ namespace Volian.Print.Library
|
|||||||
// B2020-073 was not keeping all of RNO sub-step together - Comanche Peak FRC-0.1 (unit 1) Step 14
|
// 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-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 (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
|
// B2020-099 was breaking on last sub-step of previous RNO - Calvert Approved Procedures; Abnormal Procedures <20> 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)
|
private vlnParagraph HasSecondRNOThatWillFit(float yStart, float yLowerLimit, float yUpperLimit, StepLevelList myList, int stepLevel, float yTop)
|
||||||
{
|
{
|
||||||
// B2020-120: for calvert alarms/condition response table, don't run code for second rno
|
// B2020-120: for calvert alarms/condition response table, don't run code for second rno
|
||||||
@ -1823,7 +1836,7 @@ namespace Volian.Print.Library
|
|||||||
return this;
|
return this;
|
||||||
// see if there is a second RNO then see if it will fit on the page
|
// see if there is a second RNO then see if it will fit on the page
|
||||||
vlnParagraph tmp = this;
|
vlnParagraph tmp = this;
|
||||||
while (!tmp.MyItemInfo.IsRNOPart && tmp.MyParent!=null) 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;
|
vlnParagraph parent = tmp;
|
||||||
while (parent.MyParent != null && !parent.MyParent.MyItemInfo.IsSection) parent = parent.MyParent; // this will take us to the High level step
|
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
|
float yTopParent = parent.YTopMost; // this is where the HLS starts printing
|
||||||
@ -1862,13 +1875,13 @@ namespace Volian.Print.Library
|
|||||||
return maxBottomMost;
|
return maxBottomMost;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool StepWillFitOnBlankPageButNotOnCurrentPage(vlnParagraph myPara, float yLocation, float yStart,float fullPage)
|
private static bool StepWillFitOnBlankPageButNotOnCurrentPage(vlnParagraph myPara, float yLocation, float yStart, float fullPage)
|
||||||
{
|
{
|
||||||
// B2019-150 & B2019-151 Pagination Bugs Seen for Summer EOP4.1 Step 10 and
|
// B2019-150 & B2019-151 Pagination Bugs Seen for Summer EOP4.1 Step 10 and
|
||||||
// SAG Step 9. Added format flag to limit when this logic would be used.
|
// SAG Step 9. Added format flag to limit when this logic would be used.
|
||||||
if (myPara.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.PaginateOnStepThatWillFitOnBlankPage == false)
|
if (myPara.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.PaginateOnStepThatWillFitOnBlankPage == false)
|
||||||
return false;
|
return false;
|
||||||
float spaceOnCurrentPage = fullPage - (-yLocation+yStart);
|
float spaceOnCurrentPage = fullPage - (-yLocation + yStart);
|
||||||
// B2019-124 - Pagination - if substep will fit on a blank page but will not fit on the current page
|
// B2019-124 - Pagination - if substep will fit on a blank page but will not fit on the current page
|
||||||
// And is not the first substep then break
|
// And is not the first substep then break
|
||||||
// B2019-130 - in Calvert data (FSG-1 Appendix 1 Unit 1 Actions, step E.1.g) the THEN sub step was placed on the next page
|
// B2019-130 - in Calvert data (FSG-1 Appendix 1 Unit 1 Actions, step E.1.g) the THEN sub step was placed on the next page
|
||||||
@ -1914,7 +1927,7 @@ namespace Volian.Print.Library
|
|||||||
if (myPara.MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertPagination)
|
if (myPara.MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertPagination)
|
||||||
return (myPara.YOffset <= myParaBreak.YOffset &&
|
return (myPara.YOffset <= myParaBreak.YOffset &&
|
||||||
(myPara.YOffset + myPara.Height) >= myParaBreak.YOffset);
|
(myPara.YOffset + myPara.Height) >= myParaBreak.YOffset);
|
||||||
return(myPara.YOffset == myParaBreak.YOffset);
|
return (myPara.YOffset == myParaBreak.YOffset);
|
||||||
}
|
}
|
||||||
private bool HasAncestor(vlnParagraph myParaBreak)
|
private bool HasAncestor(vlnParagraph myParaBreak)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user