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

Merging B2023-088 from development into master.  No testing required since formats are under development.
This commit is contained in:
Devin Jankowski 2023-08-22 10:52:09 -04:00
commit be00724818
4 changed files with 32 additions and 7 deletions

Binary file not shown.

View File

@ -4303,6 +4303,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _PaginateOnLowerStepLevel, "@PaginateOnLowerStepLevel");
}
}
// B2023-088: alarm format pagination
private LazyLoad<bool> _AlarmPagination;
public bool AlarmPagination
{
get
{
return LazyLoad(ref _AlarmPagination, "@AlarmPagination");
}
}
private LazyLoad<bool> _CustomSpacing;
public bool CustomSpacing
{

View File

@ -1565,7 +1565,7 @@ namespace Volian.Print.Library
float yAddForBtmMsg = 0;
// 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.
//if (lastBreak != null && lastBreak.MyItemInfo.InList(72481))
//if (lastBreak != null && lastBreak.MyItemInfo.InList(72481))
//{
// int range = 120;
// Console.WriteLine("lastBreak = {0}, {1}", yUpperLimit, lastBreak);
@ -1720,7 +1720,11 @@ namespace Volian.Print.Library
{
vlnParagraph rnoChild = myPara.HasSecondRNOThatWillFit(yStart, yLowerLimit, yUpperLimit, myList, stepLevel, yTop); // Only if it is more than the lower limit
if (rnoChild != null)
{
// B2023-088: don't return the 'rnochild' if this is a caution or note in an alarm format
if (myPara.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.AlarmPagination && minPara2 != null && minPara2.MyItemInfo.IsCautionOrNotePart) return minPara2;
return rnoChild;
}
}
// B2019-103, B2019-114 Break at a step if the step will fit on a page by itself and it will
// not fit in the current page

View File

@ -7088,13 +7088,25 @@ namespace Volian.Print.Library
{
// B2020-116: change from checking for type 20001 to looking for a non-high sequential since some
// step types were sequential but not 20001
if (!paraLoc.MyParagraph.MyItemInfo.IsHigh && paraLoc.MyParagraph.MyItemInfo.IsSequential)
bool keepBullettedTogether = paraLoc.MyParagraph.MyItemInfo.IsSubStep;
if (!paraLoc.MyParagraph.MyItemInfo.IsHigh)
{
if (DontBreakHere(paraLoc))
//if (paraLoc.MyParagraph.MyItemInfo.MyPrevious == null) // First substep
level = 0;
else
level = 1;
bool AlarmPagination = paraLoc.MyParagraph.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.AlarmPagination;
if (paraLoc.MyParagraph.MyItemInfo.IsSequential)
{
if (DontBreakHere(paraLoc))
//if (paraLoc.MyParagraph.MyItemInfo.MyPrevious == null) // First substep
level = 0;
else
level = AlarmPagination?3:1; // B2023-088 make it easier to break on a sequential for alarms
}
else if (AlarmPagination && paraLoc.MyParagraph.MyItemInfo.IsSubStep)
{
// make it harder to break on first caution or note & within a list if doing Alarm Pagination:
vlnParagraph myPara = paraLoc.MyParagraph;
if ((myPara.MyItemInfo.IsCaution || myPara.MyItemInfo.IsNote) && myPara.MyItemInfo.MyPrevious == null) level = 1;
else if (myPara.MyItemInfo.MyPrevious != null || myPara.MyItemInfo.NextItem != null) level = 2;
}
}
}
// For B2015-014, some migrated data for background documents had the TitleWithTextBelow with associated paragraphs