B2017-228: SAMG Supplemental information facing page pagination bug, break was on sub-step AND after preferred page break, should only be On sub-step

B2017-229: SAMG Supplement information facing page pagination bug, do facing page if in 7 lines per inch when on first step of section
F2017-067: Adjusted pagelength to allow for Bottom Continue Message location on 7lpi print
This commit is contained in:
Kathy Ruffing 2017-10-03 13:34:27 +00:00
parent ded2f4b5ba
commit f31edfe1c5
3 changed files with 15 additions and 2 deletions

Binary file not shown.

View File

@ -116,6 +116,15 @@ namespace Volian.Print.Library
if (MyItemInfo.MyParent.IsHigh && MyItemInfo.IsNote && (MyItemInfo.MyParent.Cautions == null || MyItemInfo.MyParent.Cautions.Count == 0) && MyItemInfo.MyPrevious == null) return 1;
// if this is a substep that has a preferredpage break, and it has caution/note that is where the page break had to go
if (MyItemInfo.IsSubStep && ChildrenAbove != null && ChildrenAbove.Count > 0) return 0;
// B2017-228: The following flags a break within the step. Before returning a '2' (flags break within step), clear it out of the
// ParaBreaks. Without the 'RemoveAt', a page break will occur after this step also.
string reason = "Unknown";
if (MyPageHelper.ParaBreaks != null && MyPageHelper.ParaBreaks.Count > 0 && this == MyPageHelper.ParaBreaks[0])
{
MyPageHelper.ParaBreaks.RemoveAt(0);
reason = AddReason("Partial Step - Case 1");
ShowPageBreak(1, reason, "Yes", YSize, yPageSize, yWithinMargins, ManualPageBreak);
}
return 2;
}
}
@ -157,10 +166,11 @@ namespace Volian.Print.Library
bool isFirstChild = MyItemInfo.MyPrevious == null;
bool nearTheTop = (yWithinMargins < yPageSize) && (yWithinMargins > (yPageSize - 5 * SixLinesPerInch));
// if step is breaking over a number of pages, determine if the current step is the
// location of a pagebreak.
// location of a pagebreak. ParaBreaks contains the paragraphs that break within a step.
if (MyPageHelper.ParaBreaks.Count > 0)
{
string reason = "Unknown";
// if on current step and it is also the substep that will cause a pagebreak, i.e. the top substep in pagebreaks[[0]:
if (this == MyPageHelper.ParaBreaks[0])
{
MyPageHelper.ParaBreaks.RemoveAt(0);
@ -168,6 +178,7 @@ namespace Volian.Print.Library
ShowPageBreak(1,reason, "Yes", YSize, yPageSize, yWithinMargins, ManualPageBreak);
return 2; // break on this item within a step
}
// check for rnos:
else if (MyPageHelper.ParaBreaks[0].CheckAlternates(this))
{
MyPageHelper.ParaBreaks.RemoveAt(0);
@ -175,6 +186,7 @@ namespace Volian.Print.Library
ShowPageBreak(1, reason, "Yes", YSize, yPageSize, yWithinMargins, ManualPageBreak);
return 2; // break on this item within a step
}
// PageBreakOnStep flags break for cautions/notes/HLS in backgrounds & deviations.
else if (!MyPageHelper.ParaBreaks[0].PageBreakOnStep && this.YTopMost > MyPageHelper.ParaBreaks[0].YTopMost)
{
MyPageHelper.ParaBreaks.RemoveAt(0);

View File

@ -1964,7 +1964,7 @@ namespace Volian.Print.Library
else MyPromsPrinter.NeedSupInfoBreak = true;
supInfoSect.StepSectPageBreaks.Add(MyItemInfo.ItemID);
}
if (!firstHighLevelStep)
if (!firstHighLevelStep || (MyPromsPrinter.SupInfoPrintType == E_SupInfoPrintType.Merge && !MyPageHelper.CreatingSupInfoPage)) // B2017-229: Added supinfo print check to run facing page logic
{
YTopMost = OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin);
if (MyPageHelper.NotesToFootNotes != null && MyPageHelper.NotesToFootNotes.Count > 0) MyPageHelper.NotesToFootNotesYoffset = CalculateYLocation(yLocation, yTopMargin);
@ -2793,6 +2793,7 @@ namespace Volian.Print.Library
case E_ContBottomLoc.BottomOfPage: // place continue message at bottom of page
//msg_yLocation = yBottomMargin + 2 * SixLinesPerInch + (float)docstyle.Layout.FooterLength; // 2 lines above bottom margin
msg_yLocation = msg_yLocation + yBtmMarginForMsg + (float)docstyle.Layout.FooterLength;
// if (MyPageHelper.YMultiplier != 1.0F) msg_yLocation = msg_yLocation / MyPageHelper.YMultiplier;
break;
case E_ContBottomLoc.BelowBottom1:
msg_yLocation = msg_yLocation + yBtmMarginForMsg;