Only account for the Section Number and Title if they are printed

Print the top continue message if the Section Continue is not printed
This commit is contained in:
Rich 2015-02-18 18:13:11 +00:00
parent 4b484b3a85
commit a8b50ef929
2 changed files with 21 additions and 8 deletions

View File

@ -288,6 +288,8 @@ namespace Volian.Print.Library
if (ChildrenBelow.Count == 1 && ChildrenBelow[0].MyItemInfo.IsFigure) KeepStepsOnPage = false;
float sectionSpace = 0;
if (doSectionTitleContinued)
{
if (SectionShowTitles)
{
sectionSpace = 3 * SixLinesPerInch;// this should actuall use the physical size of the continue messsage.
// Fixing this caused problems with pagination ex Calvert Unit 2 IO-1l section 6.1.B step 2
@ -296,6 +298,7 @@ namespace Volian.Print.Library
yExtra -= sectionSpace;
//yExtra2 -= sectionSpace; // This was removed for Calvert STP O-73H-2 Section 6.3.O.4 and 6.3.R.3
}
}
if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && yPageSizeNextPage < yWithinMargins + 108 && MyItemInfo.MyPrevious == null)
KeepStepsOnPage = true;
if (!KeepWithHeader && !KeepStepsOnPage && YSize - SixLinesPerInch + yEndMsg <= yPageSizeNextPage) // if the entire step can fit on one page, do a page break
@ -391,6 +394,16 @@ namespace Volian.Print.Library
//return 2;
throw new Exception("PageBreak Logic Missing, vlnParagraph.cs");
}
private bool SectionShowTitles
{
get
{
vlnParagraph parent = MyParent;
while (!parent.MyItemInfo.IsSection)
parent = parent.MyParent;
return parent.ShowSectionTitles;
}
}
private bool SpecialCaseForRobinson()
{
if (MyItemInfo.ActiveFormat.Name.StartsWith("CPL") &&

View File

@ -1344,7 +1344,7 @@ namespace Volian.Print.Library
doSectionTitleContinued = (sch == null || sch.Section_PrintHdr == "Y") && !MyItemInfo.MyDocStyle.CancelSectTitle;
}
}
if (!doSectionTitleContinued)
if (!doSectionTitleContinued || !SectionShowTitles)
addExtraLines = DoTopContinueMsg(cb, ref yPageStart, yTopMargin, docstyle, doThreeContinues && MyItemInfo.MyParent != null && MyItemInfo.MyParent.MyTab != null ? MyItemInfo.MyParent.MyTab.CleanText : null);
MyPageHelper.YMultiplier = 1;