B2017-224 Top Continue Messages were not printing. Logic for background printing was running when it should not.

This commit is contained in:
Rich 2017-09-26 17:57:48 +00:00
parent 6d350ed94f
commit 9458f378e2

View File

@ -79,10 +79,10 @@ namespace Volian.Print.Library
int maxRnoSav = maxRNO; int maxRnoSav = maxRNO;
foreach (ItemInfo iChildItemInfo in itemInfoList) foreach (ItemInfo iChildItemInfo in itemInfoList)
{ {
if(pp != null) pp.OnStatusChanged((iChildItemInfo.DisplayNumber ?? "") == "" ? iChildItemInfo.DisplayText : iChildItemInfo.DisplayNumber, PromsPrinterStatusType.LoadVlnParagraph); if (pp != null) pp.OnStatusChanged((iChildItemInfo.DisplayNumber ?? "") == "" ? iChildItemInfo.DisplayText : iChildItemInfo.DisplayNumber, PromsPrinterStatusType.LoadVlnParagraph);
if (iChildItemInfo.IsFootnote) if (iChildItemInfo.IsFootnote)
{ {
vlnParagraph para = new vlnParagraph(Parent, cb, iChildItemInfo, xoff, yoff, rnoLevel, maxRNO, formatInfo, null, null, yoffRight, true, iChildItemInfo.IsSection ? pp :null); vlnParagraph para = new vlnParagraph(Parent, cb, iChildItemInfo, xoff, yoff, rnoLevel, maxRNO, formatInfo, null, null, yoffRight, true, iChildItemInfo.IsSection ? pp : null);
continue; // don't add it, vlnParagraph adds this item to the footnote list in ToPdf. continue; // don't add it, vlnParagraph adds this item to the footnote list in ToPdf.
} }
maxRNO = maxRnoSav; maxRNO = maxRnoSav;
@ -90,7 +90,7 @@ namespace Volian.Print.Library
if (iChildItemInfo.IsSection && (iChildItemInfo as SectionInfo).ColumnMode != maxRNO) if (iChildItemInfo.IsSection && (iChildItemInfo as SectionInfo).ColumnMode != maxRNO)
maxRNO = (iChildItemInfo as SectionInfo).ColumnMode; maxRNO = (iChildItemInfo as SectionInfo).ColumnMode;
int maxRnoTemplate = iChildItemInfo.TemplateChildColumnMode; int maxRnoTemplate = iChildItemInfo.TemplateChildColumnMode;
if (maxRnoTemplate >= 0) maxRNO = maxRnoTemplate-1; if (maxRnoTemplate >= 0) maxRNO = maxRnoTemplate - 1;
ItemInfo childItemInfo = iChildItemInfo; ItemInfo childItemInfo = iChildItemInfo;
int? bxIndx = childItemInfo.FormatStepData == null ? -1 : childItemInfo.FormatStepData.StepLayoutData.STBoxindex; int? bxIndx = childItemInfo.FormatStepData == null ? -1 : childItemInfo.FormatStepData.StepLayoutData.STBoxindex;
// if the Caution or Note is not boxed, then use ColT to set the starting column of the Note or Caution // if the Caution or Note is not boxed, then use ColT to set the starting column of the Note or Caution
@ -104,7 +104,7 @@ namespace Volian.Print.Library
// by the first level of children. The data for the column is the child of the column header. // by the first level of children. The data for the column is the child of the column header.
// Sometimes the column will not have data, the following handles that case. Also, use // Sometimes the column will not have data, the following handles that case. Also, use
// the boolean didComponentTableRow to keep track of the bottom most yoff of the table row. // the boolean didComponentTableRow to keep track of the bottom most yoff of the table row.
if ((childItemInfo.MyDocStyle.ComponentList) && childItemInfo.MyParent.IsInTemplate()|| if ((childItemInfo.MyDocStyle.ComponentList) && childItemInfo.MyParent.IsInTemplate() ||
(childItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertAlarm && childItemInfo.IsInTemplate())) (childItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertAlarm && childItemInfo.IsInTemplate()))
{ {
if (childItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertAlarm) if (childItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertAlarm)
@ -473,7 +473,7 @@ namespace Volian.Print.Library
// //if((PartsLeft[0] as vlnTab).Text[0] != '\u25CF') // //if((PartsLeft[0] as vlnTab).Text[0] != '\u25CF')
// _MyLog.WarnFormat("NoteTab '{0}','{1}','{2}','{3}','{4}','{5}','{6}'", (PartsAbove[0] as vlnHeader).Text, (PartsLeft[0] as vlnTab).Text, MyItemInfo.MyProcedure.DisplayNumber, MyItemInfo.MyHLS.DisplayText, // _MyLog.WarnFormat("NoteTab '{0}','{1}','{2}','{3}','{4}','{5}','{6}'", (PartsAbove[0] as vlnHeader).Text, (PartsLeft[0] as vlnTab).Text, MyItemInfo.MyProcedure.DisplayNumber, MyItemInfo.MyHLS.DisplayText,
// MyItemInfo.ShortPath, MyItemInfo.FormatStepData.TabData.IdentPrint, MyItemInfo.FormatStepData.TabData.IdentEdit); // MyItemInfo.ShortPath, MyItemInfo.FormatStepData.TabData.IdentPrint, MyItemInfo.FormatStepData.TabData.IdentEdit);
// //
// B2017-105 if a symbol character was set to a bigger font size, then the positioning of the larger symbol character was printing too high on the line // B2017-105 if a symbol character was set to a bigger font size, then the positioning of the larger symbol character was printing too high on the line
// found with Wolf Creek use of the empty box symbol // found with Wolf Creek use of the empty box symbol
foreach (Chunk chk in IParagraph.Chunks) foreach (Chunk chk in IParagraph.Chunks)
@ -889,10 +889,10 @@ namespace Volian.Print.Library
private float DrawGrid(PdfContentByte cb, ref float yPageStart, float yTopMargin, float yBottomMargin, ref float yLocation) private float DrawGrid(PdfContentByte cb, ref float yPageStart, float yTopMargin, float yBottomMargin, ref float yLocation)
{ {
//DebugText.WriteLine("{0},'{1}','{2}','<<END>>'", MyItemInfo.ItemID, MyItemInfo.ShortPath, FormattedText); //DebugText.WriteLine("{0},'{1}','{2}','<<END>>'", MyItemInfo.ItemID, MyItemInfo.ShortPath, FormattedText);
if(DebugText.IsOpen)DebugText.WriteLine("{0},'{1}','{2}','<<END>>',{3}", MyItemInfo.ItemID, MyItemInfo.ShortPath, MyItemInfo.MyContent.Text, XOffset); if (DebugText.IsOpen) DebugText.WriteLine("{0},'{1}','{2}','<<END>>',{3}", MyItemInfo.ItemID, MyItemInfo.ShortPath, MyItemInfo.MyContent.Text, XOffset);
//if (MyItemInfo.InList(11019,11024,111026)) // RHM20150507 Table Scrunch //if (MyItemInfo.InList(11019,11024,111026)) // RHM20150507 Table Scrunch
// Console.WriteLine("here"); // Console.WriteLine("here");
float heightBefore = MyGrid.Height+4 * MyPageHelper.YMultiplier; float heightBefore = MyGrid.Height + 4 * MyPageHelper.YMultiplier;
if (Rtf2Pdf.GetTableScrunchingStatus(TableScrunching.Phase1) && heightBefore > (yLocation - yBottomMargin)) if (Rtf2Pdf.GetTableScrunchingStatus(TableScrunching.Phase1) && heightBefore > (yLocation - yBottomMargin))
{ {
//MyGrid.TooBig = (MyItemInfo.MyDocStyle.Layout.FooterLength ?? 0) + SixLinesPerInch + MyGrid.Height - (yLocation - yBottomMargin); //MyGrid.TooBig = (MyItemInfo.MyDocStyle.Layout.FooterLength ?? 0) + SixLinesPerInch + MyGrid.Height - (yLocation - yBottomMargin);
@ -920,7 +920,7 @@ namespace Volian.Print.Library
} }
} }
} }
MyPageHelper.BottomContent=yLocation-(MyGrid.Height + 4 * MyPageHelper.YMultiplier); MyPageHelper.BottomContent = yLocation - (MyGrid.Height + 4 * MyPageHelper.YMultiplier);
float retval = Rtf2Pdf.GridAt(cb, MyGrid, XOffset, yLocation, Width, 100, DebugInfo, yBottomMargin, !MyItemInfo.FormatStepData.Type.Contains("Borderless")); float retval = Rtf2Pdf.GridAt(cb, MyGrid, XOffset, yLocation, Width, 100, DebugInfo, yBottomMargin, !MyItemInfo.FormatStepData.Type.Contains("Borderless"));
if (MyGrid.Height > (yTopMargin - yBottomMargin)) if (MyGrid.Height > (yTopMargin - yBottomMargin))
{ {
@ -933,16 +933,16 @@ namespace Volian.Print.Library
private void FixMessages(vlnChangeBar vcb, float heightDif) private void FixMessages(vlnChangeBar vcb, float heightDif)
{ {
SortedDictionary<float, vlnChangeBarMessage> msd = vcb.Messages; SortedDictionary<float, vlnChangeBarMessage> msd = vcb.Messages;
vcb.Messages = new SortedDictionary<float,vlnChangeBarMessage>(); vcb.Messages = new SortedDictionary<float, vlnChangeBarMessage>();
foreach (float key in msd.Keys) foreach (float key in msd.Keys)
{ {
vcb.Messages.Add(key+heightDif, msd[key]); vcb.Messages.Add(key + heightDif, msd[key]);
} }
} }
private float DrawText(PdfContentByte cb, ref float yPageStart, float yTopMargin, float yBottomMargin, ref float yLocation) private float DrawText(PdfContentByte cb, ref float yPageStart, float yTopMargin, float yBottomMargin, ref float yLocation)
{ {
if(DebugText.IsOpen)DebugText.WriteLine("{0},'{1}','{2}','<<END>>'", MyItemInfo.ItemID, MyItemInfo.DBSequence, FormattedText); if (DebugText.IsOpen) DebugText.WriteLine("{0},'{1}','{2}','<<END>>'", MyItemInfo.ItemID, MyItemInfo.DBSequence, FormattedText);
//Console.WriteLine("{0},{1},'{2}','<<END>>'", MyItemInfo.ItemID, MyItemInfo.DBSequence, IParagraph.Content); //Console.WriteLine("{0},{1},'{2}','<<END>>'", MyItemInfo.ItemID, MyItemInfo.DBSequence, IParagraph.Content);
float retval = yLocation; float retval = yLocation;
if (MyItemInfo.IsRtfRaw) if (MyItemInfo.IsRtfRaw)
@ -1011,14 +1011,14 @@ namespace Volian.Print.Library
Chunk chk1 = IParagraph.Chunks[0] as Chunk; Chunk chk1 = IParagraph.Chunks[0] as Chunk;
//Console.WriteLine("\"Desination\"\t{0}", MyItemInfo.ItemID); //Console.WriteLine("\"Desination\"\t{0}", MyItemInfo.ItemID);
if (MyItemInfo.MyContent.Text.ToUpper().Contains("LINK:TR")) if (MyItemInfo.MyContent.Text.ToUpper().Contains("LINK:TR"))
Console.WriteLine("Missing Transition {0}",MyItemInfo.ItemID); Console.WriteLine("Missing Transition {0}", MyItemInfo.ItemID);
chk1.SetLocalDestination(string.Format("ItemID={0}", MyItemInfo.ItemID)); // Destination chk1.SetLocalDestination(string.Format("ItemID={0}", MyItemInfo.ItemID)); // Destination
if (MyItemInfo.MyContent.ContentTransitionCount > 0) if (MyItemInfo.MyContent.ContentTransitionCount > 0)
{ {
TransitionInfo ti = MyItemInfo.MyContent.ContentTransitions[0]; TransitionInfo ti = MyItemInfo.MyContent.ContentTransitions[0];
ItemInfo tiDefault = GetDefaultItemInfo(ti.MyItemToID); ItemInfo tiDefault = GetDefaultItemInfo(ti.MyItemToID);
if (ti.MyItemToID.MyProcedure.ItemID == MyItemInfo.MyProcedure.ItemID && if (ti.MyItemToID.MyProcedure.ItemID == MyItemInfo.MyProcedure.ItemID &&
! MyItemInfo.ActiveSection.DisplayNumber.ToUpper().StartsWith("FOLDOUT")) !MyItemInfo.ActiveSection.DisplayNumber.ToUpper().StartsWith("FOLDOUT"))
{ // Local Go To { // Local Go To
if (ti.MyItemToID.MyContent.Type > 19999) if (ti.MyItemToID.MyContent.Type > 19999)
foreach (Chunk chk in IParagraph.Chunks) foreach (Chunk chk in IParagraph.Chunks)
@ -1082,7 +1082,7 @@ namespace Volian.Print.Library
{ {
if (MyItemInfo.IsStepSection && MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && (MyItemInfo.ActiveSection as SectionInfo).HasInitials) if (MyItemInfo.IsStepSection && MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && (MyItemInfo.ActiveSection as SectionInfo).HasInitials)
{ {
if (MyPageHelper.PrintInitials(cb,yLocation,(float) MyItemInfo.MyDocStyle.Layout.LeftMargin)) if (MyPageHelper.PrintInitials(cb, yLocation, (float)MyItemInfo.MyDocStyle.Layout.LeftMargin))
{ {
//if(yLocation != yTopMargin) //if(yLocation != yTopMargin)
// Console.WriteLine("'{0}',{1},'{2}',{3},{4},{5},{6}", MyItemInfo.MyProcedure.DisplayNumber, MyItemInfo.ItemID // Console.WriteLine("'{0}',{1},'{2}',{3},{4},{5},{6}", MyItemInfo.MyProcedure.DisplayNumber, MyItemInfo.ItemID
@ -1115,7 +1115,7 @@ namespace Volian.Print.Library
} }
private ItemInfo GetDefaultItemInfo(ItemInfo myItemInfo) private ItemInfo GetDefaultItemInfo(ItemInfo myItemInfo)
{ {
if (myItemInfo.IsProcedure &&myItemInfo.Sections != null) if (myItemInfo.IsProcedure && myItemInfo.Sections != null)
{ {
SectionInfo siProcedureSteps = null; SectionInfo siProcedureSteps = null;
foreach (SectionInfo si in myItemInfo.Sections) foreach (SectionInfo si in myItemInfo.Sections)
@ -1150,7 +1150,7 @@ namespace Volian.Print.Library
get { return vlnParagraph._MissingInitials; } get { return vlnParagraph._MissingInitials; }
set { vlnParagraph._MissingInitials = value; } set { vlnParagraph._MissingInitials = value; }
} }
public static void TextAt(PdfContentByte cb,VlnSvgPageHelper myPageHelper,PageItem pi,float yloc, float leftMargin) public static void TextAt(PdfContentByte cb, VlnSvgPageHelper myPageHelper, PageItem pi, float yloc, float leftMargin)
{ {
System.Drawing.Color sysColor = PrintOverride.OverrideSvgColor(System.Drawing.Color.Black); System.Drawing.Color sysColor = PrintOverride.OverrideSvgColor(System.Drawing.Color.Black);
cb.SaveState(); cb.SaveState();
@ -1182,11 +1182,11 @@ namespace Volian.Print.Library
{ {
ct.SetSimpleColumn((float)pi.Col + leftMargin, yloc + 6.9F, (float)pi.Col + 100 + leftMargin, yloc - 50); ct.SetSimpleColumn((float)pi.Col + leftMargin, yloc + 6.9F, (float)pi.Col + 100 + leftMargin, yloc - 50);
fontStyle = (pi.Font.WindowsFont.Bold ? iTextSharp.text.Font.BOLD : 0) + (pi.Font.WindowsFont.Italic ? iTextSharp.text.Font.ITALIC : 0); fontStyle = (pi.Font.WindowsFont.Bold ? iTextSharp.text.Font.BOLD : 0) + (pi.Font.WindowsFont.Italic ? iTextSharp.text.Font.ITALIC : 0);
font = FontFactory.GetFont(pi.Font.Family, BaseFont.IDENTITY_H, BaseFont.EMBEDDED,(float) pi.Font.Size,fontStyle); font = FontFactory.GetFont(pi.Font.Family, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, (float)pi.Font.Size, fontStyle);
underline = pi.Font.WindowsFont.Underline; underline = pi.Font.WindowsFont.Underline;
} }
Chunk chk = new Chunk("INITIALS", font); Chunk chk = new Chunk("INITIALS", font);
if(underline) if (underline)
chk.SetUnderline(new iTextSharp.text.Color(sysColor), 0, 0.05F, 0, -.131F, PdfContentByte.LINE_CAP_ROUND); // Relative Based upon font size chk.SetUnderline(new iTextSharp.text.Color(sysColor), 0, 0.05F, 0, -.131F, PdfContentByte.LINE_CAP_ROUND); // Relative Based upon font size
Phrase ph = new Phrase(chk); Phrase ph = new Phrase(chk);
ct.AddElement(ph); ct.AddElement(ph);
@ -1474,7 +1474,7 @@ namespace Volian.Print.Library
return (prTab + thisTab.Trim()).TrimEnd(".".ToCharArray()); return (prTab + thisTab.Trim()).TrimEnd(".".ToCharArray());
} }
private static bool DoSubs = true; // flag whether to print substeps (don't if doing continued checklist header) private static bool DoSubs = true; // flag whether to print substeps (don't if doing continued checklist header)
protected float _ContinueHeight=0; protected float _ContinueHeight = 0;
public virtual float ContinueHeight public virtual float ContinueHeight
{ {
get get
@ -1485,7 +1485,7 @@ namespace Volian.Print.Library
&& MyItemInfo.MyDocStyle.Continue.Top.Message.Contains("%s") && MyItemInfo.MyDocStyle.Continue.Top.Message.Contains("%s")
&& MyItemInfo.MyDocStyle.Continue.Top.Message.ToUpper().EndsWith(" (Continued)".ToUpper())) && MyItemInfo.MyDocStyle.Continue.Top.Message.ToUpper().EndsWith(" (Continued)".ToUpper()))
{ {
string suffix = MyItemInfo.MyDocStyle.Continue.Top.Message.Replace("%sR","").Replace("%s",""); string suffix = MyItemInfo.MyDocStyle.Continue.Top.Message.Replace("%sR", "").Replace("%s", "");
_ContinueHeight = GetParagraphHeight(MyContentByte, IParagraph, suffix, Width); _ContinueHeight = GetParagraphHeight(MyContentByte, IParagraph, suffix, Width);
} }
ProfileTimer.Pop(profileDepth); ProfileTimer.Pop(profileDepth);
@ -1561,7 +1561,7 @@ namespace Volian.Print.Library
// out the variable that flags a continue message // out the variable that flags a continue message
MyPageHelper.OldTemplateContMsg = false; MyPageHelper.OldTemplateContMsg = false;
if(DebugText.IsOpen) DebugText.WriteLine("ToPdf1:{0},'{1}',{2},{3},{4},{5}", MyItemInfo.ItemID, MyItemInfo.ShortPath, XOffset, yLocation, yPageStart, YTopMost); if (DebugText.IsOpen) DebugText.WriteLine("ToPdf1:{0},'{1}',{2},{3},{4},{5}", MyItemInfo.ItemID, MyItemInfo.ShortPath, XOffset, yLocation, yPageStart, YTopMost);
int profileDepth1 = ProfileTimer.Push(">>>> vlnParagraph.Paginate"); int profileDepth1 = ProfileTimer.Push(">>>> vlnParagraph.Paginate");
int paginate = Paginate(yLocation, yTopMargin, yBottomMargin); int paginate = Paginate(yLocation, yTopMargin, yBottomMargin);
ProfileTimer.Pop(profileDepth1); ProfileTimer.Pop(profileDepth1);
@ -1577,7 +1577,7 @@ namespace Volian.Print.Library
// if this has a caution/note with supinfo, that is id that needs to go in pagination list, unless it is in there. // if this has a caution/note with supinfo, that is id that needs to go in pagination list, unless it is in there.
int aboveSupinfoId = ChildrenAboveHaveSupInfo(); int aboveSupinfoId = ChildrenAboveHaveSupInfo();
if (supInfoSect.StepSectPageBreaksForSupInfo.Contains(aboveSupinfoId)) aboveSupinfoId = -1; if (supInfoSect.StepSectPageBreaksForSupInfo.Contains(aboveSupinfoId)) aboveSupinfoId = -1;
supInfoSect.StepSectPageBreaksForSupInfo.Add(aboveSupinfoId!=-1?aboveSupinfoId:MyItemInfo.SupInfos[0].ItemID); supInfoSect.StepSectPageBreaksForSupInfo.Add(aboveSupinfoId != -1 ? aboveSupinfoId : MyItemInfo.SupInfos[0].ItemID);
MyPromsPrinter.NeedSupInfoBreak = false; MyPromsPrinter.NeedSupInfoBreak = false;
} }
bool itemIsPrinted = false; bool itemIsPrinted = false;
@ -1655,7 +1655,7 @@ namespace Volian.Print.Library
yPageStart -= SixLinesPerInch; yPageStart -= SixLinesPerInch;
if (MyPageHelper.ParaBreaks.Count > 0 && MyPageHelper.ParaBreaks[0].CompressFirstPartOfStep) if (MyPageHelper.ParaBreaks.Count > 0 && MyPageHelper.ParaBreaks[0].CompressFirstPartOfStep)
MyPageHelper.YMultiplier = _SevenLinesPerInch / SixLinesPerInch; MyPageHelper.YMultiplier = _SevenLinesPerInch / SixLinesPerInch;
if(CompressFoldout) if (CompressFoldout)
MyPageHelper.YMultiplier = _SevenLinesPerInch / SixLinesPerInch; MyPageHelper.YMultiplier = _SevenLinesPerInch / SixLinesPerInch;
///else ///else
@ -1678,7 +1678,7 @@ namespace Volian.Print.Library
else MyPromsPrinter.NeedSupInfoBreak = true; else MyPromsPrinter.NeedSupInfoBreak = true;
supInfoSect.StepSectPageBreaks.Add(MyItemInfo.ItemID); supInfoSect.StepSectPageBreaks.Add(MyItemInfo.ItemID);
} }
YTopMost=OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin); YTopMost = OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin);
docstyle = MyItemInfo.MyDocStyle; docstyle = MyItemInfo.MyDocStyle;
if (MyPageHelper.NotesToFootNotes != null && MyPageHelper.NotesToFootNotes.Count > 0) MyPageHelper.NotesToFootNotesYoffset = CalculateYLocation(yLocation, yTopMargin); if (MyPageHelper.NotesToFootNotes != null && MyPageHelper.NotesToFootNotes.Count > 0) MyPageHelper.NotesToFootNotesYoffset = CalculateYLocation(yLocation, yTopMargin);
bool doSectionContinue = !MyItemInfo.IsSection && ((docstyle.StructureStyle.Style & E_DocStructStyle.BottomSectionContinue) == E_DocStructStyle.BottomSectionContinue); bool doSectionContinue = !MyItemInfo.IsSection && ((docstyle.StructureStyle.Style & E_DocStructStyle.BottomSectionContinue) == E_DocStructStyle.BottomSectionContinue);
@ -1746,7 +1746,7 @@ namespace Volian.Print.Library
DoCheckOffHeader(cb, MyItemInfo, yLocation, yTopMargin, yPageStart); DoCheckOffHeader(cb, MyItemInfo, yLocation, yTopMargin, yPageStart);
SectionTopMessage(cb, yTopMargin, yLocation); // does wcntraining & suppinfo section title SectionTopMessage(cb, yTopMargin, yLocation); // does wcntraining & suppinfo section title
if (MyPageHelper.CreatingSupInfoPage) yPageStart -= (2 * SixLinesPerInch); if (MyPageHelper.CreatingSupInfoPage) yPageStart -= (2 * SixLinesPerInch);
if (doSectionContinue ) DoTopContinueMsg(cb, ref yPageStart, yTopMargin, docstyle , null); if (doSectionContinue) DoTopContinueMsg(cb, ref yPageStart, yTopMargin, docstyle, null);
// If "ContinueSectionHeader" (format flag) is true then print the section title with "(Continued)" appended to it // If "ContinueSectionHeader" (format flag) is true then print the section title with "(Continued)" appended to it
if (!MyItemInfo.IsSection && MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.ContinueSectionHeader && (!MyItemInfo.IsSection || MyItemInfo.IsSeparateSubsection)) if (!MyItemInfo.IsSection && MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.ContinueSectionHeader && (!MyItemInfo.IsSection || MyItemInfo.IsSeparateSubsection))
{ {
@ -1773,7 +1773,7 @@ namespace Volian.Print.Library
else MyPromsPrinter.NeedSupInfoBreak = true; else MyPromsPrinter.NeedSupInfoBreak = true;
supInfoSect.StepSectPageBreaks.Add(MyItemInfo.ItemID); supInfoSect.StepSectPageBreaks.Add(MyItemInfo.ItemID);
} }
YTopMost=OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin); YTopMost = OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin);
docstyle = MyItemInfo.MyDocStyle; docstyle = MyItemInfo.MyDocStyle;
bool doAlarmBox = false; bool doAlarmBox = false;
if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertAlarm) if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertAlarm)
@ -1941,7 +1941,7 @@ namespace Volian.Print.Library
if (MyItemInfo.MyHLS != null && MyItemInfo.MyHLS.FormatStepData.UseSmartTemplate) if (MyItemInfo.MyHLS != null && MyItemInfo.MyHLS.FormatStepData.UseSmartTemplate)
{ {
DoSubs = false; DoSubs = false;
vlnParagraph smartPara = new vlnParagraph(MyParent.MyParent, cb, MyItemInfo.MyHLS, MyParent.XOffset, yPageStart, 0, 0, MyParent.MyItemInfo.ActiveFormat, null, " (Continued)", 0,false, MyPromsPrinter); vlnParagraph smartPara = new vlnParagraph(MyParent.MyParent, cb, MyItemInfo.MyHLS, MyParent.XOffset, yPageStart, 0, 0, MyParent.MyItemInfo.ActiveFormat, null, " (Continued)", 0, false, MyPromsPrinter);
smartPara.PrintHeader = true; smartPara.PrintHeader = true;
float mytmpfloat = smartPara.ParagraphToPdf(cb, yPageStart, yTopMargin, yBottomMargin); float mytmpfloat = smartPara.ParagraphToPdf(cb, yPageStart, yTopMargin, yBottomMargin);
yPageStart -= smartPara.Height; yPageStart -= smartPara.Height;
@ -1966,7 +1966,7 @@ namespace Volian.Print.Library
} }
if (!firstHighLevelStep) if (!firstHighLevelStep)
{ {
YTopMost=OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin); YTopMost = OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin);
if (MyPageHelper.NotesToFootNotes != null && MyPageHelper.NotesToFootNotes.Count > 0) MyPageHelper.NotesToFootNotesYoffset = CalculateYLocation(yLocation, yTopMargin); if (MyPageHelper.NotesToFootNotes != null && MyPageHelper.NotesToFootNotes.Count > 0) MyPageHelper.NotesToFootNotesYoffset = CalculateYLocation(yLocation, yTopMargin);
MyPromsPrinter.NewPage(); // HLS (7 lpi) breakif (MyItemInfo.IsSection) MyPromsPrinter.NewPage(); // HLS (7 lpi) breakif (MyItemInfo.IsSection)
//_MyLog.InfoFormat("NewPage 12 {0}", cb.PdfWriter.CurrentPageNumber); //_MyLog.InfoFormat("NewPage 12 {0}", cb.PdfWriter.CurrentPageNumber);
@ -2059,7 +2059,7 @@ namespace Volian.Print.Library
// get to the correct section for the message, i.e. if on a section, the message should be the parent // get to the correct section for the message, i.e. if on a section, the message should be the parent
// section (not the activesection which is myself); if on a step, the message should be the active section // section (not the activesection which is myself); if on a step, the message should be the active section
ItemInfo sectForCont = MyItemInfo.IsSection && MyItemInfo.MyParent.IsSection ? MyItemInfo.MyParent : MyItemInfo.ActiveSection; ItemInfo sectForCont = MyItemInfo.IsSection && MyItemInfo.MyParent.IsSection ? MyItemInfo.MyParent : MyItemInfo.ActiveSection;
sectContPara = new vlnParagraph(MyParent.MyParent, cb, sectForCont, MyParent.XOffset, 0, 0, 0, MyParent.MyItemInfo.ActiveFormat, null, (contMsg == null || contMsg == "") ? " (Continued)" : contMsg, 0, false,MyPromsPrinter); sectContPara = new vlnParagraph(MyParent.MyParent, cb, sectForCont, MyParent.XOffset, 0, 0, 0, MyParent.MyItemInfo.ActiveFormat, null, (contMsg == null || contMsg == "") ? " (Continued)" : contMsg, 0, false, MyPromsPrinter);
if (sectContPara.PartsLeft.Count > 0) if (sectContPara.PartsLeft.Count > 0)
{ {
vlnTab vt = sectContPara.MyTab; vlnTab vt = sectContPara.MyTab;
@ -2082,7 +2082,7 @@ namespace Volian.Print.Library
if (sectContPara.SectionContinuePrinted) if (sectContPara.SectionContinuePrinted)
yPageStart -= sectContPara.Height + SixLinesPerInch; yPageStart -= sectContPara.Height + SixLinesPerInch;
else else
Console.WriteLine("'No Header 1','{0}',{1},{2}",MyItemInfo.ShortPath,MyItemInfo.MyDocStyle.CancelSectTitle,MyItemInfo.MyDocStyle.SpecialStepsFoldout); Console.WriteLine("'No Header 1','{0}',{1},{2}", MyItemInfo.ShortPath, MyItemInfo.MyDocStyle.CancelSectTitle, MyItemInfo.MyDocStyle.SpecialStepsFoldout);
} }
else else
{ {
@ -2115,10 +2115,10 @@ namespace Volian.Print.Library
// 'this' below is a highlevel step, and the only time that ParaBreaks[0] will == 'this' is // 'this' below is a highlevel step, and the only time that ParaBreaks[0] will == 'this' is
// when the PageBreakOnStep flag is true. // when the PageBreakOnStep flag is true.
if (MyPageHelper.ParaBreaks != null && MyPageHelper.ParaBreaks.Count > 0 && if (MyPageHelper.ParaBreaks != null && MyPageHelper.ParaBreaks.Count > 0 &&
MyPageHelper.ParaBreaks[0] == this) MyPageHelper.ParaBreaks[0] == this && this.MyItemInfo.FormatStepData.PageBreakOnStep)// B2017-224 Top Continue Messages Add check for PageBreakOnStep 9/26/2017 Ginna SAMGs SAG-8 Step 4
{ {
ShowPageBreak(1, CheckForCompression("PageBreakOnStep/Caution/Note HLS"), "Yes", YTop - YBottomMost, yTopMargin - yBottomMargin, yTopMargin - yBottomMargin, false); ShowPageBreak(1, CheckForCompression("PageBreakOnStep/Caution/Note HLS"), "Yes", YTop - YBottomMost, yTopMargin - yBottomMargin, yTopMargin - yBottomMargin, false);
YTopMost=OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin); YTopMost = OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin);
MyPageHelper.BottomMessage.Clear(); MyPageHelper.BottomMessage.Clear();
MyPageHelper.TopMessage = null; MyPageHelper.TopMessage = null;
MyPromsPrinter.NewPage(); MyPromsPrinter.NewPage();
@ -2209,7 +2209,7 @@ namespace Volian.Print.Library
if (myMsg.Contains("%-12s")) if (myMsg.Contains("%-12s"))
myMsg = myMsg.Replace("%-12s", MyItemInfo.MyProcedure.DisplayNumber.PadRight(12)); myMsg = myMsg.Replace("%-12s", MyItemInfo.MyProcedure.DisplayNumber.PadRight(12));
float xpos = 0; float xpos = 0;
if (yTopMargin-docstyle.Layout.PageLength>=msg_yLocation && docstyle.End.Message != null && docstyle.End.Message != "" && docstyle.End.Flag<=2) _MyLog.WarnFormat("End Message LOW on page: {0}, {1}, {2}, Page {3}",msg_yLocation, MyItemInfo.ItemID, MyItemInfo.ShortPath, MyPageHelper.CurrentPageNumber+1); if (yTopMargin - docstyle.Layout.PageLength >= msg_yLocation && docstyle.End.Message != null && docstyle.End.Message != "" && docstyle.End.Flag <= 2) _MyLog.WarnFormat("End Message LOW on page: {0}, {1}, {2}, Page {3}", msg_yLocation, MyItemInfo.ItemID, MyItemInfo.ShortPath, MyPageHelper.CurrentPageNumber + 1);
if ((docstyle.End.Margin ?? 0) != 0) if ((docstyle.End.Margin ?? 0) != 0)
{ {
xpos = (float)docstyle.Layout.LeftMargin + (float)docstyle.End.Margin; xpos = (float)docstyle.Layout.LeftMargin + (float)docstyle.End.Margin;
@ -2397,12 +2397,12 @@ namespace Volian.Print.Library
if (MyItemInfo.MyDocStyle.SectTop != null && MyItemInfo.MyDocStyle.SectTop.Message != null) if (MyItemInfo.MyDocStyle.SectTop != null && MyItemInfo.MyDocStyle.SectTop.Message != null)
{ {
float sectMsgY = 0; float sectMsgY = 0;
if (PartsContainer == null || PartsContainer.Count==0) if (PartsContainer == null || PartsContainer.Count == 0)
sectMsgY = CalculateYLocation(YTop, yTopMargin); sectMsgY = CalculateYLocation(YTop, yTopMargin);
else else
{ {
// B2016-134: Account for section top continue if item has container, i.e. move section top continue message above the container // B2016-134: Account for section top continue if item has container, i.e. move section top continue message above the container
sectMsgY = CalculateYLocation(YTopMost-(SixLinesPerInch*3), yTopMargin); // 3 is # of lines: header, box, blank line moving up page sectMsgY = CalculateYLocation(YTopMost - (SixLinesPerInch * 3), yTopMargin); // 3 is # of lines: header, box, blank line moving up page
addextra = true; addextra = true;
} }
VE_Font sctMsgFont = MyItemInfo.MyDocStyle.SectTop.Font; VE_Font sctMsgFont = MyItemInfo.MyDocStyle.SectTop.Font;
@ -2677,7 +2677,7 @@ namespace Volian.Print.Library
useAerParaForTab = MyParent; useAerParaForTab = MyParent;
concataerTab = MyParent.MyTab != null ? MyParent.MyTab.Text.TrimEnd() : ""; concataerTab = MyParent.MyTab != null ? MyParent.MyTab.Text.TrimEnd() : "";
xoffTab = 0; // no rno tab xoffTab = 0; // no rno tab
xoffMsg = ToInt(MyItemInfo.ActiveFormat.MyStepSectionLayoutData.ColRTable, 1) + (float)MyItemInfo.MyDocStyle.Layout.LeftMargin + ((useAerParaForTab != null && useAerParaForTab.MyTab!=null) ? useAerParaForTab.MyTab.Width : 7.2f); xoffMsg = ToInt(MyItemInfo.ActiveFormat.MyStepSectionLayoutData.ColRTable, 1) + (float)MyItemInfo.MyDocStyle.Layout.LeftMargin + ((useAerParaForTab != null && useAerParaForTab.MyTab != null) ? useAerParaForTab.MyTab.Width : 7.2f);
} }
else else
{ {
@ -2779,7 +2779,7 @@ namespace Volian.Print.Library
{ // Adjusted Continue Message Y Offset { // Adjusted Continue Message Y Offset
//DebugPagination.WriteLine("====>> {0},'{1}'", msg_yLocation, MyItemInfo.ShortPath); //DebugPagination.WriteLine("====>> {0},'{1}'", msg_yLocation, MyItemInfo.ShortPath);
//msg_yLocation = (float) MyPageHelper.BottomContent - SixLinesPerInch; // Account for how low the lowest Item is on the page //msg_yLocation = (float) MyPageHelper.BottomContent - SixLinesPerInch; // Account for how low the lowest Item is on the page
float msg_yLocationOld =msg_yLocation= yBottomMargin + (docstyle.Layout.FooterLength ?? 0); float msg_yLocationOld = msg_yLocation = yBottomMargin + (docstyle.Layout.FooterLength ?? 0);
if (MyPageHelper.BottomContent != null) if (MyPageHelper.BottomContent != null)
msg_yLocation = Math.Min(yBottomMargin + (docstyle.Layout.FooterLength ?? 0), (float)MyPageHelper.BottomContent - SixLinesPerInch);// RHM20150525 - Table Scrunch msg_yLocation = Math.Min(yBottomMargin + (docstyle.Layout.FooterLength ?? 0), (float)MyPageHelper.BottomContent - SixLinesPerInch);// RHM20150525 - Table Scrunch
if (msg_yLocationOld != msg_yLocation) if (msg_yLocationOld != msg_yLocation)
@ -2788,7 +2788,7 @@ namespace Volian.Print.Library
break; break;
case E_ContBottomLoc.BtwnTextAndBottom: // place continue string between end of text & bottom of page case E_ContBottomLoc.BtwnTextAndBottom: // place continue string between end of text & bottom of page
msg_yLocation = msg_yLocation + yLocation - ((yLocation - yBottomMargin) / 2); // +SixLinesPerInch; // (need this for IP3) msg_yLocation = msg_yLocation + yLocation - ((yLocation - yBottomMargin) / 2); // +SixLinesPerInch; // (need this for IP3)
msg_yLocation = Math.Max(msg_yLocation, yBottomMargin+SixLinesPerInch); msg_yLocation = Math.Max(msg_yLocation, yBottomMargin + SixLinesPerInch);
break; break;
case E_ContBottomLoc.BottomOfPage: // place continue message at bottom of page 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 = yBottomMargin + 2 * SixLinesPerInch + (float)docstyle.Layout.FooterLength; // 2 lines above bottom margin
@ -3093,7 +3093,7 @@ namespace Volian.Print.Library
// from the beginning of the step. // from the beginning of the step.
// Note that yLocation is negative to have items in descending // Note that yLocation is negative to have items in descending
// order so that adding yTop decrements their values. // order so that adding yTop decrements their values.
if(!myList[stepLevel].ContainsKey(yTop - yLocation)) if (!myList[stepLevel].ContainsKey(yTop - yLocation))
myList[stepLevel].Add(yTop - yLocation, para); myList[stepLevel].Add(yTop - yLocation, para);
} }
if (myList[stepLevel].Count == 0) if (myList[stepLevel].Count == 0)
@ -3276,7 +3276,7 @@ namespace Volian.Print.Library
// if this is a Note or Caution off of a Note or Caution (Catawba EG/1A/CSAM/SACGR1 step 1) // if this is a Note or Caution off of a Note or Caution (Catawba EG/1A/CSAM/SACGR1 step 1)
// then indent it the length of its tab // then indent it the length of its tab
if (itemInfo.IsCaution || itemInfo.IsNote) if (itemInfo.IsCaution || itemInfo.IsNote)
XOffset += (itemInfo.FormatStepData.TabData.IdentPrint.Length -1) * 6; XOffset += (itemInfo.FormatStepData.TabData.IdentPrint.Length - 1) * 6;
else else
if (itemInfo.ActiveFormat.MyStepSectionLayoutData.DevNoteOrCautionTabOffset != null) if (itemInfo.ActiveFormat.MyStepSectionLayoutData.DevNoteOrCautionTabOffset != null)
XOffset = float.Parse(itemInfo.ActiveFormat.MyStepSectionLayoutData.DevNoteOrCautionTabOffset); XOffset = float.Parse(itemInfo.ActiveFormat.MyStepSectionLayoutData.DevNoteOrCautionTabOffset);
@ -3455,7 +3455,7 @@ namespace Volian.Print.Library
XOffset += diff; XOffset += diff;
adjustAgain = false; adjustAgain = false;
} }
else if(mytab != null) else if (mytab != null)
{ {
float adjusttab = (itemInfo.MyParent.IsHigh) ? itemInfo.FormatStepData.AdjHighLevelTab ?? 0 : 0; float adjusttab = (itemInfo.MyParent.IsHigh) ? itemInfo.FormatStepData.AdjHighLevelTab ?? 0 : 0;
mytab.XOffset += (mytab.Width + adjusttab); mytab.XOffset += (mytab.Width + adjusttab);
@ -3471,11 +3471,11 @@ namespace Volian.Print.Library
if (itemInfo.IsCautionOrNotePart && maxRNO == 0 && itemInfo.MyActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.LimitCautionNoteWidthToHLS) if (itemInfo.IsCautionOrNotePart && maxRNO == 0 && itemInfo.MyActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.LimitCautionNoteWidthToHLS)
{ {
float wMax = MyHighLevelParagraph.Width + MyHighLevelParagraph.XOffset - XOffset; float wMax = MyHighLevelParagraph.Width + MyHighLevelParagraph.XOffset - XOffset;
if (wMax < Width && (Width + XOffset > MyItemInfo.MyDocStyle.Layout.PageWidth) ) Width = wMax; if (wMax < Width && (Width + XOffset > MyItemInfo.MyDocStyle.Layout.PageWidth)) Width = wMax;
} }
} }
if (itemInfo.IsSection && MyParent == null && itemInfo.MyDocStyle.SupplementalInformation && MyPromsPrinter.SupInfoPrintType==E_SupInfoPrintType.Merge) if (itemInfo.IsSection && MyParent == null && itemInfo.MyDocStyle.SupplementalInformation && MyPromsPrinter.SupInfoPrintType == E_SupInfoPrintType.Merge)
{ {
_SupInfoSection = new vlnParagraph(this, cb, itemInfo, xoff, yoff, rnoLevel, maxRNO, formatInfo, null, null, yoffRightParent, false, pp); _SupInfoSection = new vlnParagraph(this, cb, itemInfo, xoff, yoff, rnoLevel, maxRNO, formatInfo, null, null, yoffRightParent, false, pp);
MyPromsPrinter.SupInfoPdfPageCount = -1; MyPromsPrinter.SupInfoPdfPageCount = -1;
@ -3509,7 +3509,7 @@ namespace Volian.Print.Library
} }
if (itemInfo.MyHeader != null && itemInfo.MyHeader.Text != null && !doSectTab) if (itemInfo.MyHeader != null && itemInfo.MyHeader.Text != null && !doSectTab)
yoff += SetHeader(this, cb, itemInfo, formatInfo); yoff += SetHeader(this, cb, itemInfo, formatInfo);
else if(itemInfo.FormatStepData != null && itemInfo.FormatStepData.SeparateBox && itemInfo.FirstSibling.MyHeader != null && itemInfo.FirstSibling.MyHeader.Text != null) else if (itemInfo.FormatStepData != null && itemInfo.FormatStepData.SeparateBox && itemInfo.FirstSibling.MyHeader != null && itemInfo.FirstSibling.MyHeader.Text != null)
yoff += SetHeader(this, cb, itemInfo.FirstSibling, formatInfo); yoff += SetHeader(this, cb, itemInfo.FirstSibling, formatInfo);
float yoffLeft = yoff; float yoffLeft = yoff;
if (ChildrenAbove != null) if (ChildrenAbove != null)
@ -3521,7 +3521,7 @@ namespace Volian.Print.Library
// For deviations, the Cautions are always in the same place. // For deviations, the Cautions are always in the same place.
// Fix for Catawba E-1 deviation for step 10. Has note/caution off of a paragraph instead of HLS // Fix for Catawba E-1 deviation for step 10. Has note/caution off of a paragraph instead of HLS
float xoffDev = (float)itemInfo.MyDocStyle.Layout.LeftMargin; float xoffDev = (float)itemInfo.MyDocStyle.Layout.LeftMargin;
if(loadChildren) yoffLeft = ChildrenLeft.Add(cb, itemInfo.Cautions, xoff, yoff, yoff, rnoLevel, maxRNO, formatInfo); if (loadChildren) yoffLeft = ChildrenLeft.Add(cb, itemInfo.Cautions, xoff, yoff, yoff, rnoLevel, maxRNO, formatInfo);
} }
else else
{ {
@ -3652,11 +3652,11 @@ namespace Volian.Print.Library
{ {
// We need to strip out the underline style from the font before putting out // We need to strip out the underline style from the font before putting out
// the extra line. // the extra line.
VE_Font vf=MyItemInfo.FormatStepData.Font; VE_Font vf = MyItemInfo.FormatStepData.Font;
E_Style sty = (E_Style)vf.Style; E_Style sty = (E_Style)vf.Style;
if ((sty & E_Style.Underline) != 0) if ((sty & E_Style.Underline) != 0)
sty ^= E_Style.Underline; sty ^= E_Style.Underline;
vf = new VE_Font(vf.Family, (int) vf.Size, sty,(float) vf.CPI); vf = new VE_Font(vf.Family, (int)vf.Size, sty, (float)vf.CPI);
this.PartsAbove.Add(new vlnText(cb, this, " ", " ", 72, yoff, vf)); this.PartsAbove.Add(new vlnText(cb, this, " ", " ", 72, yoff, vf));
} }
@ -4227,7 +4227,7 @@ namespace Volian.Print.Library
// how 16bit proms did this). The following use of yadjSep and YBottomForBox handle that // how 16bit proms did this). The following use of yadjSep and YBottomForBox handle that
float yadjSep = (MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex != null && MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex >= 0 && float yadjSep = (MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex != null && MyItemInfo.MyHLS.FormatStepData.StepLayoutData.STBoxindex >= 0 &&
MyItemInfo.MyHLS.RNOs != null && MyItemInfo.MyHLS.RNOs.Count > 0) ? 2 * SixLinesPerInch : 0; MyItemInfo.MyHLS.RNOs != null && MyItemInfo.MyHLS.RNOs.Count > 0) ? 2 * SixLinesPerInch : 0;
vlnRNOSeparator myRnoSep = new vlnRNOSeparator(this, cb, tmpRnoSepStr, xsep, yoff+yadjSep, formatInfo, bottomChild == null ? true : bottomChild.MyItemInfo.HasChangeBar); vlnRNOSeparator myRnoSep = new vlnRNOSeparator(this, cb, tmpRnoSepStr, xsep, yoff + yadjSep, formatInfo, bottomChild == null ? true : bottomChild.MyItemInfo.HasChangeBar);
// TODO: May need to handle more than one RNO column for RNO Separator // TODO: May need to handle more than one RNO column for RNO Separator
if ((rno.LastRNO.MyItemInfo.HasChangeBar == false && bottomChild != null && bottomChild.MyItemInfo.HasChangeBar) if ((rno.LastRNO.MyItemInfo.HasChangeBar == false && bottomChild != null && bottomChild.MyItemInfo.HasChangeBar)
|| (bottomChild != null && bottomChild.YBottom > rno.LastRNO.YBottomMost)) || (bottomChild != null && bottomChild.YBottom > rno.LastRNO.YBottomMost))
@ -4258,7 +4258,7 @@ namespace Volian.Print.Library
if ((MyItemInfo.IsHigh || MyItemInfo.IsCaution1) && MyItemInfo.MyDocStyle.LandscapePageList && MyItemInfo.MyDocStyle.ComponentList) if ((MyItemInfo.IsHigh || MyItemInfo.IsCaution1) && MyItemInfo.MyDocStyle.LandscapePageList && MyItemInfo.MyDocStyle.ComponentList)
{ {
// put out line after step (for BGEVLV format) // put out line after step (for BGEVLV format)
float macroY = YBottomMost-(0.25f * SixLinesPerInch); float macroY = YBottomMost - (0.25f * SixLinesPerInch);
PartsLeft.Add(new vlnMacro((float)MyItemInfo.MyDocStyle.Layout.LeftMargin, macroY, "B9")); PartsLeft.Add(new vlnMacro((float)MyItemInfo.MyDocStyle.Layout.LeftMargin, macroY, "B9"));
} }
@ -4308,12 +4308,12 @@ namespace Volian.Print.Library
int end = ai.SearchText.IndexOf("]"); int end = ai.SearchText.IndexOf("]");
if (st != -1 && end != -1 && end > st) if (st != -1 && end != -1 && end > st)
{ {
string pref = ai.SearchText.Substring(st+1, end - st - 1); // annotation - parse out [xx] string pref = ai.SearchText.Substring(st + 1, end - st - 1); // annotation - parse out [xx]
pref = Regex.Replace(pref,"{Up}",@"\u8593?", RegexOptions.IgnoreCase); pref = Regex.Replace(pref, "{Up}", @"\u8593?", RegexOptions.IgnoreCase);
pref = Regex.Replace(pref,"{Down}",@"\u8595?", RegexOptions.IgnoreCase); pref = Regex.Replace(pref, "{Down}", @"\u8595?", RegexOptions.IgnoreCase);
float xPref = atc.PrintableText_XLocation; float xPref = atc.PrintableText_XLocation;
if(AnnotationFont==null) if (AnnotationFont == null)
AnnotationFont = new VE_Font(_MyItemInfo.FormatStepData.Font.Family,6,(E_Style)_MyItemInfo.FormatStepData.Font.Style,20F); AnnotationFont = new VE_Font(_MyItemInfo.FormatStepData.Font.Family, 6, (E_Style)_MyItemInfo.FormatStepData.Font.Style, 20F);
PartsLeft.Add(new vlnText(cb, this, pref, pref, xPref, yoff, AnnotationFont)); PartsLeft.Add(new vlnText(cb, this, pref, pref, xPref, yoff, AnnotationFont));
break; break;
} }
@ -4431,7 +4431,7 @@ namespace Volian.Print.Library
spFound = false; spFound = false;
} }
results.Add(responsStr.Substring(start, lastspace - start).Trim(" ".ToCharArray()) + "\r\n"); results.Add(responsStr.Substring(start, lastspace - start).Trim(" ".ToCharArray()) + "\r\n");
start = lastspace + (spFound?1:0); // increment start based on whether a space is found, i.e. if no space keep at 'indx' start = lastspace + (spFound ? 1 : 0); // increment start based on whether a space is found, i.e. if no space keep at 'indx'
// width either is equal to width of text after the last space, or is zero if at the maxlen of width: // width either is equal to width of text after the last space, or is zero if at the maxlen of width:
width = (indx - lastspace - 1) > 0 ? indx - lastspace - 1 : 0; width = (indx - lastspace - 1) > 0 ? indx - lastspace - 1 : 0;
lastspace = 0; lastspace = 0;
@ -4447,7 +4447,7 @@ namespace Volian.Print.Library
{ {
get get
{ {
if(_Rtf == null)BuildRtf(); if (_Rtf == null) BuildRtf();
return _Rtf; return _Rtf;
} }
set { _Rtf = value; } set { _Rtf = value; }
@ -4903,7 +4903,7 @@ namespace Volian.Print.Library
// In lines below, the 12 was used for Wolf Creek 2 column format, the pagewidth goes beyond the right border line so that // In lines below, the 12 was used for Wolf Creek 2 column format, the pagewidth goes beyond the right border line so that
// the tables, figures & equations were beyond the border. -12 takes it enough so that if boxed, it won't print out of border // the tables, figures & equations were beyond the border. -12 takes it enough so that if boxed, it won't print out of border
// We know this is not ideal. // We know this is not ideal.
if (MyItemInfo.IsRtfRaw && (XOffset + (scale * Width) > xUpperLimit-12)) if (MyItemInfo.IsRtfRaw && (XOffset + (scale * Width) > xUpperLimit - 12))
XOffset = xUpperLimit - (scale * Width) - 12; XOffset = xUpperLimit - (scale * Width) - 12;
if (!MyItemInfo.IsRtfRaw && XOffset + Width > xUpperLimit) if (!MyItemInfo.IsRtfRaw && XOffset + Width > xUpperLimit)
XOffset = xUpperLimit - Width; XOffset = xUpperLimit - Width;
@ -4964,7 +4964,7 @@ namespace Volian.Print.Library
{ {
float macroXOffset = myMacro.MacroXOffSet ?? 0; float macroXOffset = myMacro.MacroXOffSet ?? 0;
float widthAdj = myMacro.SingleColWidthAdjust ?? 0; // set as negative number in format float widthAdj = myMacro.SingleColWidthAdjust ?? 0; // set as negative number in format
float rightTextEdge = (itemInfo.IsHigh)? XOffset + Width + mytab.XOffset:this.MyHighLevelParagraph.XOffset + this.MyHighLevelParagraph.Width; float rightTextEdge = (itemInfo.IsHigh) ? XOffset + Width + mytab.XOffset : this.MyHighLevelParagraph.XOffset + this.MyHighLevelParagraph.Width;
x = (macroXOffset > 0) ? macroXOffset : rightTextEdge; x = (macroXOffset > 0) ? macroXOffset : rightTextEdge;
if (rightTextEdge > x) if (rightTextEdge > x)
Width += widthAdj; Width += widthAdj;
@ -5014,7 +5014,7 @@ namespace Volian.Print.Library
chgIdTxt = sc == null ? null : sc.Step_ChangeID; chgIdTxt = sc == null ? null : sc.Step_ChangeID;
} }
if (myPageHelper.ChangeBarDefinition.MyChangeBarText == PrintChangeBarText.ChgID) if (myPageHelper.ChangeBarDefinition.MyChangeBarText == PrintChangeBarText.ChgID)
cbMess = chgIdTxt!=null?chgIdTxt:itemInfo.MyContent.UserID; cbMess = chgIdTxt != null ? chgIdTxt : itemInfo.MyContent.UserID;
else if (myPageHelper.ChangeBarDefinition.MyChangeBarText == PrintChangeBarText.DateChgID) else if (myPageHelper.ChangeBarDefinition.MyChangeBarText == PrintChangeBarText.DateChgID)
{ {
string fmtDate = itemInfo.MyContent.DTS.ToShortDateString(); string fmtDate = itemInfo.MyContent.DTS.ToShortDateString();
@ -5025,7 +5025,7 @@ namespace Volian.Print.Library
if (fmtDate.IndexOf("/", 3) == 1) if (fmtDate.IndexOf("/", 3) == 1)
fmtDate = fmtDate.Substring(0, 3) + "0" + fmtDate.Substring(3, fmtDate.Length - 3); fmtDate = fmtDate.Substring(0, 3) + "0" + fmtDate.Substring(3, fmtDate.Length - 3);
} }
cbMess = (chgIdTxt!=null?chgIdTxt:itemInfo.MyContent.UserID) + @"\n" + fmtDate; cbMess = (chgIdTxt != null ? chgIdTxt : itemInfo.MyContent.UserID) + @"\n" + fmtDate;
} }
else if (myPageHelper.ChangeBarDefinition.MyChangeBarText == PrintChangeBarText.RevNum) else if (myPageHelper.ChangeBarDefinition.MyChangeBarText == PrintChangeBarText.RevNum)
{ {
@ -5088,7 +5088,7 @@ namespace Volian.Print.Library
if (bxCautNote != null) if (bxCautNote != null)
rightEdge = (float)bxCautNote.End + 10; // used for notes and cautions in the Prairie Island Alarms format rightEdge = (float)bxCautNote.End + 10; // used for notes and cautions in the Prairie Island Alarms format
rightEdge = rightEdge / paragraph.MyItemInfo.FormatStepData.Font.CharsToTwips; rightEdge = rightEdge / paragraph.MyItemInfo.FormatStepData.Font.CharsToTwips;
return MyItemInfo.IsFigure?rightEdge+1:rightEdge; // B2017-111: Add a little more space between figure & change bar return MyItemInfo.IsFigure ? rightEdge + 1 : rightEdge; // B2017-111: Add a little more space between figure & change bar
} }
if (fixedChgCol < -10 || fixedChgCol >= 0) if (fixedChgCol < -10 || fixedChgCol >= 0)
return ((fixedChgCol > 0) ? fixedChgCol : return ((fixedChgCol > 0) ? fixedChgCol :
@ -5134,7 +5134,7 @@ namespace Volian.Print.Library
{ {
int profileDepth = ProfileTimer.Push(">>>> GetRtf"); int profileDepth = ProfileTimer.Push(">>>> GetRtf");
_RtfSB = new StringBuilder(); _RtfSB = new StringBuilder();
DisplayText vlntxt = new DisplayText(itemInfo, E_EditPrintMode.Print, E_ViewMode.View, true, E_FieldToEdit.StepText, false, prefix, suffix,MyPageHelper.MyPromsPrinter.RemoveTrailingHardReturnsAndManualPageBreaks); DisplayText vlntxt = new DisplayText(itemInfo, E_EditPrintMode.Print, E_ViewMode.View, true, E_FieldToEdit.StepText, false, prefix, suffix, MyPageHelper.MyPromsPrinter.RemoveTrailingHardReturnsAndManualPageBreaks);
System.Drawing.Font myFont = vlntxt.TextFont.WindowsFont; System.Drawing.Font myFont = vlntxt.TextFont.WindowsFont;
if (!itemInfo.IsTable && StepRTB.MyFontFamily != null) if (!itemInfo.IsTable && StepRTB.MyFontFamily != null)
// follow through in fixing an Out of Window Handles bug, use new function to see if // follow through in fixing an Out of Window Handles bug, use new function to see if
@ -5603,7 +5603,7 @@ namespace Volian.Print.Library
{ {
//Adjust Indent for Wolf Creek Background format flag //Adjust Indent for Wolf Creek Background format flag
float indentBG2 = itemInfo.IsPartOfBackgroundStep() ? itemInfo.FormatStepData.Font.CharsToTwips * 2 : 0; float indentBG2 = itemInfo.IsPartOfBackgroundStep() ? itemInfo.FormatStepData.Font.CharsToTwips * 2 : 0;
XOffset = childindent + MyParent.XOffset+ indentBG2;//(itemInfo.FormatStepData.Font.CharsToTwips * 2); XOffset = childindent + MyParent.XOffset + indentBG2;//(itemInfo.FormatStepData.Font.CharsToTwips * 2);
// B2016-164: Added the following 'if' so that the width is not recalculated if in the alarm format & the parent has a template // B2016-164: Added the following 'if' so that the width is not recalculated if in the alarm format & the parent has a template
// B2016-168: The fix for 164 broke deviation document printing. The if statement was fixed for both: // B2016-168: The fix for 164 broke deviation document printing. The if statement was fixed for both:
if (!itemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertAlarm || !UseTemplateWidthOrXOff(itemInfo.MyParent)) if (!itemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertAlarm || !UseTemplateWidthOrXOff(itemInfo.MyParent))
@ -5896,10 +5896,10 @@ namespace Volian.Print.Library
} }
private bool PreviousIsTitleWithTextBelow(ItemInfo itemInfo) private bool PreviousIsTitleWithTextBelow(ItemInfo itemInfo)
{ {
while(itemInfo.MyPrevious != null) while (itemInfo.MyPrevious != null)
{ {
if (itemInfo.MyPrevious.FormatStepData.Type == "TitleWithTextBelow") return true; if (itemInfo.MyPrevious.FormatStepData.Type == "TitleWithTextBelow") return true;
itemInfo=itemInfo.MyPrevious; itemInfo = itemInfo.MyPrevious;
} }
return false; return false;
} }
@ -6094,7 +6094,7 @@ namespace Volian.Print.Library
XOffset += mycolT; // adjust caution/note text position XOffset += mycolT; // adjust caution/note text position
if (PartsLeft != null && PartsLeft.Count > 0)// adjust tab position if (PartsLeft != null && PartsLeft.Count > 0)// adjust tab position
{ {
if(myTab!=null && (itemInfo.IsNote || itemInfo.IsCaution)) if (myTab != null && (itemInfo.IsNote || itemInfo.IsCaution))
Width -= myTab.Width; Width -= myTab.Width;
foreach (vlnPrintObject vpo in PartsLeft) foreach (vlnPrintObject vpo in PartsLeft)
vpo.XOffset += mycolT; vpo.XOffset += mycolT;
@ -6142,7 +6142,7 @@ namespace Volian.Print.Library
} }
else if (itemInfo.MyParent.IsCaution || itemInfo.MyParent.IsNote) else if (itemInfo.MyParent.IsCaution || itemInfo.MyParent.IsNote)
{ {
if(itemInfo.ActiveFormat.MyStepSectionLayoutData.DevNoteOrCautionTabOffset != null) if (itemInfo.ActiveFormat.MyStepSectionLayoutData.DevNoteOrCautionTabOffset != null)
Width = MyParent.MyParent.Width - tabWidth + (myTab == null ? 0 : myTab.TabAlign); Width = MyParent.MyParent.Width - tabWidth + (myTab == null ? 0 : myTab.TabAlign);
else else
Width = MyParent.Width - tabWidth + (myTab == null ? 0 : myTab.TabAlign); Width = MyParent.Width - tabWidth + (myTab == null ? 0 : myTab.TabAlign);
@ -6172,7 +6172,7 @@ namespace Volian.Print.Library
if (((itemInfo.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_SameXOffSubsections) == E_DocStructStyle.DSS_SameXOffSubsections)) if (((itemInfo.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_SameXOffSubsections) == E_DocStructStyle.DSS_SameXOffSubsections))
{ {
// don't adjust the width if there already was an adjustment for checkoffs - for VCB only (F2016-039) // don't adjust the width if there already was an adjustment for checkoffs - for VCB only (F2016-039)
if (!(itemInfo.ActiveFormat.Name.ToUpper().StartsWith("VCB")&&coadj)) if (!(itemInfo.ActiveFormat.Name.ToUpper().StartsWith("VCB") && coadj))
adjwidth = MyTab != null ? -MyTab.Width : 0; adjwidth = MyTab != null ? -MyTab.Width : 0;
} }
else if (sd.UseMetaSections) else if (sd.UseMetaSections)