BGE: Fixed RNO Tab from AER that is bullet
B2014-072: Do not display Page Number checkbox, transitions with page number are included in list of transition types B2014-070: Fix null reference access if editing a procedure step title in the step editor when format uses change ids BGE: RNO X-offset location and note/caution y-offset improvements
This commit is contained in:
@@ -1549,6 +1549,7 @@ namespace Volian.Print.Library
|
||||
}
|
||||
public vlnParagraph(vlnParagraph parent, PdfContentByte cb, ItemInfo itemInfo, float xoff, float yoff, int rnoLevel, int maxRNO, FormatInfo formatInfo, string prefix, string suffix, float yoffRightParent)
|
||||
{
|
||||
float yOffOrig = yoff;
|
||||
BuildPlacekeeper(parent, itemInfo);
|
||||
if (itemInfo.ActiveFormat.MyStepSectionLayoutData.BoxLeftAdj != null)
|
||||
_MyBoxLeftAdj = float.Parse(itemInfo.ActiveFormat.MyStepSectionLayoutData.BoxLeftAdj);
|
||||
@@ -1789,6 +1790,33 @@ namespace Volian.Print.Library
|
||||
yoff = ChildrenAbove.Add(cb, itemInfo.Notes, xoff, yoff, yoff, rnoLevel, maxRNO, formatInfo);
|
||||
}
|
||||
}
|
||||
|
||||
// Without the following, BGE had gaps in y-direction if the AER/RNO both had cautions/notes.
|
||||
// The only time this needs done is if caution/notes are printed in separate columns in dual
|
||||
// column mode (used the DoubleBoxHLS BGE flag for this - if another plant needs this, make it
|
||||
// a more generic flag).
|
||||
if (itemInfo.IsRNOPart && ((itemInfo.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DoubleBoxHLS) == E_DocStructStyle.DoubleBoxHLS) &&
|
||||
rnoLevel == maxRNO && ChildrenAbove.Count > 0 && MyParent.ChildrenAbove.Count > 0)
|
||||
{
|
||||
float yDeltaRno = yoff - yOffOrig;
|
||||
float yDeltaAer = SixLinesPerInch + yOffOrig - MyParent.ChildrenAbove[0].YTopMost;
|
||||
if (yDeltaRno > yDeltaAer)
|
||||
{
|
||||
foreach (vlnParagraph chlda in MyParent.ChildrenAbove)
|
||||
{
|
||||
chlda.AdjustYOffset(yDeltaAer - yDeltaRno);
|
||||
}
|
||||
foreach (vlnParagraph chld in ChildrenAbove)
|
||||
chld.AdjustYOffset(yDeltaAer);
|
||||
yoff -= yDeltaAer;
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (vlnParagraph chld in ChildrenAbove)
|
||||
chld.AdjustYOffset(yDeltaRno);
|
||||
yoff -= yDeltaRno;
|
||||
}
|
||||
}
|
||||
// Comanche Peak uses CAUTION2 type to enter a Step Designator, which is placed to the left of the step number.
|
||||
// The Step Designator information is saved during the processing of the Cautions (ChildrenAbove)
|
||||
// defined in the vlnParagraphs class (of which ChildrenAbove is defined)
|
||||
@@ -2256,6 +2284,15 @@ namespace Volian.Print.Library
|
||||
if (XOffsetCenter != null) XOffset = (float)XOffsetCenter;
|
||||
}
|
||||
|
||||
private void AdjustYOffset(float yDelta)
|
||||
{
|
||||
YOffset -= yDelta;
|
||||
foreach (vlnPrintObject vpo in PartsAbove)
|
||||
vpo.YOffset -= yDelta;
|
||||
foreach (vlnParagraph vp in ChildrenBelow)
|
||||
vp.AdjustYOffset(yDelta);
|
||||
}
|
||||
|
||||
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
|
||||
@@ -3209,9 +3246,22 @@ namespace Volian.Print.Library
|
||||
XOffset -= (itemInfo.MyTab.Offset - hls.MyTab.Offset);
|
||||
}
|
||||
}
|
||||
// if this format has the centerline & numberwithlevel (special tabbing for rno) then
|
||||
// position rno xoffset of the tab to be close to centerline & text indented from there (only BGE)
|
||||
if (itemInfo.MyDocStyle.CenterLineX != null && itemInfo.FormatStepData.NumberWithLevel)
|
||||
{
|
||||
// if the tab is 3 char or smaller, make the indent amount for the rno text 4 characters.
|
||||
// if bigger, make it the additional tab size.
|
||||
int len = myTab.Text.Trim().Length;
|
||||
int adj = len <= 3 ? 4 : (len - 3) + 4;
|
||||
float rnoOffset = (float)itemInfo.MyDocStyle.Layout.LeftMargin + (float)itemInfo.MyDocStyle.CenterLineX + 5;
|
||||
float tPtPerChar = itemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.TabPtsPerChar ?? 6;
|
||||
XOffset = rnoOffset + tPtPerChar * adj;
|
||||
if (myTab != null) myTab.XOffset = rnoOffset;
|
||||
}
|
||||
// if the step is within the rno and we're numbering the high level rno, we've got to account for the
|
||||
// indenting (increased x offset) for the top level rno's tab, if there is no top level rno:
|
||||
if (itemInfo.FormatStepData.NumberHighLevel && (itemInfo.MyHLS.RNOs == null || itemInfo.MyHLS.RNOs.Count <= 0))
|
||||
else if (itemInfo.FormatStepData.NumberHighLevel && (itemInfo.MyHLS.RNOs == null || itemInfo.MyHLS.RNOs.Count <= 0))
|
||||
{
|
||||
// add in the size that an RNO off HLS would take.
|
||||
tabWidth += itemInfo.MyTab.RNOTabWidthAdjust;
|
||||
|
Reference in New Issue
Block a user