Implement NumberWithLevel flag to create correct tabs in RNO column

add NumberWithLevel format flag
Handle double spacing (flag) in Table of Contents
Draw double lined box around High Level Steps (only HLS, not substep)
Double Lined box; Caution & Notes xoffsets and widths for printing in column (not across page); NumberWithLevel support (xoffsets); Align1StLevSubWHLS (format flag support); XBlankW1stLevSub adds extra line after 1st substep
procdesr pagelist include check for dashes in procedure number
This commit is contained in:
2014-03-25 12:07:45 +00:00
parent 13ab958e82
commit b205e6bb4d
6 changed files with 128 additions and 33 deletions

View File

@@ -47,6 +47,13 @@ namespace Volian.Print.Library
get { return _ContainsPageBreak; }
set { _ContainsPageBreak = value; }
}
private bool _DoubleBoxHls = false; // BGE double lined box around HLS
public bool DoubleBoxHls
{
get { return _DoubleBoxHls; }
set { _DoubleBoxHls = value; }
}
public const string DOUBLEboxHLS = "DoubleBox";
//private bool _DoBottom = true;
public vlnBox()
{
@@ -89,11 +96,15 @@ namespace Volian.Print.Library
iTextSharp.text.Color boxColor = new iTextSharp.text.Color(PrintOverride.OverrideBoxColor(System.Drawing.Color.Black));
cb.SetColorStroke(boxColor);
_MyPageHelper.MyGaps.Add(top, top - Height);
if (DefBox != null)
if (DefBox != null && DefBox != vlnBox.DOUBLEboxHLS)
{
cb.SetLineWidth(.6F);
cb.Rectangle(left, bottom, right - left, Height * MyPageHelper.YMultiplier);
}
else if (DefBox == vlnBox.DOUBLEboxHLS)
{
DrawDoubleHlsBox(cb, top, bottom, left, (float)MyParent.MyItemInfo.MyDocStyle.Layout.PageWidth);
}
else
{
const float llxOffset = 3;
@@ -170,6 +181,28 @@ namespace Volian.Print.Library
return yPageStart;
}
private static void DrawDoubleHlsBox(PdfContentByte cb, float top, float bottom, float left, float right)
{
float lineThickness = .6f;
float lnOff = 1.3f * vlnPrintObject.SixLinesPerInch;
cb.SetLineWidth(lineThickness);
// top (double line)
cb.MoveTo(left, top + lnOff);
cb.LineTo(right, top + lnOff);
cb.MoveTo(left + 3.6f, top + lnOff - 3);
cb.LineTo(right - 3.6f, top + lnOff - 3);
// bottom (double line)
cb.MoveTo(left, bottom - 2f);
cb.LineTo(right, bottom - 2f);
cb.MoveTo(left + 3.6f, bottom+1f);
cb.LineTo(right - 3.6f, bottom+1f);
// sides
cb.MoveTo(left + 3.6f, top + lnOff - 3);
cb.LineTo(left + 3.6f, bottom +1f);
cb.MoveTo(right - 3.6f, top + lnOff - 3);
cb.LineTo(right - 3.6f, bottom +1f);
}
private void DrawAsteriskTopBottom(PdfContentByte cb, float yPageStart, float yTopMargin, float yBottomMargin, ref float top, ref float bottom, float left, VE_Font vef)
{
// this box is not drawn, it is a series of asterisks drawn above and below text.