Added format variables for Wolf Creek Training format

Save the Y position for the placement of a line after the section title.  Also adjust the width of the section title with respect to the section number. All for the Wolf Creek Training format
Print a horizontal line after the section header (number and title) for the Wolf Creek Training format
This commit is contained in:
John Jenko 2015-06-02 21:40:45 +00:00
parent b2c0a03ab2
commit 21407f336a
3 changed files with 49 additions and 0 deletions

View File

@ -1768,6 +1768,15 @@ namespace VEPROMS.CSLA.Library
return _SectionHeader;
}
}
private SectionHeaderSeparatorLine _SectionHeaderSeparatorLine;
public SectionHeaderSeparatorLine SectionHeaderSeparatorLine
{
get
{
if (_SectionHeaderSeparatorLine == null) _SectionHeaderSeparatorLine = new SectionHeaderSeparatorLine(SelectSingleNode("SectionHeaderSeparatorLine"));
return _SectionHeaderSeparatorLine;
}
}
private StepSectionData _StepSectionData;
public StepSectionData StepSectionData
{
@ -2003,6 +2012,31 @@ namespace VEPROMS.CSLA.Library
}
}
#endregion
#region SectionHeaderSeparatorLine
[TypeConverter(typeof(ExpandableObjectConverter))]
public class SectionHeaderSeparatorLine : vlnFormatItem
{
public SectionHeaderSeparatorLine(XmlNode xmlNode) : base(xmlNode) { }
public SectionHeaderSeparatorLine() : base() { }
private LazyLoad<float?> _XStartPos;
public float? XStartPos
{
get
{
return LazyLoad(ref _XStartPos, "@XStartPos");
}
}
private LazyLoad<float?> _Length;
public float? Length
{
get
{
return LazyLoad(ref _Length, "@Length");
}
}
}
#endregion
#region StepSectionDataAll
#region StepSectionData
[TypeConverter(typeof(ExpandableObjectConverter))]

View File

@ -147,6 +147,12 @@ namespace Volian.Print.Library
get { return _AlarmYoffEnd; }
set { _AlarmYoffEnd = value; }
}
private float _SectionSepLineYoffStart = 0;
public float SectionSepLineYoffStart
{
get { return _SectionSepLineYoffStart; }
set { _SectionSepLineYoffStart = value; }
}
private PdfWriter _MyPdfWriter;
public PdfWriter MyPdfWriter
{
@ -281,7 +287,11 @@ namespace Volian.Print.Library
DrawHorizontal(writer.DirectContent, (float)MySection.MyDocStyle.Layout.LeftMargin, (float)MySection.MyDocStyle.Layout.PageWidth, (float)MySection.MyDocStyle.CenterLineYTop);
//if (MySection.ColumnMode > 0 && onBlankPage == false)
if (MySection.ColumnMode > 0 || MySection.ActiveFormat.PlantFormat.FormatData.PrintData.WCNTraining)
{
DrawCenterLine(writer.DirectContent, MySection.MyDocStyle.Layout.LeftMargin + MySection.MyDocStyle.CenterLineX ?? 0, MySection.MyDocStyle.CenterLineYTop ?? 0, MySection.MyDocStyle.CenterLineYBottom ?? 0);
if (MySection.ActiveFormat.PlantFormat.FormatData.PrintData.WCNTraining)
DrawHorizontal(writer.DirectContent, (float)(MySection.ActiveFormat.PlantFormat.FormatData.SectData.SectionHeaderSeparatorLine.XStartPos ?? 0), (float)(MySection.ActiveFormat.PlantFormat.FormatData.SectData.SectionHeaderSeparatorLine.Length ?? 0), SectionSepLineYoffStart);
}
}
if (MySection.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvertAlarm)

View File

@ -561,6 +561,9 @@ namespace Volian.Print.Library
{
int profileDepth = ProfileTimer.Push(">>>> vlnParagraph.DrawText");
retval = DrawText(cb, ref yPageStart, yTopMargin, yBottomMargin, ref yLocation);
// Wolf Creek Training format puts a separator line after printing the section number/title
if (MyItemInfo.IsSection && MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.WCNTraining)
MyPageHelper.SectionSepLineYoffStart = retval - (SixLinesPerInch / 2);
SectionContinuePrinted = true;
ProfileTimer.Pop(profileDepth);
}
@ -5018,6 +5021,8 @@ namespace Volian.Print.Library
float seclvlindent = colsbylevel - (float)formatInfo.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.ColS;
adjwidth -= seclvlindent;
if (itemInfo.IsStep) adjwidth -= AdjustForSectionLevelTab();
if (itemInfo.IsSection && itemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.WCNTraining)
adjwidth -= (float)((itemInfo.MyTab.CleanText.Trim().Length * 72) / itemInfo.ActiveFormat.PlantFormat.FormatData.SectData.SectionHeader.Font.CPI);
}
}
else