F2021-026: Double thick line box around Warning Message

F2021-025: Remove blank line between last Note/Caution/Warning & bottom box
F2021-033: No blank line between HLS and its first sub-step and fix sub-step tabs
Add format flags for Barakah (F2021-026, 025 & 033)
F2021-026: Draw double thick line box (for Barakah)
F2021-025: Remove blank line between last Note/Caution/Warning & bottom box (BNPP1)
This commit is contained in:
2021-09-16 11:37:41 +00:00
parent ed78b2b325
commit b3ff49c635
5 changed files with 68 additions and 1 deletions

View File

@@ -125,7 +125,13 @@ namespace Volian.Print.Library
gapBottomBox -= 3.2f;
}
if (MyParent.MyItemInfo.MyDocStyle.CenterLineYTop!=null)_MyPageHelper.MyGaps.Add(gapTopBox, gapBottomBox);
if (DefBox != null && DefBox != vlnBox.DOUBLEboxHLS)
// F2021-026: Barakah single column thick double box around Warnings
if (DefBox == null && MyBox.ThickDouble)
{
Volian.Base.Library.BaselineMetaFile.WriteLine("BXDblThick Lf={0} Rt={1} Tp={2} Bt={3}", left, (float)MyParent.MyItemInfo.MyDocStyle.Layout.PageWidth, top, bottom);
DrawDoubleHlsBoxThick(cb, top, bottom, left, (float)MyParent.MyItemInfo.MyDocStyle.Layout.PageWidth);
}
else if (DefBox != null && DefBox != vlnBox.DOUBLEboxHLS)
{
cb.SetLineWidth(.6F);
float lheight = Height;
@@ -281,6 +287,32 @@ namespace Volian.Print.Library
cb.MoveTo(right - 3.6f, top + lnOff - 3);
cb.LineTo(right - 3.6f, bottom +1f);
}
// F2021-026: Barakah single column thick double box around Warnings
private static void DrawDoubleHlsBoxThick(PdfContentByte cb, float top, float bottom, float left, float right)
{
float lineThickness = 3;
float lnOff = 1f * vlnPrintObject.SixLinesPerInch;
cb.SetLineWidth(lineThickness);
// top (double line)
cb.MoveTo(left, top + lnOff-4);
cb.LineTo(right, top + lnOff-4);
cb.MoveTo(left + 4.5f, top + lnOff - 8);
cb.LineTo(right - 4.5f, top + lnOff - 8);
// bottom (double line)
cb.MoveTo(left, bottom - 3);
cb.LineTo(right, bottom - 3);
cb.MoveTo(left + 4.5f, bottom+ 1);
cb.LineTo(right - 4.5f, bottom+ 1);
// sides
cb.MoveTo(left + 4.5f, top + lnOff - 6.5f); // inner box
cb.LineTo(left + 4.5f, bottom - 0.5f);
cb.MoveTo(right - 4.5f, top + lnOff - 6.5f);
cb.LineTo(right - 4.5f, bottom - 0.5f);
cb.MoveTo(left, top + lnOff - 2.5f); // outer box
cb.LineTo(left, bottom - 4.5f);
cb.MoveTo(right, top + lnOff - 2.5f);
cb.LineTo(right, bottom - 4.5f);
}
private void DrawAsteriskTopBottom(PdfContentByte cb, float yPageStart, float yTopMargin, float yBottomMargin, ref float top, ref float bottom, float left, VE_Font vef)
{

View File

@@ -5280,6 +5280,17 @@ namespace Volian.Print.Library
ItemInfo chld = MyItemInfo.FirstChild(E_FromType.Step);
if (chld != null && chld.MyContent.Type == MyItemInfo.MyContent.Type) return 0;
}
// F2021-033: No blank line between hls and its first substep:
if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.NoBlankHlsAndFirstSub && MyItemInfo.IsHigh)
{
if (MyItemInfo.Steps != null && MyItemInfo.Steps.Count > 0) return 0;
}
// F2021-025: Barakah single column no blank line between last Note/Caution/Warning text and bottom line of box
if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.NoBlankLastNoteCautionWarn && (MyItemInfo.IsCaution || MyItemInfo.IsNote))
{
if ((MyItemInfo.NextItem == null) || (MyItemInfo.MyContent.Type != MyItemInfo.NextItem.MyContent.Type)) return 0;
}
if (MyItemInfo.Ordinal % everyNLines == 0 || MyItemInfo.NextItem == null) return SixLinesPerInch;
// If the next table child is a figure, equation or a visio drawing add a blank line
if (MyItemInfo.Tables != null && MyItemInfo.Tables.Count > 0 && MyItemInfo.Tables[0].MyContent.MyGrid == null) return SixLinesPerInch;