diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index 458cd4fc..b9ba7b35 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -268,7 +268,7 @@ namespace Volian.Print.Library // F2021-038: SHE/SHEA format - Less space after boxes if (didSeparateBoxChgYAdjust && childItemInfo.IsStep && childItemInfo.FormatStepData.NoYBxAdjust) yoff -= vlnPrintObject.SixLinesPerInch; int ln = 1; // a format flag determines whether there is a space before the note/caution. - //if (childItemInfo.FormatStepData.OneLineBeforeTab) ln++; + //if (childItemInfo.FormatStepData.OneLineBeforeTab) ln++; if (childItemInfo.MixCautionNotesDiffType()) ln += 2; box.YOffset = yoff + ((ln - 1) * vlnPrintObject.SixLinesPerInch); if (childItemInfo.FormatStepData.OneLineBeforeTab) ln++; @@ -419,9 +419,9 @@ namespace Volian.Print.Library if (box != null && box.MyBox != null) { box.Height = yoff - box.YOffset; // new height, with children - // C2017-024 Wolf Creek wanted a hold point with out text and no extra blank lines in the caution/note box - // so if they put only a hard space in for the text, then we will print the note/caution box with only the tab text - // B2018-077 added check for parts under the note (ex. a table off of the note text) fix for Calvert OI-27B 6.11.B and 6.12.B + // C2017-024 Wolf Creek wanted a hold point with out text and no extra blank lines in the caution/note box + // so if they put only a hard space in for the text, then we will print the note/caution box with only the tab text + // B2018-077 added check for parts under the note (ex. a table off of the note text) fix for Calvert OI-27B 6.11.B and 6.12.B if (box.MyParent.MyItemInfo.MyContent.Text.StartsWith(@"\u160?") && box.MyParent.MyItemInfo.DisplayText.Length == 1 && box.MyParent.MyItemInfo.MyContent.ContentPartCount == 0) { box.Height -= 3 * vlnPrintObject.SixLinesPerInch; @@ -765,8 +765,8 @@ namespace Volian.Print.Library int countLine = 0; string preSuf_Fix = (ii.FormatStepData.Prefix != null && ii.FormatStepData.Prefix != "") ? ii.FormatStepData.Prefix : null; if (preSuf_Fix != null) countLine++; // account for a line of prefix (if no \par) - // if this is a proportional font, need to 'draw' the prefix/suffix. NOTE that the suffix should - // just list the headers and the prefix can be 'empty'. + // if this is a proportional font, need to 'draw' the prefix/suffix. NOTE that the suffix should + // just list the headers and the prefix can be 'empty'. if (ii.FormatStepData.Font.FontIsProportional()) { float yLocVertLine = yLocation + (lpi * 1.5F); // +(lpi / 2); @@ -959,7 +959,7 @@ namespace Volian.Print.Library //if (MyItemInfo.InList(11019,11024,111026)) // RHM20150507 Table Scrunch // Console.WriteLine("here"); float heightBefore = (MyGrid.Height + 4) * MyPageHelper.YMultiplier; // B2020-014 added parenthesis was calculating wrong for 7lpi Callaway FSG-7 Attachment 7 - // B2018-033 Account for bottom continue message when seeing if a scrunched table will fit + // B2018-033 Account for bottom continue message when seeing if a scrunched table will fit float ySizeBtmCtnMess = GetBottomContinueMessageSize(MyItemInfo.MyDocStyle); // B2018-085 Ignore the bottom continue message if the Table is the last part of the step. if (ySizeBtmCtnMess > 0 && MyParent.MyItemInfo.IsHigh && YBottomMost == MyParent.YBottomMost) ySizeBtmCtnMess = 0; @@ -974,7 +974,7 @@ namespace Volian.Print.Library MyPageHelper.TableAdjustment += (heightBefore - heightAfter); MyPageHelper.AdjustedTable = this; // B2020-059 - save the information of the table that is being compressed (used in RTF2PDF.cs TextAt()) MyPageHelper.AdjustedTableYtop = yLocation; // B2020-059 save the top location of the compressed table (used in RTF2PDF.cs TextAt()) - //B2018-092 Determine if the Table is too big by checking it including either 6 LPI or 7 LPI as appropriate + // B2018-092 Determine if the Table is too big by checking it including either 6 LPI or 7 LPI as appropriate if (heightAfter * MyPageHelper.YMultiplier < (yLocation - yBottomMargin - ySizeBtmCtnMess)) { // B2018-081 - Removed error log message if the code was able to properly adjust the table @@ -1122,11 +1122,11 @@ namespace Volian.Print.Library if (MyItemInfo.MyContent.Text.ToUpper().Contains("LINK:TR") && MyItemInfo.MyContent.ContentTransitionCount == 0) Console.WriteLine("Missing Transition {0}", MyItemInfo.ItemID); chk1.SetLocalDestination(string.Format("ItemID={0}", MyItemInfo.ItemID)); // Destination - // B2019-052: If multiple ROs/Transitions within a step, each should have a their own link rather than all linking to same thing. - // Note the pdf link code that was here was moved to Rtf2iTextSharp.cs in DoVisitText so that each 'chunk' could have a link. - // The code that remained here was the code that marks the destination for each step & the code that does the pdf links for - // enhanced steps. - // Also, the method GetDefaultItemInfo was moved to Rtf2iTextSharp.cs also - it was only called from code that was moved. + // B2019-052: If multiple ROs/Transitions within a step, each should have a their own link rather than all linking to same thing. + // Note the pdf link code that was here was moved to Rtf2iTextSharp.cs in DoVisitText so that each 'chunk' could have a link. + // The code that remained here was the code that marks the destination for each step & the code that does the pdf links for + // enhanced steps. + // Also, the method GetDefaultItemInfo was moved to Rtf2iTextSharp.cs also - it was only called from code that was moved. StepConfig sc = new StepConfig(MyItemInfo.MyContent.Config); DVEnhancedDocuments dveds = MyItemInfo.MyDocVersion.DocVersionConfig.MyEnhancedDocuments; @@ -1208,7 +1208,7 @@ namespace Volian.Print.Library int fontStyle = 0; bool underline = false; if (pi == null) // The header for the signoffs is missing in the current section format. - // An Example can currently be found in Calvert OI-34 + // An Example can currently be found in Calvert OI-34 { if (!MissingInitials) // Only show this once. { @@ -1454,9 +1454,9 @@ namespace Volian.Print.Library private void ResetDocStyleAndValues(ref float yTopMargin, ref float yBottomMargin) { float _PointsPerPage = PDFPageSize.PaperSizePoints(MyItemInfo.ActiveFormat.PlantFormat.FormatData.PDFPageSize.PaperSize); // C2020-002 paper size is now set in the format files - // if this document style has another style that is for pages other than first, we need to - // reset the document style off of this section AND reset docstyle values used. - // C2018-003 fixed use of getting the active section + // if this document style has another style that is for pages other than first, we need to + // reset the document style off of this section AND reset docstyle values used. + // C2018-003 fixed use of getting the active section if (MyItemInfo.ActiveSection != null && (MyItemInfo.ActiveSection.MyDocStyle.StructureStyle.Where & E_DocStyleUse.UseOnFirstPage) > 0) { ItemInfo ii = (ItemInfo)MyItemInfo.ActiveSection; @@ -1501,9 +1501,9 @@ namespace Volian.Print.Library ItemInfo itemInfo = tmp; if (itemInfo.IsCautionOrNotePart) itemInfo = itemInfo.ActiveParent as ItemInfo; // if caution/note get to its associated step itemInfo = itemInfo.ActiveParent as ItemInfo; // don't want this one in the combined tab, start at parent - // B2018-084: continue message had bullets in it that didn't have correct font. The message should not have had bullets at - // all - in the following line, there was an 'if' rather than a 'while' - go up parents until find the correct step type - // don't just go up 1 level. + // B2018-084: continue message had bullets in it that didn't have correct font. The message should not have had bullets at + // all - in the following line, there was an 'if' rather than a 'while' - go up parents until find the correct step type + // don't just go up 1 level. while (!itemInfo.IsHigh && !itemInfo.IsSequential && !itemInfo.IsSection) itemInfo = itemInfo.ActiveParent as ItemInfo; string prTab = ""; string thisTab = itemInfo.MyTab.CleanText.Trim(); @@ -2082,8 +2082,8 @@ namespace Volian.Print.Library YTopMost = OutputOtherPageSteps(cb, YTopMost, yPageStart, yTopMargin, yBottomMargin); if (MyPageHelper.NotesToFootNotes != null && MyPageHelper.NotesToFootNotes.Count > 0) MyPageHelper.NotesToFootNotesYoffset = CalculateYLocation(yLocation, yTopMargin); MyPromsPrinter.NewPage(); // HLS (7 lpi) breakif (MyItemInfo.IsSection) - //_MyLog.InfoFormat("NewPage 12 {0}", cb.PdfWriter.CurrentPageNumber); - //Console.WriteLine("'b3',{0},'{1}',{2},{3},{4},{5},{6}", MyItemInfo.ItemID, MyItemInfo.ShortPath, yTopMargin, yPageStart, yLocation, YTopMost, YOffset); + // _MyLog.InfoFormat("NewPage 12 {0}", cb.PdfWriter.CurrentPageNumber); + // Console.WriteLine("'b3',{0},'{1}',{2},{3},{4},{5},{6}", MyItemInfo.ItemID, MyItemInfo.ShortPath, yTopMargin, yPageStart, yLocation, YTopMost, YOffset); ResetDocStyleAndValues(ref yTopMargin, ref yBottomMargin); //Console.WriteLine("'a3',{0},'{1}',{2},{3},{4},{5},{6}", MyItemInfo.ItemID, MyItemInfo.ShortPath, yTopMargin, yPageStart, yLocation, YTopMost, YOffset); DebugText.WriteLine("Paginate3"); @@ -2157,8 +2157,8 @@ namespace Volian.Print.Library { vlnParagraph sectContPara; string contMsg = (MyItemInfo.ActiveSection != null) ? MyItemInfo.ActiveSection.MyDocStyle.Continue.SectionTitle.AppendToTitle : ""; // C2018-003 fixed use of getting the active section - // For Calvert, the xoffset will be the highest level sections xoffset (there are metasections, - // don't use their xoffset or the continue message is indented too much) + // For Calvert, the xoffset will be the highest level sections xoffset (there are metasections, + // don't use their xoffset or the continue message is indented too much) if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert) { float secContinueTabXoff = (float)MyItemInfo.MyDocStyle.Layout.LeftMargin; @@ -2281,7 +2281,7 @@ namespace Volian.Print.Library // is a single column section. //bool _skipEndMessage = MyPageHelper.MySection.SectionConfig.Section_ColumnMode == SectionConfig.SectionColumnMode.One && !MyItemInfo.ActiveFormat.MyStepSectionLayoutData.EndForSingle; SectionInfo si = MyItemInfo.ActiveSection as SectionInfo; // C2018-003 fixed use of getting the active section - // B2017-201 if si is null we need to get it via the ItemID + // B2017-201 if si is null we need to get it via the ItemID if (si == null) si = SectionInfo.Get(MyItemInfo.MyActiveSection.ItemID); // MyActiveSection does not try to resolve anything - ActiveSection is call above and will resolve and set MyActiveSection bool _skipEndMessage = (si == null || si.SectionConfig.Section_ColumnMode == SectionConfig.SectionColumnMode.One) && !MyItemInfo.ActiveFormat.MyStepSectionLayoutData.EndForSingle; @@ -2668,8 +2668,8 @@ namespace Volian.Print.Library int istr = 0; int Rsidx = 0; MyPageHelper.TopMessageRs.Add(vpo as vlnText); // this appends a previous step designator associated with this sub-step (there may be more than one and/or might have multiple lines) - // we are processing the step designator on the top continue message in reverse order - // we therefore need to adjust the y location of multiple step designors attached tothe top continue message + // we are processing the step designator on the top continue message in reverse order + // we therefore need to adjust the y location of multiple step designors attached tothe top continue message if (MyPageHelper.TopMessageRs.Count > 3) { Rsidx = MyPageHelper.TopMessageRs.Count - 1; @@ -2835,7 +2835,7 @@ namespace Volian.Print.Library if ((docstyle.Continue.Top.HLS ?? 0) == 4) { // Vogtle Alarms: Their alarms are set up differently than standard procedures - the HLS in Vogtle - // alarms is a section in other procedures. The top continue message is shown when a break occurs: + // alarms is a section in other procedures. The top continue message is shown when a break occurs: // • A continued message will appear on the top of the page ONLY if the pagination occurs anywhere // within the first level substep. If, for example, the page break occurs between substep 3 and substep // 4 as in example 2, no continued message will appear on the top of the page. @@ -2971,9 +2971,9 @@ namespace Volian.Print.Library float colPos = docstyle.Layout.LeftMargin + docstyle.Continue.Top.Margin ?? 0; if (!docstyle.Continue.Top.PlaceAtLeftMargin) //F2019-033 when true position with respect only to the left margin colPos += XOffsetBox; //XOffsetbox get set when the tables, figures & equations were beyond the border and needed repositioned - // C2019-044 for BNPP, put the top continue message on the same row as the checkoff/signoff heading - // RowOverride specifies the position of the top continue message - // For BNPP, RowOverride is set to the same row as the checkoff header is set to in the pagelist + // C2019-044 for BNPP, put the top continue message on the same row as the checkoff/signoff heading + // RowOverride specifies the position of the top continue message + // For BNPP, RowOverride is set to the same row as the checkoff header is set to in the pagelist if (docstyle.Continue.Top.RowOverride != null) { float adjRowPosition = (float)docstyle.Layout.TopMargin - (float)docstyle.Continue.Top.RowOverride; @@ -3033,12 +3033,12 @@ namespace Volian.Print.Library } switch (docstyle.Continue.Bottom.Location) { - case E_ContBottomLoc.EndOfText: // place continue string at end of text - // msg_yLocation accounts for extra lines in message from docstyle; and BottomContent is the actual - // location of the last line of text on page. - //msg_yLocation = ((float)(MyPageHelper.BottomContent??0) - (SixLinesPerInch * MyPageHelper.YMultiplier)); // B2018-080 null reference check added - // B2019-079 changed yLocaton - msg_yLocation to '+'. The msg_ylocation has an adjustment for adding an extra line by moving down the page, this was moving - // the line up the page (double negative). + case E_ContBottomLoc.EndOfText: // place continue string at end of text + // msg_yLocation accounts for extra lines in message from docstyle; and BottomContent is the actual + // location of the last line of text on page. + // msg_yLocation = ((float)(MyPageHelper.BottomContent??0) - (SixLinesPerInch * MyPageHelper.YMultiplier)); // B2018-080 null reference check added + // B2019-079 changed yLocaton - msg_yLocation to '+'. The msg_ylocation has an adjustment for adding an extra line by moving down the page, this was moving + // the line up the page (double negative). msg_yLocation = yLocation + msg_yLocation - (SixLinesPerInch * MyPageHelper.YMultiplier); //B2019-021 yLocation accounts for checkoffs if (yBottomMargin + (docstyle.Layout.FooterLength ?? 0) > msg_yLocation) { // Adjusted Continue Message Y Offset @@ -3056,9 +3056,9 @@ namespace Volian.Print.Library msg_yLocation = Math.Max(msg_yLocation, yBottomMargin + SixLinesPerInch); break; 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 msg_yLocation = msg_yLocation + yBtmMarginForMsg + (float)docstyle.Layout.FooterLength; - // if (MyPageHelper.YMultiplier != 1.0F) msg_yLocation = msg_yLocation / MyPageHelper.YMultiplier; + // if (MyPageHelper.YMultiplier != 1.0F) msg_yLocation = msg_yLocation / MyPageHelper.YMultiplier; break; case E_ContBottomLoc.BelowBottom1: msg_yLocation = msg_yLocation + yBtmMarginForMsg; @@ -4000,10 +4000,10 @@ namespace Volian.Print.Library if (YOffset != 0 && MyItemInfo.FormatStepData != null && MyItemInfo.MyPrevious == null && MyItemInfo.FormatStepData.ThreeBlanksAbove && (!MyItemInfo.IsNote || MyItemInfo.MyParent.Cautions == null)) addExtraSpace = 24; // already has one blank line above, added two more - //if (YOffset != 0 && MyItemInfo.FormatStepData != null && MyItemInfo.FormatStepData.StepLayoutData.STExtraSpace > 0) - // addExtraSpace = (float)MyItemInfo.FormatStepData.StepLayoutData.STExtraSpace; - // if this plant has the AlwaysUseExtraLines and there are notes/cautions above the hls, don't add in the - // extra space: + // if (YOffset != 0 && MyItemInfo.FormatStepData != null && MyItemInfo.FormatStepData.StepLayoutData.STExtraSpace > 0) + // addExtraSpace = (float)MyItemInfo.FormatStepData.StepLayoutData.STExtraSpace; + // if this plant has the AlwaysUseExtraLines and there are notes/cautions above the hls, don't add in the + // extra space: if (itemInfo.IsHigh && (itemInfo.Cautions != null || itemInfo.Notes != null)) { if ((itemInfo.Cautions != null && itemInfo.Cautions[0].FormatStepData.AlwaysUseExtraLines) || (itemInfo.Notes != null && itemInfo.Notes[0].FormatStepData.AlwaysUseExtraLines)) @@ -4079,7 +4079,7 @@ namespace Volian.Print.Library yoff = YOffset = yoff + (2 * SixLinesPerInch); CheckOff co = itemInfo.GetCheckOffStep(); float yForCheckoff = yoff; //0; - default checkoff row is same as FIRST line of text - // if dropCheckoff is true, then the checkoff is place on the same of row as the LAST line of text + // if dropCheckoff is true, then the checkoff is place on the same of row as the LAST line of text bool dropCheckoff = itemInfo.ActiveFormat.PlantFormat.FormatData.ProcData.CheckOffData.DropCheckOff || (co != null && co.DropCheckOff); if (itemInfo.MyContent.MyGrid != null) @@ -4493,8 +4493,8 @@ namespace Volian.Print.Library //B2020-160 use YTopMost instead of Yoffset if there are children above. // Get the minimun value between the AER and RNO YtopMost. // example. Calvert AOP-7E/XIII/Step A5.h Unit 2 Approved set - //B2021-027 use YOffset if there isn't any children above (AER). - // example: Catawba Unit 1 AP’s; AP/1/A/5500/050; Enclosure 8 step 1 + // B2021-027 use YOffset if there isn't any children above (AER). + // example: Catawba Unit 1 AP's; AP/1/A/5500/050; Enclosure 8 step 1 if (ChildrenAbove.Count == 0) YTopMost = ChildrenRight[0].ChildrenAbove[0].YOffset; //B2021-027 else @@ -4872,7 +4872,7 @@ namespace Volian.Print.Library } 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' - // 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; lastspace = 0; } @@ -5375,8 +5375,8 @@ namespace Volian.Print.Library // two numbers. XOffset -= (XOffset - (XOffset * (float)MyItemInfo.FormatStepData.Font.CPI / 12)); } - XOffset -= 12; // This makes the 16bit & 32bit align very closely. - // if outside of the page margins then center within the page margins + XOffset -= 12; // This makes the 16bit & 32bit align very closely. + // if outside of the page margins then center within the page margins float xOffset2 = (float)itemInfo.MyDocStyle.Layout.LeftMargin; float xWidth2 = (float)itemInfo.MyDocStyle.Layout.PageWidth; if (XOffset + Width > xOffset2 + xWidth2) @@ -5648,7 +5648,7 @@ namespace Volian.Print.Library // if this is a caution or note, put the change bar to the right of the text: //if ((paragraph.MyItemInfo.IsCaution || paragraph.MyItemInfo.IsNote) && fixedChgCol < -10) return -fixedChgCol; if ((fixedChgCol == 0))// && paragraph.MyItemInfo.IsCaution || paragraph.MyItemInfo.IsNote) - //if ((fixedChgCol==0) || paragraph.MyItemInfo.IsCaution || paragraph.MyItemInfo.IsNote) + // if ((fixedChgCol==0) || paragraph.MyItemInfo.IsCaution || paragraph.MyItemInfo.IsNote) { float rightEdge = (paragraph.XOffset + paragraph.Width + 5); rightEdge -= (float)paragraph.MyItemInfo.MyDocStyle.Layout.LeftMargin; @@ -5803,19 +5803,19 @@ namespace Volian.Print.Library xoff = XOffset + (para.Width / 2) + (hdrWidth / 2); // XOffset has left margin included } else - xoff = XOffset; // XOffset has left margin included - // KEEP: This may be needed in the future to fix location of 'OR's when Separator location="0" - // the following code would place the 'OR' at the location of the tab rather than text. This - // is how 16bit was. However, a number of plants had been sent out with the xoffset at the xlocation - // of text (does not match 16bit) when this was found for BGE OI3/OI-1B/6.1.B.4. Previous releases - // went to CAT, MCG, FPL, NSP. - //{ - // if (this.MyTab != null) - // xoff = this.MyTab.XOffset; - // else - // xoff = XOffset; - //} - // B2018-096 AEP 082.002CD Note Box overlapping Step Box + xoff = XOffset; // XOffset has left margin included + // KEEP: This may be needed in the future to fix location of 'OR's when Separator location="0" + // the following code would place the 'OR' at the location of the tab rather than text. This + // is how 16bit was. However, a number of plants had been sent out with the xoffset at the xlocation + // of text (does not match 16bit) when this was found for BGE OI3/OI-1B/6.1.B.4. Previous releases + // went to CAT, MCG, FPL, NSP. + //{ + // if (this.MyTab != null) + // xoff = this.MyTab.XOffset; + // else + // xoff = XOffset; + //} + // B2018-096 AEP 082.002CD Note Box overlapping Step Box vlnHeader myHeader = new vlnHeader(this, cb, itemInfo.MyHeader.Text, itemInfo.MyHeader.CleanText.TrimStart(" ".ToCharArray()), xoff + AdjustHeader + _MyBoxLeftAdj, YOffset, itemInfo.MyHeader.MyFont); PartsAbove.Add(myHeader); //return myHeader.Height + (!MyItemInfo.MyDocStyle.SpecialStepsFoldout || (MyItemInfo.MyDocStyle.ExtraLineHeader && (MyItemInfo.IsCaution || MyItemInfo.IsNote)) ? SixLinesPerInch : 0); @@ -6176,8 +6176,8 @@ namespace Volian.Print.Library } } XOffset += (itemInfo.FormatStepData.Font.CharsToTwips * adj); // indent 2 characters for background steps - // B2018-146 Adjust the width to match the HLS Right Margin. - //if (itemInfo.ActiveFormat.Name.StartsWith("WCN")) -- Not needed since IsBackgroundStep + // B2018-146 Adjust the width to match the HLS Right Margin. + // if (itemInfo.ActiveFormat.Name.StartsWith("WCN")) -- Not needed since IsBackgroundStep Width = this.MyHighLevelParagraph.Width + this.MyHighLevelParagraph.XOffset - this.XOffset; //else // Width -= (itemInfo.FormatStepData.Font.CharsToTwips * adj); // Adjust width by 2 characters @@ -6252,9 +6252,9 @@ namespace Volian.Print.Library //Adjust Indent for Wolf Creek Background format flag float indentBG2 = itemInfo.IsPartOfBackgroundStep() ? itemInfo.FormatStepData.Font.CharsToTwips * 2 : 0; 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-168: The fix for 164 broke deviation document printing. The if statement was fixed for both: - // B2019-057 Added a check to see if there is a width override for this step element (Robinson AOP Backgrounds - paragraphs) + // 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: + // B2019-057 Added a check to see if there is a width override for this step element (Robinson AOP Backgrounds - paragraphs) float wdthovrd = (itemInfo.FormatStepData.WidthOverride == null) ? 0 : (float)ToInt(itemInfo.FormatStepData.WidthOverride, maxRNO); if ((!itemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertAlarm || !UseTemplateWidthOrXOff(itemInfo.MyParent)) && wdthovrd == 0) Width = (float)itemInfo.MyDocStyle.Layout.PageWidth - (float)itemInfo.MyDocStyle.Layout.LeftMargin - indentBG2; @@ -6756,7 +6756,7 @@ namespace Volian.Print.Library else { float oldWidth = _WidthAdjustBox + (float)bx.TxtWidth - tabWidth; // add 1 to get it to wrap like 16Bit - // B2018-096 AEP 082.002CD Note Box overlapping Step Box + // B2018-096 AEP 082.002CD Note Box overlapping Step Box if (MyParent.MyItemInfo.FormatStepData != null && MyParent.MyItemInfo.FormatStepData.BoxIt) // B2018-100 not for parents that are sections // B2018-098 only adjust width if parent has Boxit turned on { Width = Math.Min(MyParent.Width + MyParent.XOffset - XOffset, oldWidth);