@ -268,7 +268,7 @@ namespace Volian.Print.Library
// F2021-038: SHE/SHEA format - Less space after boxes
if ( didSeparateBoxChgYAdjust & & childItemInfo . IsStep & & childItemInfo . FormatStepData . NoYBxAdjust ) yoff - = vlnPrintObject . SixLinesPerInch ;
int ln = 1 ; // a format flag determines whether there is a space before the note/caution.
//if (childItemInfo.FormatStepData.OneLineBeforeTab) ln++;
//if (childItemInfo.FormatStepData.OneLineBeforeTab) ln++;
if ( childItemInfo . MixCautionNotesDiffType ( ) ) ln + = 2 ;
box . YOffset = yoff + ( ( ln - 1 ) * vlnPrintObject . SixLinesPerInch ) ;
if ( childItemInfo . FormatStepData . OneLineBeforeTab ) ln + + ;
@ -419,9 +419,9 @@ namespace Volian.Print.Library
if ( box ! = null & & box . MyBox ! = null )
{
box . Height = yoff - box . YOffset ; // new height, with children
// C2017-024 Wolf Creek wanted a hold point with out text and no extra blank lines in the caution/note box
// so if they put only a hard space in for the text, then we will print the note/caution box with only the tab text
// B2018-077 added check for parts under the note (ex. a table off of the note text) fix for Calvert OI-27B 6.11.B and 6.12.B
// C2017-024 Wolf Creek wanted a hold point with out text and no extra blank lines in the caution/note box
// so if they put only a hard space in for the text, then we will print the note/caution box with only the tab text
// B2018-077 added check for parts under the note (ex. a table off of the note text) fix for Calvert OI-27B 6.11.B and 6.12.B
if ( box . MyParent . MyItemInfo . MyContent . Text . StartsWith ( @"\u160?" ) & & box . MyParent . MyItemInfo . DisplayText . Length = = 1 & & box . MyParent . MyItemInfo . MyContent . ContentPartCount = = 0 )
{
box . Height - = 3 * vlnPrintObject . SixLinesPerInch ;
@ -765,8 +765,8 @@ namespace Volian.Print.Library
int countLine = 0 ;
string preSuf_Fix = ( ii . FormatStepData . Prefix ! = null & & ii . FormatStepData . Prefix ! = "" ) ? ii . FormatStepData . Prefix : null ;
if ( preSuf_Fix ! = null ) countLine + + ; // account for a line of prefix (if no \par)
// if this is a proportional font, need to 'draw' the prefix/suffix. NOTE that the suffix should
// just list the headers and the prefix can be 'empty'.
// if this is a proportional font, need to 'draw' the prefix/suffix. NOTE that the suffix should
// just list the headers and the prefix can be 'empty'.
if ( ii . FormatStepData . Font . FontIsProportional ( ) )
{
float yLocVertLine = yLocation + ( lpi * 1.5F ) ; // +(lpi / 2);
@ -959,7 +959,7 @@ namespace Volian.Print.Library
//if (MyItemInfo.InList(11019,11024,111026)) // RHM20150507 Table Scrunch
// Console.WriteLine("here");
float heightBefore = ( MyGrid . Height + 4 ) * MyPageHelper . YMultiplier ; // B2020-014 added parenthesis was calculating wrong for 7lpi Callaway FSG-7 Attachment 7
// B2018-033 Account for bottom continue message when seeing if a scrunched table will fit
// B2018-033 Account for bottom continue message when seeing if a scrunched table will fit
float ySizeBtmCtnMess = GetBottomContinueMessageSize ( MyItemInfo . MyDocStyle ) ;
// B2018-085 Ignore the bottom continue message if the Table is the last part of the step.
if ( ySizeBtmCtnMess > 0 & & MyParent . MyItemInfo . IsHigh & & YBottomMost = = MyParent . YBottomMost ) ySizeBtmCtnMess = 0 ;
@ -974,7 +974,7 @@ namespace Volian.Print.Library
MyPageHelper . TableAdjustment + = ( heightBefore - heightAfter ) ;
MyPageHelper . AdjustedTable = this ; // B2020-059 - save the information of the table that is being compressed (used in RTF2PDF.cs TextAt())
MyPageHelper . AdjustedTableYtop = yLocation ; // B2020-059 save the top location of the compressed table (used in RTF2PDF.cs TextAt())
//B2018-092 Determine if the Table is too big by checking it including either 6 LPI or 7 LPI as appropriate
//B2018-092 Determine if the Table is too big by checking it including either 6 LPI or 7 LPI as appropriate
if ( heightAfter * MyPageHelper . YMultiplier < ( yLocation - yBottomMargin - ySizeBtmCtnMess ) )
{
// B2018-081 - Removed error log message if the code was able to properly adjust the table
@ -1122,11 +1122,11 @@ namespace Volian.Print.Library
if ( MyItemInfo . MyContent . Text . ToUpper ( ) . Contains ( "LINK:TR" ) & & MyItemInfo . MyContent . ContentTransitionCount = = 0 )
Console . WriteLine ( "Missing Transition {0}" , MyItemInfo . ItemID ) ;
chk1 . SetLocalDestination ( string . Format ( "ItemID={0}" , MyItemInfo . ItemID ) ) ; // Destination
// B2019-052: If multiple ROs/Transitions within a step, each should have a their own link rather than all linking to same thing.
// Note the pdf link code that was here was moved to Rtf2iTextSharp.cs in DoVisitText so that each 'chunk' could have a link.
// The code that remained here was the code that marks the destination for each step & the code that does the pdf links for
// enhanced steps.
// Also, the method GetDefaultItemInfo was moved to Rtf2iTextSharp.cs also - it was only called from code that was moved.
// B2019-052: If multiple ROs/Transitions within a step, each should have a their own link rather than all linking to same thing.
// Note the pdf link code that was here was moved to Rtf2iTextSharp.cs in DoVisitText so that each 'chunk' could have a link.
// The code that remained here was the code that marks the destination for each step & the code that does the pdf links for
// enhanced steps.
// Also, the method GetDefaultItemInfo was moved to Rtf2iTextSharp.cs also - it was only called from code that was moved.
StepConfig sc = new StepConfig ( MyItemInfo . MyContent . Config ) ;
DVEnhancedDocuments dveds = MyItemInfo . MyDocVersion . DocVersionConfig . MyEnhancedDocuments ;
@ -1208,7 +1208,7 @@ namespace Volian.Print.Library
int fontStyle = 0 ;
bool underline = false ;
if ( pi = = null ) // The header for the signoffs is missing in the current section format.
// An Example can currently be found in Calvert OI-34
// An Example can currently be found in Calvert OI-34
{
if ( ! MissingInitials ) // Only show this once.
{
@ -1454,9 +1454,9 @@ namespace Volian.Print.Library
private void ResetDocStyleAndValues ( ref float yTopMargin , ref float yBottomMargin )
{
float _PointsPerPage = PDFPageSize . PaperSizePoints ( MyItemInfo . ActiveFormat . PlantFormat . FormatData . PDFPageSize . PaperSize ) ; // C2020-002 paper size is now set in the format files
// if this document style has another style that is for pages other than first, we need to
// reset the document style off of this section AND reset docstyle values used.
// C2018-003 fixed use of getting the active section
// if this document style has another style that is for pages other than first, we need to
// reset the document style off of this section AND reset docstyle values used.
// C2018-003 fixed use of getting the active section
if ( MyItemInfo . ActiveSection ! = null & & ( MyItemInfo . ActiveSection . MyDocStyle . StructureStyle . Where & E_DocStyleUse . UseOnFirstPage ) > 0 )
{
ItemInfo ii = ( ItemInfo ) MyItemInfo . ActiveSection ;
@ -1501,9 +1501,9 @@ namespace Volian.Print.Library
ItemInfo itemInfo = tmp ;
if ( itemInfo . IsCautionOrNotePart ) itemInfo = itemInfo . ActiveParent as ItemInfo ; // if caution/note get to its associated step
itemInfo = itemInfo . ActiveParent as ItemInfo ; // don't want this one in the combined tab, start at parent
// B2018-084: continue message had bullets in it that didn't have correct font. The message should not have had bullets at
// all - in the following line, there was an 'if' rather than a 'while' - go up parents until find the correct step type
// don't just go up 1 level.
// B2018-084: continue message had bullets in it that didn't have correct font. The message should not have had bullets at
// all - in the following line, there was an 'if' rather than a 'while' - go up parents until find the correct step type
// don't just go up 1 level.
while ( ! itemInfo . IsHigh & & ! itemInfo . IsSequential & & ! itemInfo . IsSection ) itemInfo = itemInfo . ActiveParent as ItemInfo ;
string prTab = "" ;
string thisTab = itemInfo . MyTab . CleanText . Trim ( ) ;
@ -2081,8 +2081,8 @@ namespace Volian.Print.Library
YTopMost = OutputOtherPageSteps ( cb , YTopMost , yPageStart , yTopMargin , yBottomMargin ) ;
if ( MyPageHelper . NotesToFootNotes ! = null & & MyPageHelper . NotesToFootNotes . Count > 0 ) MyPageHelper . NotesToFootNotesYoffset = CalculateYLocation ( yLocation , yTopMargin ) ;
MyPromsPrinter . NewPage ( ) ; // HLS (7 lpi) breakif (MyItemInfo.IsSection)
//_MyLog.InfoFormat("NewPage 12 {0}", cb.PdfWriter.CurrentPageNumber);
//Console.WriteLine("'b3',{0},'{1}',{2},{3},{4},{5},{6}", MyItemInfo.ItemID, MyItemInfo.ShortPath, yTopMargin, yPageStart, yLocation, YTopMost, YOffset);
//_MyLog.InfoFormat("NewPage 12 {0}", cb.PdfWriter.CurrentPageNumber);
//Console.WriteLine("'b3',{0},'{1}',{2},{3},{4},{5},{6}", MyItemInfo.ItemID, MyItemInfo.ShortPath, yTopMargin, yPageStart, yLocation, YTopMost, YOffset);
ResetDocStyleAndValues ( ref yTopMargin , ref yBottomMargin ) ;
//Console.WriteLine("'a3',{0},'{1}',{2},{3},{4},{5},{6}", MyItemInfo.ItemID, MyItemInfo.ShortPath, yTopMargin, yPageStart, yLocation, YTopMost, YOffset);
DebugText . WriteLine ( "Paginate3" ) ;
@ -2970,9 +2970,9 @@ namespace Volian.Print.Library
float colPos = docstyle . Layout . LeftMargin + docstyle . Continue . Top . Margin ? ? 0 ;
if ( ! docstyle . Continue . Top . PlaceAtLeftMargin ) //F2019-033 when true position with respect only to the left margin
colPos + = XOffsetBox ; //XOffsetbox get set when the tables, figures & equations were beyond the border and needed repositioned
// C2019-044 for BNPP, put the top continue message on the same row as the checkoff/signoff heading
// RowOverride specifies the position of the top continue message
// For BNPP, RowOverride is set to the same row as the checkoff header is set to in the pagelist
// C2019-044 for BNPP, put the top continue message on the same row as the checkoff/signoff heading
// RowOverride specifies the position of the top continue message
// For BNPP, RowOverride is set to the same row as the checkoff header is set to in the pagelist
if ( docstyle . Continue . Top . RowOverride ! = null )
{
float adjRowPosition = ( float ) docstyle . Layout . TopMargin - ( float ) docstyle . Continue . Top . RowOverride ;
@ -3054,8 +3054,8 @@ namespace Volian.Print.Library
msg_yLocation = msg_yLocation + yLocation - ( ( yLocation - yBottomMargin ) / 2 ) ; // +SixLinesPerInch; // (need this for IP3)
msg_yLocation = Math . Max ( msg_yLocation , yBottomMargin + SixLinesPerInch ) ;
break ;
case E_ContBottomLoc . BottomOfPage : // place continue message at bottom of page
//msg_yLocation = yBottomMargin + 2 * SixLinesPerInch + (float)docstyle.Layout.FooterLength; // 2 lines above bottom margin
case E_ContBottomLoc . BottomOfPage : // place continue message at bottom of page
//msg_yLocation = yBottomMargin + 2 * SixLinesPerInch + (float)docstyle.Layout.FooterLength; // 2 lines above bottom margin
msg_yLocation = msg_yLocation + yBtmMarginForMsg + ( float ) docstyle . Layout . FooterLength ;
// if (MyPageHelper.YMultiplier != 1.0F) msg_yLocation = msg_yLocation / MyPageHelper.YMultiplier;
break ;
@ -3999,10 +3999,10 @@ namespace Volian.Print.Library
if ( YOffset ! = 0 & & MyItemInfo . FormatStepData ! = null & &
MyItemInfo . MyPrevious = = null & & MyItemInfo . FormatStepData . ThreeBlanksAbove & & ( ! MyItemInfo . IsNote | | MyItemInfo . MyParent . Cautions = = null ) )
addExtraSpace = 24 ; // already has one blank line above, added two more
//if (YOffset != 0 && MyItemInfo.FormatStepData != null && MyItemInfo.FormatStepData.StepLayoutData.STExtraSpace > 0)
// addExtraSpace = (float)MyItemInfo.FormatStepData.StepLayoutData.STExtraSpace;
// if this plant has the AlwaysUseExtraLines and there are notes/cautions above the hls, don't add in the
// extra space:
//if (YOffset != 0 && MyItemInfo.FormatStepData != null && MyItemInfo.FormatStepData.StepLayoutData.STExtraSpace > 0)
// addExtraSpace = (float)MyItemInfo.FormatStepData.StepLayoutData.STExtraSpace;
// if this plant has the AlwaysUseExtraLines and there are notes/cautions above the hls, don't add in the
// extra space:
if ( itemInfo . IsHigh & & ( itemInfo . Cautions ! = null | | itemInfo . Notes ! = null ) )
{
if ( ( itemInfo . Cautions ! = null & & itemInfo . Cautions [ 0 ] . FormatStepData . AlwaysUseExtraLines ) | | ( itemInfo . Notes ! = null & & itemInfo . Notes [ 0 ] . FormatStepData . AlwaysUseExtraLines ) )
@ -4078,7 +4078,7 @@ namespace Volian.Print.Library
yoff = YOffset = yoff + ( 2 * SixLinesPerInch ) ;
CheckOff co = itemInfo . GetCheckOffStep ( ) ;
float yForCheckoff = yoff ; //0; - default checkoff row is same as FIRST line of text
// if dropCheckoff is true, then the checkoff is place on the same of row as the LAST line of text
// if dropCheckoff is true, then the checkoff is place on the same of row as the LAST line of text
bool dropCheckoff = itemInfo . ActiveFormat . PlantFormat . FormatData . ProcData . CheckOffData . DropCheckOff
| | ( co ! = null & & co . DropCheckOff ) ;
if ( itemInfo . MyContent . MyGrid ! = null )
@ -4490,10 +4490,10 @@ namespace Volian.Print.Library
if ( MyTab ! = null ) MyTab . YOffset = ChildrenRight [ 0 ] . YOffset ;
if ( PartsRight . Count > 0 ) PartsRight [ 0 ] . YOffset = ChildrenRight [ 0 ] . YOffset ;
//B2020-160 use YTopMost instead of Yoffset if there are children above.
// Get the minimun value between the AER and RNO YtopMost.
// example. Calvert AOP-7E/XIII/Step A5.h Unit 2 Approved set
// Get the minimun value between the AER and RNO YtopMost.
// example. Calvert AOP-7E/XIII/Step A5.h Unit 2 Approved set
//B2021-027 use YOffset if there isn't any children above (AER).
// example: Catawba Unit 1 AP s; AP/1/A/5500/050; Enclosure 8 step 1
// example: Catawba Unit 1 AP s; AP/1/A/5500/050; Enclosure 8 step 1
if ( ChildrenAbove . Count = = 0 )
YTopMost = ChildrenRight [ 0 ] . ChildrenAbove [ 0 ] . YOffset ; //B2021-027
else
@ -4871,7 +4871,7 @@ namespace Volian.Print.Library
}
results . Add ( responsStr . Substring ( start , lastspace - start ) . Trim ( " " . ToCharArray ( ) ) + "\r\n" ) ;
start = lastspace + ( spFound ? 1 : 0 ) ; // increment start based on whether a space is found, i.e. if no space keep at 'indx'
// width either is equal to width of text after the last space, or is zero if at the maxlen of width:
// width either is equal to width of text after the last space, or is zero if at the maxlen of width:
width = ( indx - lastspace - 1 ) > 0 ? indx - lastspace - 1 : 0 ;
lastspace = 0 ;
}
@ -5375,7 +5375,7 @@ namespace Volian.Print.Library
XOffset - = ( XOffset - ( XOffset * ( float ) MyItemInfo . FormatStepData . Font . CPI / 12 ) ) ;
}
XOffset - = 12 ; // This makes the 16bit & 32bit align very closely.
// if outside of the page margins then center within the page margins
// if outside of the page margins then center within the page margins
float xOffset2 = ( float ) itemInfo . MyDocStyle . Layout . LeftMargin ;
float xWidth2 = ( float ) itemInfo . MyDocStyle . Layout . PageWidth ;
if ( XOffset + Width > xOffset2 + xWidth2 )
@ -5802,19 +5802,19 @@ namespace Volian.Print.Library
xoff = XOffset + ( para . Width / 2 ) + ( hdrWidth / 2 ) ; // XOffset has left margin included
}
else
xoff = XOffset ; // XOffset has left margin included
// KEEP: This may be needed in the future to fix location of 'OR's when Separator location="0"
// the following code would place the 'OR' at the location of the tab rather than text. This
// is how 16bit was. However, a number of plants had been sent out with the xoffset at the xlocation
// of text (does not match 16bit) when this was found for BGE OI3/OI-1B/6.1.B.4. Previous releases
// went to CAT, MCG, FPL, NSP.
//{
// if (this.MyTab != null)
// xoff = this.MyTab.XOffset;
// else
// xoff = XOffset;
//}
// B2018-096 AEP 082.002CD Note Box overlapping Step Box
xoff = XOffset ; // XOffset has left margin included
// KEEP: This may be needed in the future to fix location of 'OR's when Separator location="0"
// the following code would place the 'OR' at the location of the tab rather than text. This
// is how 16bit was. However, a number of plants had been sent out with the xoffset at the xlocation
// of text (does not match 16bit) when this was found for BGE OI3/OI-1B/6.1.B.4. Previous releases
// went to CAT, MCG, FPL, NSP.
//{
// if (this.MyTab != null)
// xoff = this.MyTab.XOffset;
// else
// xoff = XOffset;
//}
// B2018-096 AEP 082.002CD Note Box overlapping Step Box
vlnHeader myHeader = new vlnHeader ( this , cb , itemInfo . MyHeader . Text , itemInfo . MyHeader . CleanText . TrimStart ( " " . ToCharArray ( ) ) , xoff + AdjustHeader + _MyBoxLeftAdj , YOffset , itemInfo . MyHeader . MyFont ) ;
PartsAbove . Add ( myHeader ) ;
//return myHeader.Height + (!MyItemInfo.MyDocStyle.SpecialStepsFoldout || (MyItemInfo.MyDocStyle.ExtraLineHeader && (MyItemInfo.IsCaution || MyItemInfo.IsNote)) ? SixLinesPerInch : 0);
@ -6251,9 +6251,9 @@ namespace Volian.Print.Library
//Adjust Indent for Wolf Creek Background format flag
float indentBG2 = itemInfo . IsPartOfBackgroundStep ( ) ? itemInfo . FormatStepData . Font . CharsToTwips * 2 : 0 ;
XOffset = childindent + MyParent . XOffset + indentBG2 ; //(itemInfo.FormatStepData.Font.CharsToTwips * 2);
// B2016-164: Added the following 'if' so that the width is not recalculated if in the alarm format & the parent has a template
// B2016-168: The fix for 164 broke deviation document printing. The if statement was fixed for both:
// B2019-057 Added a check to see if there is a width override for this step element (Robinson AOP Backgrounds - paragraphs)
// B2016-164: Added the following 'if' so that the width is not recalculated if in the alarm format & the parent has a template
// B2016-168: The fix for 164 broke deviation document printing. The if statement was fixed for both:
// B2019-057 Added a check to see if there is a width override for this step element (Robinson AOP Backgrounds - paragraphs)
float wdthovrd = ( itemInfo . FormatStepData . WidthOverride = = null ) ? 0 : ( float ) ToInt ( itemInfo . FormatStepData . WidthOverride , maxRNO ) ;
if ( ( ! itemInfo . ActiveFormat . PlantFormat . FormatData . PrintData . SpecialCaseCalvertAlarm | | ! UseTemplateWidthOrXOff ( itemInfo . MyParent ) ) & & wdthovrd = = 0 )
Width = ( float ) itemInfo . MyDocStyle . Layout . PageWidth - ( float ) itemInfo . MyDocStyle . Layout . LeftMargin - indentBG2 ;
@ -7272,3 +7272,4 @@ namespace Volian.Print.Library
}
}
}