diff --git a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs index 9a6c9594..8822024d 100644 --- a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs +++ b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs @@ -1142,12 +1142,26 @@ namespace Volian.Print.Library plstr = plstr.Replace(token, ""); //svgGroup.Add(PageItemToSvgText(pageItem, section.DisplayText)); break; + case "{METASECTIONTITLE}": + case "[METASECTIONTITLE]": + if (section.MyParent.IsSection) + plstr = SplitTitle(svgGroup, pageItem, section.MyParent.DisplayText, section.ActiveFormat.PlantFormat.FormatData.SectData.SectionTitleLength, token, plstr); + else + plstr = plstr.Replace(token, ""); + break; case "{SECTIONLEVELNUMBER}": case "[SECTIONLEVELNUMBER]": plstr = plstr.Replace(token, section.DisplayNumber); _sectLevelNumTtlDiff = (int)pageItem.Row; //svgGroup.Add(PageItemToSvgText(pageItem, pageItem.Token.Replace(token, section.DisplayNumber))); break; + case "{METASECTIONNUMBER}": + case "[METASECTIONNUMBER]": + if (section.MyParent.IsSection) + plstr = plstr.Replace(token, section.MyParent.DisplayNumber); + else + plstr = plstr.Replace(token, ""); + break; case "{UNITTEXT}": case "[UNITTEXT]": plstr = plstr.Replace(token, MySection.MyDocVersion.DocVersionConfig.Unit_Text); diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index 6bf96dcc..fc87195c 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -124,8 +124,15 @@ namespace Volian.Print.Library yoff = Add(cb, childItemInfo.Notes, xoff, yoff, yoffRight, rnoLevel, maxRNO, formatInfo); //int? bxIndx = childItemInfo.FormatStepData == null ? -1 : childItemInfo.FormatStepData.StepLayoutData.STBoxindex; bool boxHLS = false; + + // If this step has a previous, and its header is different than the previous's header. Allow it to go + // into the box code. Without this check, none of the box code is run. This caused a problem + // for VCS where two different type notes where not getting separate boxes. + bool doSeparateBoxHdrChg = false; + if (childItemInfo.MyPrevious != null && childItemInfo.MyHeader != null && childItemInfo.MyPrevious.MyHeader != null + && childItemInfo.MyHeader.CleanText != childItemInfo.MyPrevious.MyHeader.CleanText) doSeparateBoxHdrChg = true; - if ((bxIndx ?? -1) != -1 && (bxIndex != bxIndx || childItemInfo.FormatStepData.BoxIt || childItemInfo.MyHeader != null)) + if ((bxIndx ?? -1) != -1 && (bxIndex != bxIndx || childItemInfo.FormatStepData.BoxIt || childItemInfo.MyHeader != null || doSeparateBoxHdrChg)) { if (childItemInfo.FormatStepData.BoxIt) // this is a boxed HLS { @@ -159,7 +166,7 @@ namespace Volian.Print.Library if (childItemInfo.IsCaution && !childItemInfo.FormatStepData.SeparateBox && !childItemInfo.FormatStepData.SeparateBoxCautions) handleSeparateBox = false; if (childItemInfo.IsNote && !childItemInfo.FormatStepData.SeparateBox) handleSeparateBox = false; - if (bxIndx != null && (handleSeparateBox || bxIndex != bxIndx)) + if (bxIndx != null && (handleSeparateBox || bxIndex != bxIndx || doSeparateBoxHdrChg)) { if (box != null) {