diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index 02615fc4..d9e41bed 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -2685,10 +2685,28 @@ namespace Volian.Print.Library xloc_co = XOffset + (relX > 0 ? Width : 0) + relX; } } - float xtraCheckOffLines = (co.CheckOffXtraLines ?? 0) * SixLinesPerInch; + + // if xtraCheckOffLines is a negative number, start the checkoff on the same line + // as text and adjust the y-offset after the checkoff by the amount of the absolute + // value of xtraCheckOffLines. + // if xtraCheckOffLines is a positive number, start the checkoff xtraCheckOffLines - 1 + // down from the text and adjust the y-offset after the checkoff by the amount + // of xtraCheckOffLines. + float xtraCheckOffLines = (co.CheckOffXtraLines ?? 0); + if (xtraCheckOffLines < 0) + { + xtraCheckOffLines = -xtraCheckOffLines; + xtraCheckOffLines *= SixLinesPerInch; + PartsRight.Add(new vlnMacro(xloc_co, yForCheckoff/* + xtraCheckOffLines */, co.Macro)); + yoff += xtraCheckOffLines; + } + else + { + xtraCheckOffLines *= SixLinesPerInch; xtraCheckOffLines -= ((xtraCheckOffLines>0)? SixLinesPerInch:0); PartsRight.Add(new vlnMacro(xloc_co, yForCheckoff + xtraCheckOffLines, co.Macro)); - yoff += (xtraCheckOffLines > 0) ? xtraCheckOffLines + SixLinesPerInch : 0; + yoff += (xtraCheckOffLines != 0) ? xtraCheckOffLines + SixLinesPerInch : 0; + } } } float yOffRight = yoff; @@ -3186,7 +3204,7 @@ namespace Volian.Print.Library int everyNLines = MyItemInfo.FormatStepData == null ? 1 : MyItemInfo.FormatStepData.StepLayoutData.EveryNLines ?? 1; if (everyNLines == -99) return 0; if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertAlarm || - MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert) + (MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && (MyItemInfo.MyTab!= null && MyItemInfo.MyTab.CleanText != string.Empty))) { if ((MyItemInfo.IsCaution || MyItemInfo.IsNote || MyItemInfo.MyParent.IsCaution || MyItemInfo.MyParent.IsNote) && !MyItemInfo.FormatStepData.SpaceIn && (MyItemInfo.Steps == null || MyItemInfo.Steps.Count == 0)