Generate Placekeeper logic
This commit is contained in:
parent
f120b73883
commit
b4a055327a
289
PROMS/Volian.Print.Library/Placekeeper.cs
Normal file
289
PROMS/Volian.Print.Library/Placekeeper.cs
Normal file
@ -0,0 +1,289 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using LBWordLibrary;
|
||||
using VEPROMS.CSLA.Library;
|
||||
|
||||
namespace Volian.Print.Library
|
||||
{
|
||||
public class Placekeeper : IDisposable
|
||||
{
|
||||
private LBApplicationClass _WordApp;
|
||||
private LBDocumentClass _WordDoc;
|
||||
private LBSelection _WordSel;
|
||||
private LBTable _WordTbl;
|
||||
private const string TheQuickBrownFox = "The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.";
|
||||
public Placekeeper()
|
||||
{
|
||||
_WordApp = new LBApplicationClass();
|
||||
_WordDoc = _WordApp.Documents.Add();
|
||||
_WordSel = _WordApp.Selection;
|
||||
}
|
||||
//public Placekeeper(pkParagraph myPlacekeeper)
|
||||
//{
|
||||
// _WordApp = new LBApplicationClass();
|
||||
// _WordDoc = _WordApp.Documents.Add();
|
||||
// _WordSel = _WordApp.Selection;
|
||||
// _WordApp.Visible = true;
|
||||
// AddTable();
|
||||
// AddHeader();
|
||||
// AddSectionHeader(myPlacekeeper.MyParagraph.MyItemInfo.DisplayNumber, myPlacekeeper.MyParagraph.MyItemInfo.DisplayText);
|
||||
// foreach (pkParagraph pgh in myPlacekeeper.MyChildren)
|
||||
// {
|
||||
// AddHighLevelStep(pgh.MyParagraph.MyItemInfo.MyTab.CleanText, pgh.MyParagraph.MyItemInfo.DisplayText, pgh.MyParagraph.MyItemInfo.FormatStepType==9 ? "C" : "", pgh.MyParagraph.MyItemInfo.PageNumber.ToString());
|
||||
// if (pgh.MyChildren.Count > 0)
|
||||
// {
|
||||
// StartSubStep();
|
||||
// foreach (pkParagraph cpgh in pgh.MyChildren)
|
||||
// {
|
||||
// ContinueSubStep(cpgh.MyParagraph.MyItemInfo.DisplayText, 1);
|
||||
// foreach (pkParagraph ccpgh in cpgh.MyChildren)
|
||||
// ContinueSubStep(ccpgh.MyParagraph.MyItemInfo.DisplayText, 2);
|
||||
// }
|
||||
// FinishSubstep("", "");
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
public Placekeeper(pkParagraphs myPlacekeepers)
|
||||
{
|
||||
_WordApp = new LBApplicationClass();
|
||||
_WordDoc = _WordApp.Documents.Add();
|
||||
_WordSel = _WordApp.Selection;
|
||||
_WordApp.Visible = true;
|
||||
AddTable();
|
||||
AddHeader();
|
||||
foreach (pkParagraph myPlacekeeper in myPlacekeepers)
|
||||
{
|
||||
if(myPlacekeepers.Count > 1)
|
||||
AddSectionHeader(myPlacekeeper.MyParagraph.MyItemInfo.DisplayNumber, myPlacekeeper.MyParagraph.MyItemInfo.DisplayText);
|
||||
foreach (pkParagraph pgh in myPlacekeeper.MyChildren)
|
||||
{
|
||||
foreach (pkParagraph pghC in pgh.MyCautionsAndNotes)
|
||||
{
|
||||
StepConfig sc = pghC.MyParagraph.MyItemInfo.MyConfig as StepConfig;
|
||||
string doneStr = (sc.Step_Placekeeper.ToUpper() == "C")? "C":"";
|
||||
string NoteCautionTab = "NOTE: ";
|
||||
if (pghC.MyParagraph.MyItemInfo.IsCaution) NoteCautionTab = "CAUTION: ";
|
||||
AddCautionOrNote(NoteCautionTab, pghC.MyParagraph.MyItemInfo.DisplayText, doneStr, pghC.MyParagraph.MyItemInfo.PageNumber.ToString());
|
||||
}
|
||||
AddHighLevelStep(pgh.MyParagraph.MyItemInfo.MyTab.CleanText, pgh.MyParagraph.MyItemInfo.DisplayText, pgh.MyParagraph.MyItemInfo.FormatStepType == 9 ? "C" : "", pgh.MyParagraph.MyItemInfo.PageNumber.ToString());
|
||||
if (pgh.MyChildren.Count > 0)
|
||||
{
|
||||
bool conAct = false;
|
||||
StartSubStep();
|
||||
AddChildren(pgh, 1, ref conAct);
|
||||
FinishSubstep((conAct)?"C":"", "");
|
||||
}
|
||||
}
|
||||
}
|
||||
RepeatHeader();
|
||||
}
|
||||
|
||||
private void AddChildren(pkParagraph pgh, int level, ref bool conAct)
|
||||
{
|
||||
foreach (pkParagraph cpgh in pgh.MyChildren)
|
||||
{
|
||||
|
||||
if (cpgh.MyCautionsAndNotes.Count > 0)
|
||||
AddNotesOrCautions(cpgh,level, ref conAct);
|
||||
if (!conAct)
|
||||
conAct = IsContinuousActionPlacekeeper(conAct, cpgh);
|
||||
ContinueSubStep(cpgh.MyParagraph.MyItemInfo.DisplayText, level);
|
||||
AddChildren(cpgh, level+1, ref conAct);
|
||||
}
|
||||
}
|
||||
|
||||
private void AddNotesOrCautions(pkParagraph pgh, int level, ref bool conAct)
|
||||
{
|
||||
foreach (pkParagraph cpgh in pgh.MyCautionsAndNotes)
|
||||
{
|
||||
if (!conAct)
|
||||
conAct = IsContinuousActionPlacekeeper(conAct, cpgh);
|
||||
ContinueNoteOrCaution(cpgh.MyParagraph.MyItemInfo, level);
|
||||
}
|
||||
}
|
||||
|
||||
private static bool IsContinuousActionPlacekeeper(bool conAct, pkParagraph pkPar)
|
||||
{
|
||||
StepConfig sc = pkPar.MyParagraph.MyItemInfo.MyConfig as StepConfig;
|
||||
conAct = (sc.Step_Placekeeper.ToUpper() == "C");
|
||||
return conAct;
|
||||
}
|
||||
|
||||
private void ContinueNoteOrCaution(ItemInfo ii, int level)
|
||||
{
|
||||
string NoteCautionTab = "NOTE: ";
|
||||
if (ii.IsCaution) NoteCautionTab = "CAUTION: ";
|
||||
if (!_FirstLine) _WordSel.TypeParagraph();
|
||||
_FirstLine = false;
|
||||
SetIndent(.33F + (.31F * level), -.31F);
|
||||
WriteCell(NoteCautionTab + ii.DisplayText, false, false);
|
||||
}
|
||||
public void BuildSample()
|
||||
{
|
||||
_WordSel.TypeText("Placekeeper");
|
||||
_WordSel.TypeParagraph();
|
||||
_WordApp.Visible = true;
|
||||
AddTable();
|
||||
AddHeader();
|
||||
AddSectionHeader("Section VI", "Title for section VI");
|
||||
AddHighLevelStep("A.", TheQuickBrownFox, "C", "5");
|
||||
AddSubStep(TheQuickBrownFox, "C", "");
|
||||
AddCautionOrNote("NOTE:", "The Note text has a hanging indent on all but the first line of text", "", "");
|
||||
AddHighLevelStep("B.", TheQuickBrownFox, "C", "7");
|
||||
StartSubStep();
|
||||
ContinueSubStep(TheQuickBrownFox, 1);
|
||||
ContinueSubStep(TheQuickBrownFox, 2);
|
||||
ContinueSubStep(TheQuickBrownFox, 2);
|
||||
ContinueSubStep(TheQuickBrownFox, 3);
|
||||
ContinueSubStep(TheQuickBrownFox, 3);
|
||||
ContinueSubStep(TheQuickBrownFox, 2);
|
||||
ContinueSubStep(TheQuickBrownFox, 1);
|
||||
FinishSubstep("", "");
|
||||
AddHighLevelStep("C.", TheQuickBrownFox, "C", "8");
|
||||
StartSubStep();
|
||||
ContinueSubStep(TheQuickBrownFox, 1);
|
||||
ContinueSubStep(TheQuickBrownFox, 2);
|
||||
ContinueSubStep(TheQuickBrownFox, 2);
|
||||
ContinueSubStep(TheQuickBrownFox, 3);
|
||||
ContinueSubStep(TheQuickBrownFox, 3);
|
||||
ContinueSubStep(TheQuickBrownFox, 2);
|
||||
ContinueSubStep(TheQuickBrownFox, 1);
|
||||
FinishSubstep("", "");
|
||||
RepeatHeader();
|
||||
}
|
||||
|
||||
private void RepeatHeader()
|
||||
{
|
||||
_WordTbl.Rows.First.Select();
|
||||
_WordSel.Rows.HeadingFormat = -1;
|
||||
}
|
||||
private bool _FirstSection = true;
|
||||
private void AddTable()
|
||||
{
|
||||
_FirstSection = true;
|
||||
_WordTbl = _WordDoc.Tables.Add(_WordSel.Range, 1, 4, 1, 0);
|
||||
_WordTbl.TopPadding = 6F;
|
||||
_WordTbl.BottomPadding = 6F;
|
||||
LBColumn col = _WordTbl.Columns.First;
|
||||
//col.SetWidth(12F, LBWdRulerStyle.wdAdjustNone);
|
||||
//col = col.Next;
|
||||
col.SetWidth(72 * .81F, LBWdRulerStyle.wdAdjustNone);
|
||||
col = col.Next;
|
||||
col.SetWidth(72 * 4.1F, LBWdRulerStyle.wdAdjustNone);
|
||||
col = col.Next;
|
||||
col.SetWidth(72 * .81F, LBWdRulerStyle.wdAdjustNone);
|
||||
col = col.Next;
|
||||
col.SetWidth(72 * .81F, LBWdRulerStyle.wdAdjustNone);
|
||||
_WordTbl.Rows.AllowBreakAcrossPages = 0;
|
||||
}
|
||||
private void AddHeader()
|
||||
{
|
||||
//Advance();
|
||||
WriteCell("START", true, true);
|
||||
SetIndent(0.32F, -0F);
|
||||
WriteCell("FUNCTION", true, true);
|
||||
WriteCell("DONE", true, true);
|
||||
WriteCell("PAGE", true, false);
|
||||
}
|
||||
private void AddSectionHeader(string number, string title)
|
||||
{
|
||||
if (!_FirstSection)
|
||||
{
|
||||
Advance(5);
|
||||
_WordSel.MoveLeft(LBWdUnits.wdCell, 1, false);
|
||||
_WordSel.SelectRow();
|
||||
_WordSel.Cells.Merge();
|
||||
}
|
||||
_FirstSection = false;
|
||||
Advance(2);
|
||||
SetIndent(0, 0);
|
||||
WriteCell("SECTION " + number, true, false);
|
||||
WriteCell(" " + title, false, true);
|
||||
Advance();
|
||||
}
|
||||
private void AddHighLevelStep(string number, string text, string done, string page)
|
||||
{
|
||||
Advance(2);
|
||||
SetIndent(.33F, -.33F);
|
||||
WriteCell(number + "\t" + text, false, true);
|
||||
SetAlignment(LBWdParagraphAlignment.wdAlignParagraphCenter, LBWdCellVerticalAlignment.wdCellAlignVerticalBottom);
|
||||
WriteCell(done, false, true);
|
||||
SetAlignment(LBWdParagraphAlignment.wdAlignParagraphCenter, LBWdCellVerticalAlignment.wdCellAlignVerticalBottom);
|
||||
WriteCell(page, false, false);
|
||||
}
|
||||
private void AddSubStep(string text, string done, string page)
|
||||
{
|
||||
Advance(2);
|
||||
SetIndent(.64F, -.31F);
|
||||
//_WordSel.InsertSymbol(8226, _WordSel.Font, System.Reflection.Missing.Value, System.Reflection.Missing.Value);
|
||||
WriteCell("\u2022" + "\t" + text, false, true);
|
||||
SetAlignment(LBWdParagraphAlignment.wdAlignParagraphCenter, LBWdCellVerticalAlignment.wdCellAlignVerticalBottom);
|
||||
WriteCell(done, false, true);
|
||||
SetAlignment(LBWdParagraphAlignment.wdAlignParagraphCenter, LBWdCellVerticalAlignment.wdCellAlignVerticalBottom);
|
||||
WriteCell(page, false, false);
|
||||
}
|
||||
private bool _FirstLine = false;
|
||||
private void StartSubStep()
|
||||
{
|
||||
_FirstLine = true;
|
||||
Advance(2);
|
||||
SetIndent(.64F, -.31F);
|
||||
}
|
||||
private void ContinueSubStep(string text, int level)
|
||||
{
|
||||
if(!_FirstLine) _WordSel.TypeParagraph();
|
||||
_FirstLine = false;
|
||||
SetIndent(.33F + (.31F * level), -.31F);
|
||||
WriteCell("\u2022" + "\t" + text, false, false);
|
||||
}
|
||||
private void FinishSubstep(string done, string page)
|
||||
{
|
||||
Advance();
|
||||
SetAlignment(LBWdParagraphAlignment.wdAlignParagraphCenter, LBWdCellVerticalAlignment.wdCellAlignVerticalBottom);
|
||||
WriteCell(done, false, true);
|
||||
SetAlignment(LBWdParagraphAlignment.wdAlignParagraphCenter, LBWdCellVerticalAlignment.wdCellAlignVerticalBottom);
|
||||
WriteCell(page, false, false);
|
||||
}
|
||||
private void AddCautionOrNote(string type, string text, string done, string page)
|
||||
{
|
||||
Advance(2);
|
||||
SetIndent(.33F, -.33F);
|
||||
WriteCell(type, true, false);
|
||||
WriteCell(" " + text, false, true);
|
||||
SetAlignment(LBWdParagraphAlignment.wdAlignParagraphCenter, LBWdCellVerticalAlignment.wdCellAlignVerticalBottom);
|
||||
WriteCell(done, false, true);
|
||||
SetAlignment(LBWdParagraphAlignment.wdAlignParagraphCenter, LBWdCellVerticalAlignment.wdCellAlignVerticalBottom);
|
||||
WriteCell(page, false, false);
|
||||
}
|
||||
private void WriteCell(string text, bool bold, bool advance)
|
||||
{
|
||||
_WordSel.Font.Name = "Arial";
|
||||
_WordSel.Font.Bold = bold ? 1 : 0;
|
||||
_WordSel.TypeText(text);
|
||||
if (advance) Advance();
|
||||
}
|
||||
private void SetIndent(float left, float first)
|
||||
{
|
||||
_WordSel.ParagraphFormat.LeftIndent = left * 72;
|
||||
_WordSel.ParagraphFormat.FirstLineIndent = first * 72;
|
||||
}
|
||||
private void SetAlignment(LBWdParagraphAlignment hAlign, LBWdCellVerticalAlignment vAlign)
|
||||
{
|
||||
_WordSel.ParagraphFormat.Alignment = hAlign;
|
||||
_WordSel.Cells.VerticalAlignment = vAlign;
|
||||
}
|
||||
private void Advance(int count)
|
||||
{
|
||||
_WordSel.MoveRight(LBWdUnits.wdCell, count, false);
|
||||
}
|
||||
private void Advance()
|
||||
{
|
||||
Advance(1);
|
||||
}
|
||||
public void Dispose()
|
||||
{
|
||||
_WordApp.Quit(false);
|
||||
}
|
||||
}
|
||||
}
|
@ -189,22 +189,22 @@ namespace Volian.Print.Library
|
||||
_OriginalPageBreak = origPgBrk;
|
||||
_InsertBlankPages = insertBlankPages;
|
||||
}
|
||||
public string Print(string pdfFolder)
|
||||
public string Print(string pdfFolder, bool makePlacekeeper)
|
||||
{
|
||||
if (_MyItem is ProcedureInfo)
|
||||
{
|
||||
if (!(_MyItem.ActiveFormat.PlantFormat.FormatData.TransData.UseTransitionModifier ||
|
||||
_MyItem.ActiveFormat.PlantFormat.FormatData.TransData.UseSpecificTransitionModifier))
|
||||
return Print(_MyItem as ProcedureInfo, pdfFolder);
|
||||
return Print(_MyItem as ProcedureInfo, pdfFolder, makePlacekeeper);
|
||||
else
|
||||
{
|
||||
// if the plant uses transition modifiers and/or page num in transition format,
|
||||
// need to do two passes. First pass, sets the pagenumbers for each item,
|
||||
// 2nd pass fills in the page numbers in transitions.
|
||||
string retstr = Print(_MyItem as ProcedureInfo, pdfFolder);
|
||||
string retstr = Print(_MyItem as ProcedureInfo, pdfFolder, false);
|
||||
if (retstr == null) return null;
|
||||
ProcedureInfo.RefreshPageNumTransitions(_MyItem as ProcedureInfo);
|
||||
return Print(_MyItem as ProcedureInfo, pdfFolder);
|
||||
return Print(_MyItem as ProcedureInfo, pdfFolder, makePlacekeeper);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
@ -332,7 +332,7 @@ namespace Volian.Print.Library
|
||||
set { PromsPrinter._MyFoldoutReader = value; }
|
||||
}
|
||||
private static List<SectionInfo> _MyFoldoutSection = null;
|
||||
private string Print(ProcedureInfo myProcedure, string pdfFolder)
|
||||
private string Print(ProcedureInfo myProcedure, string pdfFolder, bool makePlacekeeper)
|
||||
{
|
||||
if (_TransPageNumProblems == null) _TransPageNumProblems = new List<string>();
|
||||
|
||||
@ -353,7 +353,7 @@ namespace Volian.Print.Library
|
||||
// if floating foldouts, need a list of sections & foldoutreaders. Just do first for now.
|
||||
|
||||
_MyFoldoutSection.Add(mySection);
|
||||
string foldoutPdf = PrintProcedureOrFoldout(myProcedure, mySection, Volian.Base.Library.VlnSettings.TemporaryFolder + @"\Foldout" + cnt.ToString() + @".pdf");
|
||||
string foldoutPdf = PrintProcedureOrFoldout(myProcedure, mySection, Volian.Base.Library.VlnSettings.TemporaryFolder + @"\Foldout" + cnt.ToString() + @".pdf", false);
|
||||
_MyFoldoutReader.Add(foldoutPdf != null ? new PdfReader(foldoutPdf) : null);
|
||||
cnt++;
|
||||
}
|
||||
@ -367,7 +367,7 @@ namespace Volian.Print.Library
|
||||
if (MessageBox.Show(outputFileName + " exists. Overwrite file?", "File Exists", MessageBoxButtons.YesNo) == DialogResult.No)
|
||||
return null;
|
||||
}
|
||||
return PrintProcedureOrFoldout(myProcedure, null, outputFileName);
|
||||
return PrintProcedureOrFoldout(myProcedure, null, outputFileName, makePlacekeeper);
|
||||
}
|
||||
|
||||
// See if the last non Foldout Section has a Final Message.
|
||||
@ -399,7 +399,7 @@ namespace Volian.Print.Library
|
||||
get { return _AllowAllWatermarks; }
|
||||
set { _AllowAllWatermarks = value; }
|
||||
}
|
||||
private string PrintProcedureOrFoldout(ProcedureInfo myProcedure, SectionInfo myFoldoutSection, string outputFileName)
|
||||
private string PrintProcedureOrFoldout(ProcedureInfo myProcedure, SectionInfo myFoldoutSection, string outputFileName, bool makePlacekeeper)
|
||||
{
|
||||
bool doingFoldout = myFoldoutSection != null;
|
||||
// The following line accounts for 16bit OverrideLeftMargin when the 'Absolute' attribute is used in the genmac.
|
||||
@ -556,6 +556,11 @@ namespace Volian.Print.Library
|
||||
OnStatusChanged(myProcedure.DisplayNumber + " PDF Creation Completed", PromsPrinterStatusType.Progress, progress);
|
||||
if (DebugPagination.IsOpen) DebugPagination.TotalPages += cb.PdfWriter.CurrentPageNumber;
|
||||
CloseDocument(cb, outputFileName);
|
||||
if (_MyHelper != null && makePlacekeeper)
|
||||
{
|
||||
if (_MyHelper.MyPlacekeepers.Count > 0)
|
||||
new Placekeeper(_MyHelper.MyPlacekeepers);
|
||||
}
|
||||
_MyHelper = null;
|
||||
return outputFileName;
|
||||
}
|
||||
@ -1064,7 +1069,11 @@ namespace Volian.Print.Library
|
||||
float localYPageStart = 0;
|
||||
float yPageStart = yTopMargin;
|
||||
if (myItemInfo.HasChildren || myItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
|
||||
{
|
||||
localYPageStart = myParagraph.ToPdf(cb, yPageStart, ref yTopMargin, ref yBottomMargin);
|
||||
if (myParagraph.MyPlaceKeeper != null)
|
||||
_MyHelper.MyPlacekeepers.Add(myParagraph.MyPlaceKeeper);
|
||||
}
|
||||
else if (!myItemInfo.MyDocStyle.OptionalSectionContent)
|
||||
PrintTextMessage(cb, "No Section Content", _TextLayer);
|
||||
SectionConfig.SectionPagination sp = SectionConfig.SectionPagination.Separate; // always the default
|
||||
|
@ -14,6 +14,11 @@ namespace Volian.Print.Library
|
||||
public partial class VlnSvgPageHelper:SvgPageHelper
|
||||
{
|
||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||
private pkParagraphs _MyPlacekeepers = new pkParagraphs();
|
||||
public pkParagraphs MyPlacekeepers
|
||||
{
|
||||
get { return _MyPlacekeepers; }
|
||||
}
|
||||
private PageBookmarks _PageBookmarks = new PageBookmarks();
|
||||
public PageBookmarks PageBookmarks
|
||||
{
|
||||
|
46
PROMS/Volian.Print.Library/pkParagraph.cs
Normal file
46
PROMS/Volian.Print.Library/pkParagraph.cs
Normal file
@ -0,0 +1,46 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Volian.Print.Library
|
||||
{
|
||||
public class pkParagraph
|
||||
{
|
||||
private vlnParagraph _MyParagraph;
|
||||
public vlnParagraph MyParagraph
|
||||
{
|
||||
get { return _MyParagraph; }
|
||||
}
|
||||
private pkParagraphs _MyChildren;
|
||||
public pkParagraphs MyChildren
|
||||
{
|
||||
get { return _MyChildren; }
|
||||
}
|
||||
private pkParagraphs _MyCautionsAndNotes;
|
||||
public pkParagraphs MyCautionsAndNotes
|
||||
{
|
||||
get { return _MyCautionsAndNotes; }
|
||||
}
|
||||
public pkParagraph(vlnParagraph myParagraph)
|
||||
{
|
||||
_MyParagraph = myParagraph;
|
||||
_MyChildren = new pkParagraphs();
|
||||
_MyCautionsAndNotes = new pkParagraphs();
|
||||
}
|
||||
public pkParagraph AddChild(vlnParagraph myParagraph)
|
||||
{
|
||||
pkParagraph tmp = new pkParagraph(myParagraph);
|
||||
_MyChildren.Add(tmp);
|
||||
return tmp;
|
||||
}
|
||||
public pkParagraph AddCautionsAndNotes(vlnParagraph myParagraph)
|
||||
{
|
||||
pkParagraph tmp = new pkParagraph(myParagraph);
|
||||
_MyCautionsAndNotes.Add(tmp);
|
||||
return tmp;
|
||||
}
|
||||
}
|
||||
public class pkParagraphs:List<pkParagraph>
|
||||
{
|
||||
}
|
||||
}
|
@ -77,10 +77,6 @@ namespace Volian.Print.Library
|
||||
if (iChildItemInfo.IsSection && (iChildItemInfo as SectionInfo).ColumnMode != maxRNO)
|
||||
maxRNO = (iChildItemInfo as SectionInfo).ColumnMode;
|
||||
ItemInfo childItemInfo = iChildItemInfo;
|
||||
//if (childItemInfo.ItemID == 167601)
|
||||
// Console.WriteLine("AER RNO Step");
|
||||
//if (childItemInfo.ItemID == 167603)
|
||||
// Console.WriteLine("stop");
|
||||
int? bxIndx = childItemInfo.FormatStepData == null ? -1 : childItemInfo.FormatStepData.StepLayoutData.STBoxindex;
|
||||
|
||||
// if the Caution or Note is not boxed, then use ColT to set the starting column of the Note or Caution
|
||||
@ -268,14 +264,6 @@ namespace Volian.Print.Library
|
||||
box.Height = para.YBottomMost - box.YOffset - (boxLnAdjust * vlnPrintObject.SixLinesPerInch); // para.YTop - (1.1F * vlnPrintObject.SixLinesPerInch);
|
||||
box = null;
|
||||
}
|
||||
//else if (childItemInfo.ItemID == 167601)
|
||||
//{
|
||||
// boxHLS = true;
|
||||
// int boxLnAdjust = iChildItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.StepSectionPrintData.DiffContActBox ? 1 : 2;
|
||||
// box.Height = yoff - box.YOffset - (boxLnAdjust * vlnPrintObject.SixLinesPerInch); // new height, with children
|
||||
// yoff += 1 * vlnPrintObject.SixLinesPerInch;
|
||||
// box = null;
|
||||
//}
|
||||
}
|
||||
if (childItemInfo.IsSequential && childItemInfo.NextItemCount > 0 && childItemInfo.MyParent.IsHigh && ((childItemInfo.MyDocStyle.StructureStyle.Style & E_DocStructStyle.XBlankW1stLevSub) == E_DocStructStyle.XBlankW1stLevSub))
|
||||
yoff += vlnPrintObject.SixLinesPerInch;
|
||||
@ -1491,8 +1479,21 @@ namespace Volian.Print.Library
|
||||
{
|
||||
get { return _MyFlexGrid; }
|
||||
}
|
||||
private pkParagraph _MyPlaceKeeper = null;
|
||||
public pkParagraph MyPlaceKeeper
|
||||
{
|
||||
get { return _MyPlaceKeeper; }
|
||||
set { _MyPlaceKeeper = value; }
|
||||
}
|
||||
public static bool InList(int id, params int[] ids)
|
||||
{
|
||||
foreach (int listid in ids)
|
||||
if (id == listid) return true;
|
||||
return false;
|
||||
}
|
||||
public vlnParagraph(vlnParagraph parent, PdfContentByte cb, ItemInfo itemInfo, float xoff, float yoff, int rnoLevel, int maxRNO, FormatInfo formatInfo, string prefix, string suffix, float yoffRightParent)
|
||||
{
|
||||
BuildPlacekeeper(parent, itemInfo);
|
||||
if (itemInfo.ActiveFormat.MyStepSectionLayoutData.BoxLeftAdj != null)
|
||||
_MyBoxLeftAdj = float.Parse(itemInfo.ActiveFormat.MyStepSectionLayoutData.BoxLeftAdj);
|
||||
ShowSectionTitles = formatInfo.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.ShowSectionTitles || itemInfo.MyDocStyle.ShowSectionTitles;
|
||||
@ -2196,6 +2197,27 @@ namespace Volian.Print.Library
|
||||
if (XOffsetCenter != null) XOffset = (float)XOffsetCenter;
|
||||
}
|
||||
|
||||
private void BuildPlacekeeper(vlnParagraph parent, ItemInfo itemInfo)
|
||||
{
|
||||
if (itemInfo is SectionInfo && (itemInfo as SectionInfo).SectionConfig.Section_Placekeeper.ToUpper() != "N") // if is a section type and the section is marked to create placekeeper
|
||||
{
|
||||
MyPlaceKeeper = new pkParagraph(this);
|
||||
if (parent != null && parent.MyItemInfo.IsSection)
|
||||
parent.MyPlaceKeeper = MyPlaceKeeper;
|
||||
}
|
||||
else if (parent != null && parent.MyPlaceKeeper != null && itemInfo is StepInfo)//InList(parent.MyItemInfo.ItemID, 513, 514, 519, 520, 525))
|
||||
{
|
||||
StepConfig sc = itemInfo.MyConfig as StepConfig;
|
||||
if (sc != null && sc.Step_Placekeeper.ToUpper() != "N")
|
||||
{
|
||||
if (itemInfo.IsCautionPart || itemInfo.IsNotePart)
|
||||
MyPlaceKeeper = parent.MyPlaceKeeper.AddCautionsAndNotes(this);
|
||||
else
|
||||
MyPlaceKeeper = parent.MyPlaceKeeper.AddChild(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private vlnParagraph FindParentRNO()
|
||||
{
|
||||
if (ChildrenRight != null && ChildrenRight.Count > 0) return ChildrenRight[0];
|
||||
@ -3088,11 +3110,7 @@ namespace Volian.Print.Library
|
||||
XOffset = (float)itemInfo.MyDocStyle.Layout.LeftMargin + tabWidth + XOffsetBox;
|
||||
}
|
||||
else
|
||||
{
|
||||
//if (itemInfo.ItemID == 167601)
|
||||
// Console.WriteLine("AER RNO Step");
|
||||
XOffset = (float)itemInfo.MyDocStyle.Layout.LeftMargin + (float)bx.TxtStart + _MyBoxLeftAdj + tabWidth + XOffsetBox;
|
||||
}
|
||||
if (myTab != null) myTab.XOffset = XOffset - tabWidth;
|
||||
}
|
||||
else if (itemInfo.IsRNOPart && itemInfo.MyParent != null && itemInfo.MyParent.IsRNOPart && itemInfo.FormatStepData.NumberWithLevel)
|
||||
|
Loading…
x
Reference in New Issue
Block a user