Fixed B2013-160: printing with blank page option causes various problems when procedure has continuous sections and for sections after the procedure steps section
Fixed B2014-023, null reference crash when printing some Farley procedures. Also WCN BCK formatting
This commit is contained in:
parent
5ccdd9d3d7
commit
dd2d97ceb7
@ -493,12 +493,16 @@ namespace Volian.Print.Library
|
|||||||
DoFoldoutPage(cb, "Beginning of Step Section", _TextLayer, _MyHelper, firstStep.FoldoutIndex(), InsertBlankPages);
|
DoFoldoutPage(cb, "Beginning of Step Section", _TextLayer, _MyHelper, firstStep.FoldoutIndex(), InsertBlankPages);
|
||||||
else if (!_MyHelper.CreatingFoldoutPage && _MyFoldoutReader.Count > 0 && InsertBlankPages)
|
else if (!_MyHelper.CreatingFoldoutPage && _MyFoldoutReader.Count > 0 && InsertBlankPages)
|
||||||
{
|
{
|
||||||
// only insert a blank page if this section does not have a foldout (but the procedure as a whole does)
|
// if it is continuous pagination, don't do blank page - not sure if this is correct place for this:
|
||||||
// and the checkbox on the print dialog to add blank pages is checked
|
if (mySection.SectionConfig.Section_Pagination == SectionConfig.SectionPagination.Separate)
|
||||||
_MyHelper.OnBlankPage = true;
|
{
|
||||||
cb.PdfDocument.Add(new iTextSharp.text.Table(1));
|
// only insert a blank page if this section does not have a foldout (but the procedure as a whole does)
|
||||||
cb.PdfDocument.NewPage();
|
// and the checkbox on the print dialog to add blank pages is checked
|
||||||
//_MyLog.InfoFormat("NewPage Begin Step Sect blank {0}", cb.PdfWriter.CurrentPageNumber);
|
_MyHelper.OnBlankPage = true;
|
||||||
|
cb.PdfDocument.Add(new iTextSharp.text.Table(1));
|
||||||
|
cb.PdfDocument.NewPage();
|
||||||
|
//_MyLog.InfoFormat("NewPage Begin Step Sect blank {0}", cb.PdfWriter.CurrentPageNumber);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CreateStepPdf(mySection, cb);
|
CreateStepPdf(mySection, cb);
|
||||||
@ -570,8 +574,12 @@ namespace Volian.Print.Library
|
|||||||
for (int ii = 0; ii < sectPageCount; ii++)
|
for (int ii = 0; ii < sectPageCount; ii++)
|
||||||
{
|
{
|
||||||
int pageNumber = 1 + ii;
|
int pageNumber = 1 + ii;
|
||||||
|
bool didFoldout = false;
|
||||||
if (((mySection.MyDocStyle.StructureStyle.Style ?? 0) & E_DocStructStyle.UseSectionFoldout) != 0)
|
if (((mySection.MyDocStyle.StructureStyle.Style ?? 0) & E_DocStructStyle.UseSectionFoldout) != 0)
|
||||||
|
{
|
||||||
|
didFoldout = true;
|
||||||
DoFoldoutPage(cb, "Word Document", _TextLayer, _MyHelper, 0, false);
|
DoFoldoutPage(cb, "Word Document", _TextLayer, _MyHelper, 0, false);
|
||||||
|
}
|
||||||
if (readerWord != null)
|
if (readerWord != null)
|
||||||
{
|
{
|
||||||
bool doimport2 = true;
|
bool doimport2 = true;
|
||||||
@ -588,7 +596,7 @@ namespace Volian.Print.Library
|
|||||||
OnStatusChanged("Read MSWord", PromsPrinterStatusType.ReadMSWord);
|
OnStatusChanged("Read MSWord", PromsPrinterStatusType.ReadMSWord);
|
||||||
if (doimport2)
|
if (doimport2)
|
||||||
{
|
{
|
||||||
if (cb.PdfWriter.CurrentPageNumber > 1 && _MyFoldoutReader.Count > 0 && InsertBlankPages)
|
if (!didFoldout && cb.PdfWriter.CurrentPageNumber > 1 && _MyFoldoutReader.Count > 0 && InsertBlankPages)
|
||||||
{
|
{
|
||||||
// only insert a blank page if this section does not have a foldout (but the procedure as a whole does)
|
// only insert a blank page if this section does not have a foldout (but the procedure as a whole does)
|
||||||
// and the checkbox on the print dialog to add blank pages is checked
|
// and the checkbox on the print dialog to add blank pages is checked
|
||||||
|
@ -194,8 +194,9 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
bxIndex = bxIndx;
|
bxIndex = bxIndx;
|
||||||
}
|
}
|
||||||
// Comanche peak Step Designator
|
// Comanche peak or WCN bck Step designator
|
||||||
if (childItemInfo.IsCaution2 && childItemInfo.SameRowAsParent)
|
if (childItemInfo.IsCaution2 && childItemInfo.SameRowAsParent ||
|
||||||
|
childItemInfo.IsCaution1 && childItemInfo.SameRowAsParent)
|
||||||
{
|
{
|
||||||
// Save the Step Designator information
|
// Save the Step Designator information
|
||||||
_StepDesignator = childItemInfo.DisplayText;
|
_StepDesignator = childItemInfo.DisplayText;
|
||||||
@ -843,11 +844,15 @@ namespace Volian.Print.Library
|
|||||||
else if (PromsPrinter.MyFoldoutReader.Count > 0 && MyPageHelper.MyPromsPrinter.InsertBlankPages)
|
else if (PromsPrinter.MyFoldoutReader.Count > 0 && MyPageHelper.MyPromsPrinter.InsertBlankPages)
|
||||||
{
|
{
|
||||||
// insert a blank page if this step section had a foldout associated and the checkbox
|
// insert a blank page if this step section had a foldout associated and the checkbox
|
||||||
// on the print dialog, to add blank pages, is checked
|
// on the print dialog, to add blank pages, is checked AND the page did NOT have a
|
||||||
MyPageHelper.OnBlankPage = true;
|
// preceeding foldout.
|
||||||
cb.PdfDocument.Add(new iTextSharp.text.Table(1));
|
if (MyItemInfo.FoldoutIndex() <= -1)
|
||||||
cb.PdfDocument.NewPage();
|
{
|
||||||
//_MyLog.InfoFormat("NewPage 10 blank {0}", cb.PdfWriter.CurrentPageNumber);
|
MyPageHelper.OnBlankPage = true;
|
||||||
|
cb.PdfDocument.Add(new iTextSharp.text.Table(1));
|
||||||
|
cb.PdfDocument.NewPage();
|
||||||
|
//_MyLog.InfoFormat("NewPage 10 blank {0}", cb.PdfWriter.CurrentPageNumber);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
yPageStart = yTopMargin + YTopMost;
|
yPageStart = yTopMargin + YTopMost;
|
||||||
DoCheckOffHeader(cb, MyItemInfo, yLocation, yTopMargin, yPageStart);
|
DoCheckOffHeader(cb, MyItemInfo, yLocation, yTopMargin, yPageStart);
|
||||||
@ -1339,8 +1344,11 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
private bool IsBackgroundStep()
|
private bool IsBackgroundStep()
|
||||||
{
|
{
|
||||||
if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.WolfCreekBackgroundFormat &&
|
if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.WolfCreekBackgroundFormat)
|
||||||
(MyItemInfo.IsHigh || MyItemInfo.IsCaution || MyItemInfo.IsNote)) return true;
|
{
|
||||||
|
if (MyItemInfo.IsHigh || MyItemInfo.IsCaution || MyItemInfo.IsNote) return true;
|
||||||
|
if (MyItemInfo.MyParent != null && MyItemInfo.MyParent.IsStep && MyItemInfo.MyParent.FormatStepData.Type.ToUpper() == "TITLEWITHTEXTBELOW" && MyItemInfo.FormatStepData.Type.ToUpper() != "IMPLICITOR") return true;
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1498,7 +1506,7 @@ namespace Volian.Print.Library
|
|||||||
// if this is the High Level RNO step (MyTopRNO) and we are numbering the RNO, adjust the xoffset to start the tab
|
// if this is the High Level RNO step (MyTopRNO) and we are numbering the RNO, adjust the xoffset to start the tab
|
||||||
// at the x location rather than starting the text at the x location:
|
// at the x location rather than starting the text at the x location:
|
||||||
AdjustWidth(itemInfo, maxRNO, formatInfo, mytab);
|
AdjustWidth(itemInfo, maxRNO, formatInfo, mytab);
|
||||||
bool adjustAgain = ((itemInfo.MyTab != null && itemInfo.MyTab.Position == 0)||itemInfo.MyPrevious.FormatStepData.TabData.IsTransition) ? true : false;
|
bool adjustAgain = ((itemInfo.MyTab != null && itemInfo.MyTab.Position == 0) || (itemInfo.MyPrevious != null && itemInfo.MyPrevious.FormatStepData != null && itemInfo.MyPrevious.FormatStepData.TabData.IsTransition)) ? true : false;
|
||||||
if (!itemInfo.IsSection && itemInfo.FormatStepData.NumberHighLevel && itemInfo.IsRNOPart && (MyTopRNO == null || itemInfo.ItemID == MyTopRNO.MyItemInfo.ItemID))
|
if (!itemInfo.IsSection && itemInfo.FormatStepData.NumberHighLevel && itemInfo.IsRNOPart && (MyTopRNO == null || itemInfo.ItemID == MyTopRNO.MyItemInfo.ItemID))
|
||||||
{
|
{
|
||||||
// adjust the x-offset of the RNO to include the tab.
|
// adjust the x-offset of the RNO to include the tab.
|
||||||
@ -1671,7 +1679,7 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
// For background formats, HLS's or Caution or any Notes have tab on line and then text
|
// For background formats, HLS's or Caution or any Notes have tab on line and then text
|
||||||
// on line below (with space in between)
|
// on line below (with space in between)
|
||||||
if (IsBackgroundStep() && itemInfo.MyTab.AltPrintTab.Trim() != "")
|
if (IsBackgroundStep() && itemInfo.MyTab != null && itemInfo.MyTab.AltPrintTab != null && itemInfo.MyTab.AltPrintTab.Trim() != "")
|
||||||
yoff = YOffset = yoff + (2 * SixLinesPerInch);
|
yoff = YOffset = yoff + (2 * SixLinesPerInch);
|
||||||
|
|
||||||
float yForCheckoff = yoff; //0; - default checkoff row is same as FIRST line of text
|
float yForCheckoff = yoff; //0; - default checkoff row is same as FIRST line of text
|
||||||
|
Loading…
x
Reference in New Issue
Block a user