From 086e73720cb10e0124ef712938f25e2149aa9bf0 Mon Sep 17 00:00:00 2001 From: Kathy Date: Mon, 16 Mar 2015 13:54:18 +0000 Subject: [PATCH] missing box docstyle messages: {par} consistent with code docstyle messages: {par} consistent with code & missing box Handle par in endmessage Allow for more end message text length Handle asterisk hls draws when steps are compressed For RNO separator, if aer column is further down on page than rno, print rno separator off of aer (was causing separator to print beyond margin) --- PROMS/Formats/fmtall/IP3DEVall.xml | Bin 24736 -> 24732 bytes PROMS/Formats/fmtall/IP3_00all.xml | Bin 33078 -> 33062 bytes PROMS/Formats/fmtall/IP3_02all.xml | Bin 26414 -> 26398 bytes PROMS/Formats/fmtall/IP3_03all.xml | Bin 68314 -> 68226 bytes PROMS/Formats/fmtall/IP3_06all.xml | Bin 28924 -> 28908 bytes PROMS/Formats/fmtall/IP3_07all.xml | Bin 33670 -> 33656 bytes PROMS/Formats/fmtall/IP3_08all.xml | Bin 36394 -> 36368 bytes PROMS/Formats/fmtall/IP3_09all.xml | Bin 33252 -> 33244 bytes PROMS/Formats/fmtall/IP3_10all.xml | Bin 25598 -> 25594 bytes PROMS/Formats/fmtall/IP3_11all.xml | Bin 30984 -> 30964 bytes PROMS/Formats/fmtall/IP3all.xml | Bin 29312 -> 29340 bytes .../VEPROMS.CSLA.Library/Format/DocStyles.cs | 2 +- PROMS/Volian.Print.Library/PromsPrinter.cs | 2 +- PROMS/Volian.Print.Library/vlnBox.cs | 33 +++++++++++++----- PROMS/Volian.Print.Library/vlnParagraph.cs | 16 +++++++-- 15 files changed, 41 insertions(+), 12 deletions(-) diff --git a/PROMS/Formats/fmtall/IP3DEVall.xml b/PROMS/Formats/fmtall/IP3DEVall.xml index a0a1b42040271ccebc11eac1324dca9aaa9ee82c..230fafbf8ef86614980ba9390702d6b4470f0d83 100644 GIT binary patch delta 24 gcmZ2*ka5mI#tm1(I13mO8HyNc8LBrw4BO8M0DMUakpKVy delta 28 kcmbPpka595#tm1(cw-m}7!nzZ7-|`+8Dciy4cpHN0GuBRNdN!< diff --git a/PROMS/Formats/fmtall/IP3_00all.xml b/PROMS/Formats/fmtall/IP3_00all.xml index 8506f53877e0b83727c9e7730ef72f2697f1cf73..2ceed9052c0926601891ca6ab1aee3082f417bbe 100644 GIT binary patch delta 22 ecmdni#I&r5X+v4rN#tj}Z+|>**31D#?rVpPu z3m6g^iWq7cswX#o{5@IguE6981qPEt{`zb__e6#TtFr5p1GcD4ZYZ$XJnMBH7A2b- dKVD=(G1zePgl`#Ks6vw`e3RN9z{uFe2>_3UNf`hD delta 266 zcmZpg%5rNe%LbdE$$UXkktdVD047mfqW}N^ diff --git a/PROMS/Formats/fmtall/IP3_06all.xml b/PROMS/Formats/fmtall/IP3_06all.xml index 6479382ba6109265899bd66641509e4fc5c03e5d..45e8eec25ab0bd353729f5eb17a55e4fe8867866 100644 GIT binary patch delta 28 kcmezKknzn!#tpNQCofA*;4ENBWGG^&WvJdPobr+f0K=#Yxc~qF delta 44 scmaF!knzt$#tpNQxvLps7z!8?8HyNcC(leyy}@8Ib@0 delta 100 zcmey-#?;o%v|*LIs2PJ2g93vqLmop4gDsG4!eGH*HhI6hFL+#}EC5enNll@CS^TNd#fbyHY%XE1Gqct5y diff --git a/PROMS/Formats/fmtall/IP3_08all.xml b/PROMS/Formats/fmtall/IP3_08all.xml index 849863a857d89812c9fa04184ee16ef1dca34004..d00c36e55beb7cb19dc56e49ffe0a9039bc2f7e9 100644 GIT binary patch delta 103 zcmZ2AhiSqbrVX0{n2j0CCV%vkW;O!S{QmYV3Jh8dlLP!kCiexhP1XpsVpQ0i7+9)1 n`B7a0X8}VZLlHwQL-l6=`eIg8p~?RBAGxa;5K64u-m?P$p3)&Z delta 127 zcmbO*hiTOurVX0{7!4+W^pgaV{QmY#S`3o|{6!{f1v+fb2`tg&u4af~C}2orC}OCc je7`P{7tUh<%53(mFJ{HBWU^=dM}8zjz}ghs-m?P$)b}Q7 diff --git a/PROMS/Formats/fmtall/IP3_09all.xml b/PROMS/Formats/fmtall/IP3_09all.xml index 6514b7a45187d2fd580f1cdfd14abb383af5c497..784f1620b6b03f16e9ab9556f20fa2ed6a94d793 100644 GIT binary patch delta 91 zcmaFT%yg%jX@iX)vn7MkWP3kJMPmjt1|u{&Fuasl_uXQOqgs}^og^8A(5eop_ZX~vu*KmJ^(j|8Fl~w delta 79 zcmcc9%=Dz0X@iX)vjv0MWP3kJMuW-GV6xKBe)2BAu+2jLCzQCW8Dba;7!nzZ7-}cq YEKFpKnQU3~nHMg`0F>WsTD+VO01AK^YybcN diff --git a/PROMS/Formats/fmtall/IP3_10all.xml b/PROMS/Formats/fmtall/IP3_10all.xml index 6c79c6f29991d88a8d2690222b9ed6eb605b4723..cfe75bbdf2ca2e95170ed05ccdedf70a50fa1aa6 100644 GIT binary patch delta 34 qcmex&oblIj#tn<&gbNrF8HyNc8Pph*87deY8LSzqH}8ydWd#7<*$UVI delta 22 ecmex$oblgr#tn<&7-J?cj1y&y*}OH*l@$Pgoe8P{ diff --git a/PROMS/Formats/fmtall/IP3_11all.xml b/PROMS/Formats/fmtall/IP3_11all.xml index 3e1fec6d4db5b890ac8ef115883d65c20da89a20..611cfdbed65e2fd98ac5844011d3682c42f6e483 100644 GIT binary patch delta 52 zcmeD9#Q5bSR_ diff --git a/PROMS/Formats/fmtall/IP3all.xml b/PROMS/Formats/fmtall/IP3all.xml index aba2ec8762cb67969e4d9eefd4f2d351d9e1ab9c..1e83446944ef2880f7196c0c065b1cb85056f518 100644 GIT binary patch delta 58 zcmZp8$~fmK _Margin; diff --git a/PROMS/Volian.Print.Library/PromsPrinter.cs b/PROMS/Volian.Print.Library/PromsPrinter.cs index ccb20f02..2dcf5f35 100644 --- a/PROMS/Volian.Print.Library/PromsPrinter.cs +++ b/PROMS/Volian.Print.Library/PromsPrinter.cs @@ -779,7 +779,7 @@ namespace Volian.Print.Library System.Drawing.Drawing2D.Matrix myMatrix = new System.Drawing.Drawing2D.Matrix(0, 1, -1, 0, cb.PdfDocument.PageSize.Height, 0); cb.Transform(myMatrix); } - Rtf2Pdf.TextAt(cb, para, centerpos, ylocation + 6, 100, 12, "", yBottomMargin); + Rtf2Pdf.TextAt(cb, para, centerpos, ylocation + 6, 200, 12, "", yBottomMargin); if (landscape) cb.RestoreState(); } } diff --git a/PROMS/Volian.Print.Library/vlnBox.cs b/PROMS/Volian.Print.Library/vlnBox.cs index 34ad7e00..f4b62fcd 100644 --- a/PROMS/Volian.Print.Library/vlnBox.cs +++ b/PROMS/Volian.Print.Library/vlnBox.cs @@ -415,9 +415,12 @@ namespace Volian.Print.Library // this box is not drawn, it is a series of asterisks drawn above and below text. top = CalculateYOffset(yPageStart, yTopMargin); if (MyPageHelper.YMultiplier != 1) top += 2; - bottom = (yPageStart - (MyParent.YBottomForBox > 0 ? MyParent.YBottomForBox : MyParent.YBottomMost)) * MyPageHelper.YMultiplier; - //_MyLog.WarnFormat("\"ATB\"\t\"{0}\"\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}", MyParent, yPageStart, top, bottom, MyPageHelper.YMultiplier, MyPageHelper.CurrentPageNumber, MyParent.YBottomMost, MyParent.YBottomForBox); - + float ytmpbottom1 = yPageStart - (MyParent.YBottomForBox > 0 ? MyParent.YBottomForBox : MyParent.YBottomMost); + if (MyPageHelper.YMultiplier != 1) + { + ytmpbottom1 = (-1 + yTopMargin - (yTopMargin - ytmpbottom1) * MyPageHelper.YMultiplier) + 2; + } + bottom = ytmpbottom1; // create a new font without any styles such as underline. E_Style es = ((vef.Style & E_Style.Bold) == E_Style.Bold) ? E_Style.Bold : E_Style.None; // if the box has a font, use it - otherwise use this item info's font @@ -485,30 +488,44 @@ namespace Volian.Print.Library { // set the top & bottom of sides. If there is a page break in the middle of box, adjust these. // The vlnBox property, ContainsPageBreak, flags that a break occurred. + float yOffBreak = 0; if (!ContainsPageBreak) { top = CalculateYOffset(yPageStart, yTopMargin); if (MyPageHelper.YMultiplier != 1) top += 2; // if this broke, the bottom is defined where the parabreak occurred. - float yOffBreak = MyPageHelper.ParaBreaks.Count > 0 ? MyPageHelper.ParaBreaks[0].YOffset : 0; + yOffBreak = MyPageHelper.ParaBreaks.Count > 0 ? MyPageHelper.ParaBreaks[0].YOffset : 0; if (yOffBreak > 0) bottom = (yPageStart - yOffBreak) * MyPageHelper.YMultiplier; else - bottom = (yPageStart - (MyParent.YBottomForBox > 0 ? MyParent.YBottomForBox : MyParent.YBottomMost)) * MyPageHelper.YMultiplier; + { + float ytmpbottom = yPageStart - (MyParent.YBottomForBox > 0 ? MyParent.YBottomForBox : MyParent.YBottomMost); + if (MyPageHelper.YMultiplier != 1) + { + ytmpbottom = -1 + yTopMargin - (yTopMargin - ytmpbottom) * MyPageHelper.YMultiplier; + } + bottom = ytmpbottom; + } } else { top = CalculateYOffset(yPageStart, yTopMargin); - float yOffBreak = MyPageHelper.ParaBreaks.Count > 0 ? MyPageHelper.ParaBreaks[0].YOffset : 0; + yOffBreak = MyPageHelper.ParaBreaks.Count > 0 ? MyPageHelper.ParaBreaks[0].YOffset : 0; if (yOffBreak > 0) bottom = (yPageStart - yOffBreak) * MyPageHelper.YMultiplier; else - bottom = (yPageStart - (MyParent.YBottomForBox > 0 ? MyParent.YBottomForBox : MyParent.YBottomMost)) * MyPageHelper.YMultiplier; + { + float ytmpbottom1 = yPageStart - (MyParent.YBottomForBox > 0 ? MyParent.YBottomForBox : MyParent.YBottomMost); + if (MyPageHelper.YMultiplier != 1) + { + ytmpbottom1 = -1 + yTopMargin - (yTopMargin - ytmpbottom1) * MyPageHelper.YMultiplier; + } + bottom = ytmpbottom1; + } top = yTopMargin; // reset top to top margin since there was a page break. } // Check that the bottom is within the bottom margin, if this step spans more than one page, // stop the side asterisks at the bottom margin. (pagination puts inserts a page break here) - //_MyLog.WarnFormat("\"AS\"\t\"{0}\"\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}", MyParent, yPageStart, top, bottom, MyPageHelper.YMultiplier, MyPageHelper.CurrentPageNumber, MyParent.YBottomMost, MyParent.YBottomForBox); if (bottom < yBottomMargin) bottom = yBottomMargin; float height = (SixLinesPerInch * MyPageHelper.YMultiplier) + 4; // just add a little on so that height is a little bigger than character diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index f6aaf3c7..c92ec184 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -328,6 +328,7 @@ namespace Volian.Print.Library // increment the y offset if not doing the ComponentTableFormat else if (!para.UseTemplateKeepOnCurLine(childItemInfo)) yoff = para.YBottomMost; + // para.YBottomMost += para.YBottomMostAdjust; // KBR for IP3 pagination: don't adjust YBottomost until after yoff is set. if (box != null && childItemInfo.FormatStepData != null && childItemInfo.FormatStepData.BoxIt) { box.Height = yoff - box.YOffset - (1.1F * vlnPrintObject.SixLinesPerInch); @@ -3305,12 +3306,17 @@ namespace Volian.Print.Library MyItemInfo.MyHLS.RNOs != null && MyItemInfo.MyHLS.RNOs.Count > 0) ? 2 * SixLinesPerInch : 0; vlnRNOSeparator myRnoSep = new vlnRNOSeparator(this, cb, tmpRnoSepStr, xsep, yoff+yadjSep, formatInfo, bottomChild == null ? true : bottomChild.MyItemInfo.HasChangeBar); // TODO: May need to handle more than one RNO column for RNO Separator - if (rno.LastRNO.MyItemInfo.HasChangeBar == false && bottomChild != null && bottomChild.MyItemInfo.HasChangeBar) + if ((rno.LastRNO.MyItemInfo.HasChangeBar == false && bottomChild != null && bottomChild.MyItemInfo.HasChangeBar) + || (bottomChild != null && bottomChild.YBottom > rno.LastRNO.YBottomMost)) bottomChild.PartsBelow.Add(myRnoSep); else rno.LastRNO.PartsBelow.Add(myRnoSep); MyHighLevelParagraph.YBottomForBox = 0; - if (yadjSep>0) MyHighLevelParagraph.YBottomForBox = yoff; // if hlrno, box before sep + if (yadjSep > 0) + { + MyHighLevelParagraph.YBottomForBox = yoff; // if hlrno, box before sep + //YBottomMostAdjust = SixLinesPerInch; // KBR for IP3 pagination + } yoff += (myRnoSep.Height + SixLinesPerInch); } YBottomMost = yoff; @@ -4025,6 +4031,12 @@ namespace Volian.Print.Library get { return _YBottomMost; } set { _YBottomMost = value; } } + //protected float _YBottomMostAdjust = 0; // KBR for IP3 pagination + //public float YBottomMostAdjust + //{ + // get { return _YBottomMostAdjust; } + // set { _YBottomMostAdjust = value; } + //} protected float _YTopMost; // Top of the paragraph including the children public float YTopMost {