Print footnotes, page numbering & additional page list items for BGE Valve Sections

This commit is contained in:
Kathy Ruffing 2014-10-29 14:45:06 +00:00
parent 7f8b048f8a
commit 9e565cfd05

View File

@ -78,6 +78,25 @@ namespace Volian.Print.Library
get { return _BottomMessageA; }
set { _BottomMessageA = value; }
}
private Dictionary<int, List<int>> _NotesToFootNotesHLS = new Dictionary<int, List<int>>();
public Dictionary<int, List<int>> NotesToFootNotesHLS
{
get { return _NotesToFootNotesHLS; }
set { _NotesToFootNotesHLS = value; }
}
private List<vlnText> _NotesToFootNotes = new List<vlnText>();
public List<vlnText> NotesToFootNotes
{
get { return _NotesToFootNotes; }
set { _NotesToFootNotes = value; }
}
private float _NotesToFootNotesYoffset = 0;
public float NotesToFootNotesYoffset
{
get { return _NotesToFootNotesYoffset; }
set { _NotesToFootNotesYoffset = value; }
}
Dictionary<int, vlnParagraph> _MyParagraphs = new Dictionary<int, vlnParagraph>();
public Dictionary<int, vlnParagraph> MyParagraphs
{
@ -611,6 +630,17 @@ namespace Volian.Print.Library
BottomMessageA.ToPdf(cb, 0, ref tmp, ref tmp);
BottomMessageA = null; // Only output it once.
}
if (NotesToFootNotes != null)
{
float myYOff = NotesToFootNotesYoffset;
foreach (vlnText ntfn in NotesToFootNotes)
{
ntfn.YOffset = myYOff;
myYOff -= ntfn.Height;
ntfn.ToPdf(cb, 0, ref tmp, ref tmp);
}
NotesToFootNotes = null;
}
}
public void DrawBottomMessage(PdfContentByte cb)
{
@ -937,6 +967,9 @@ namespace Volian.Print.Library
E_NumberingSequence numseq = MySection.MyDocStyle.NumberingSequence??0;
switch (numseq)
{
case E_NumberingSequence.GroupedByPagination:
key = ((int)E_NumberingSequence.WithSteps).ToString();
break;
case E_NumberingSequence.WithSteps: // Number with 'originalstepsection'
ProcedureInfo pc = MySection.MyProcedure;
int sectid = 0;
@ -1517,6 +1550,40 @@ namespace Volian.Print.Library
DidHLSText = true;
plstr = plstr.Replace(token, HLSText);
break;
case "{VALTYPE}":
ItemInfo firstHigh = section.Steps[0];
int typ = (int)firstHigh.MyContent.Type - 20000;
switch (typ)
{
case 2:
plstr = plstr.Replace(token, "VALVE");
break;
case 9:
plstr = plstr.Replace(token, "SWITCH");
break;
case 3:
plstr = plstr.Replace(token, "BREAKER");
break;
}
break;
case "{STARTUP}":
ItemInfo firstHighs = section.Steps[0];
int typs = (int)firstHighs.MyContent.Type - 20000;
switch (typs)
{
case 2:
// the following test for OI-3A came from 16bit code:
if (section.MyProcedure.MyContent.Number.ToUpper().Equals("OI-3A"))
plstr = plstr.Replace(token, " SDC/");
else
plstr = plstr.Replace(token, "STARTUP/");
break;
case 9:
case 3:
plstr = plstr.Replace(token, "");
break;
}
break;
case "{PROCDES}":
ProcDescrList pdl = section.ActiveFormat.PlantFormat.FormatData.PrintData.ProcDescrList;
if (pdl != null && pdl.Count > 0)