Revised code to assure setpoint ro's were underlined and non-setpoint ro's were not underlined during printing
Revised code to assure ro's in grids are not colored red during printing Added code to override Height property of vlnPrintObject class in vlnBox class Added code to utilize BoxLeftAdj property Removed blank lines and previous debug code Added code to assure spaces between note and caution boxes are added when separate box format flag is used Added code to implement %c token in continue message of Byron/Braidwood formats Added code to utilize BoxLeftAdj property Added code to correct underline termination issue involving reference objects and transitions Changed Height property to virtual to allow overriding in inherited classes
This commit is contained in:
parent
7793bd2397
commit
750c8df895
@ -1179,9 +1179,10 @@ namespace Volian.Controls.Library
|
|||||||
afterRO = Regex.Replace(afterRO, @"(\\[^v \\]+)*\\v(\\[^v \\]+)* .*?\\v0(\\[^v \\]+)*( |$)", ""); // Remove Comments
|
afterRO = Regex.Replace(afterRO, @"(\\[^v \\]+)*\\v(\\[^v \\]+)* .*?\\v0(\\[^v \\]+)*( |$)", ""); // Remove Comments
|
||||||
|
|
||||||
// Underline all ROs, values and Units
|
// Underline all ROs, values and Units
|
||||||
if (_MyItemInfo.ActiveFormat.PlantFormat.FormatData.ROData.UnderlineRo)
|
if (isSetpoint && _MyItemInfo.ActiveFormat.PlantFormat.FormatData.ROData.UnderlineRo)
|
||||||
{
|
{
|
||||||
// TO DO: Need to check if step text is already underlined
|
// TO DO: Need to check if step text is already underlined
|
||||||
|
if ((_MyItemInfo.FormatStepData.Font.Style & E_Style.Underline) == 0)
|
||||||
rtnstr = @"\ul " + rtnstr + @"\ulnone ";
|
rtnstr = @"\ul " + rtnstr + @"\ulnone ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -183,6 +183,11 @@ namespace Volian.Print.Library
|
|||||||
float w = MyTable.ColLeft[cr.c2 + 1] - MyTable.ColLeft[cr.c1];
|
float w = MyTable.ColLeft[cr.c2 + 1] - MyTable.ColLeft[cr.c1];
|
||||||
float h = MyTable.RowTop[cr.r2 + 1] - MyTable.RowTop[cr.r1];
|
float h = MyTable.RowTop[cr.r2 + 1] - MyTable.RowTop[cr.r1];
|
||||||
string str = MyFlexGrid.GetCellRTFString(r, c) ?? string.Empty;
|
string str = MyFlexGrid.GetCellRTFString(r, c) ?? string.Empty;
|
||||||
|
if (str.Contains(@"\cf"))
|
||||||
|
{
|
||||||
|
str = System.Text.RegularExpressions.Regex.Replace(str, @"\\cf[0-9]\\", @"\");
|
||||||
|
str = System.Text.RegularExpressions.Regex.Replace(str, @"\\cf[0-9] ", @"");
|
||||||
|
}
|
||||||
DisplayText dt = new DisplayText(MyFlexGrid.GetMyItemInfo(), str, false);
|
DisplayText dt = new DisplayText(MyFlexGrid.GetMyItemInfo(), str, false);
|
||||||
str = dt.StartText;
|
str = dt.StartText;
|
||||||
using (StepRTB myRTB = new StepRTB())
|
using (StepRTB myRTB = new StepRTB())
|
||||||
|
@ -28,6 +28,16 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
// the following two fields are used if 'boxed' step, thus
|
// the following two fields are used if 'boxed' step, thus
|
||||||
// no 'Box' was defined in format file.
|
// no 'Box' was defined in format file.
|
||||||
|
public override float Height
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_Height == 0)
|
||||||
|
_Height = GetParagraphHeight(MyContentByte, IParagraph, Width);
|
||||||
|
return _Height;
|
||||||
|
}
|
||||||
|
set { _Height = value; }
|
||||||
|
}
|
||||||
public string DefBox = null;
|
public string DefBox = null;
|
||||||
public float DefEnd = 0;
|
public float DefEnd = 0;
|
||||||
|
|
||||||
@ -69,7 +79,12 @@ namespace Volian.Print.Library
|
|||||||
float top = CalculateYOffset(yPageStart, yTopMargin) - (7*MyPageHelper.YMultiplier);
|
float top = CalculateYOffset(yPageStart, yTopMargin) - (7*MyPageHelper.YMultiplier);
|
||||||
float bottom = top - (Height * MyPageHelper.YMultiplier);
|
float bottom = top - (Height * MyPageHelper.YMultiplier);
|
||||||
float left = (float)((MyBox.Start ?? 0) + MyParent.MyItemInfo.MyDocStyle.Layout.LeftMargin);
|
float left = (float)((MyBox.Start ?? 0) + MyParent.MyItemInfo.MyDocStyle.Layout.LeftMargin);
|
||||||
|
float myBoxLeftAdj = 0;
|
||||||
|
if (MyParent.MyItemInfo.ActiveFormat.MyStepSectionLayoutData.BoxLeftAdj != null)
|
||||||
|
myBoxLeftAdj = float.Parse(MyParent.MyItemInfo.ActiveFormat.MyStepSectionLayoutData.BoxLeftAdj);
|
||||||
|
left += myBoxLeftAdj;
|
||||||
float right = (float)MyParent.MyItemInfo.MyDocStyle.Layout.LeftMargin + (float)(MyBox.End ?? DefEnd);
|
float right = (float)MyParent.MyItemInfo.MyDocStyle.Layout.LeftMargin + (float)(MyBox.End ?? DefEnd);
|
||||||
|
right += myBoxLeftAdj;
|
||||||
iTextSharp.text.Color boxColor = new iTextSharp.text.Color(PrintOverride.OverrideBoxColor(System.Drawing.Color.Black));
|
iTextSharp.text.Color boxColor = new iTextSharp.text.Color(PrintOverride.OverrideBoxColor(System.Drawing.Color.Black));
|
||||||
cb.SetColorStroke(boxColor);
|
cb.SetColorStroke(boxColor);
|
||||||
_MyPageHelper.MyGaps.Add(top, top - Height);
|
_MyPageHelper.MyGaps.Add(top, top - Height);
|
||||||
|
@ -129,7 +129,6 @@ namespace Volian.Print.Library
|
|||||||
// into the box code. Without this check, none of the box code is run. This caused a problem
|
// into the box code. Without this check, none of the box code is run. This caused a problem
|
||||||
// for VCS where two different type notes where not getting separate boxes.
|
// for VCS where two different type notes where not getting separate boxes.
|
||||||
bool doSeparateBoxHdrChg = false;
|
bool doSeparateBoxHdrChg = false;
|
||||||
if (childItemInfo.ItemID == 50 || childItemInfo.ItemID == 53) Console.WriteLine("jcb");
|
|
||||||
if (childItemInfo.MyPrevious != null && childItemInfo.MyHeader != null && childItemInfo.MyPrevious.MyHeader != null
|
if (childItemInfo.MyPrevious != null && childItemInfo.MyHeader != null && childItemInfo.MyPrevious.MyHeader != null
|
||||||
&& childItemInfo.MyHeader.CleanText != childItemInfo.MyPrevious.MyHeader.CleanText) doSeparateBoxHdrChg = true;
|
&& childItemInfo.MyHeader.CleanText != childItemInfo.MyPrevious.MyHeader.CleanText) doSeparateBoxHdrChg = true;
|
||||||
|
|
||||||
@ -174,7 +173,7 @@ namespace Volian.Print.Library
|
|||||||
box.Height = yoff - box.YOffset; // new height, with children
|
box.Height = yoff - box.YOffset; // new height, with children
|
||||||
if (childItemInfo.MyHeader != null && childItemInfo.MyPrevious != null
|
if (childItemInfo.MyHeader != null && childItemInfo.MyPrevious != null
|
||||||
&& ((childItemInfo.MyPrevious.IsCaution && childItemInfo.IsCaution) ||
|
&& ((childItemInfo.MyPrevious.IsCaution && childItemInfo.IsCaution) ||
|
||||||
(childItemInfo.MyPrevious.IsNote && childItemInfo.IsNote)))
|
(childItemInfo.MyPrevious.IsNote && childItemInfo.IsNote) || childItemInfo.FormatStepData.SeparateBox))
|
||||||
yoff += vlnPrintObject.SixLinesPerInch * 2;
|
yoff += vlnPrintObject.SixLinesPerInch * 2;
|
||||||
}
|
}
|
||||||
box = new vlnBox();
|
box = new vlnBox();
|
||||||
@ -208,7 +207,6 @@ namespace Volian.Print.Library
|
|||||||
// if doing the component list (FNP), keep track of the bottom most columns' data
|
// if doing the component list (FNP), keep track of the bottom most columns' data
|
||||||
// so this can be returned after the row is done.
|
// so this can be returned after the row is done.
|
||||||
tableBottomMost = Math.Max(tableBottomMost, para.YBottomMost);
|
tableBottomMost = Math.Max(tableBottomMost, para.YBottomMost);
|
||||||
|
|
||||||
if (box != null && box.MyParent == null)
|
if (box != null && box.MyParent == null)
|
||||||
{
|
{
|
||||||
box.MyParent = para;
|
box.MyParent = para;
|
||||||
@ -255,7 +253,6 @@ namespace Volian.Print.Library
|
|||||||
// after the last child substep when doing a Component table row (FNP Component Lists), set the value
|
// after the last child substep when doing a Component table row (FNP Component Lists), set the value
|
||||||
// of the yoff to be the bottom most line in the table.
|
// of the yoff to be the bottom most line in the table.
|
||||||
if (didComponentTableRow) yoff = tableBottomMost;
|
if (didComponentTableRow) yoff = tableBottomMost;
|
||||||
|
|
||||||
return yoff;
|
return yoff;
|
||||||
}
|
}
|
||||||
public float ToPdf(PdfContentByte cb, float yPageStart, ref float yTopMargin, ref float yBottomMargin)
|
public float ToPdf(PdfContentByte cb, float yPageStart, ref float yTopMargin, ref float yBottomMargin)
|
||||||
@ -962,6 +959,8 @@ namespace Volian.Print.Library
|
|||||||
yPageStart -= 2 * SixLinesPerInch;// Allow two lines for top continue message
|
yPageStart -= 2 * SixLinesPerInch;// Allow two lines for top continue message
|
||||||
if (myMsg.IndexOf(@"%d") > -1)
|
if (myMsg.IndexOf(@"%d") > -1)
|
||||||
myMsg = myMsg.Replace(@"%d", MyItemInfo.MyHLS.MyTab.CleanTextNoSymbols.Trim(" .".ToCharArray()));
|
myMsg = myMsg.Replace(@"%d", MyItemInfo.MyHLS.MyTab.CleanTextNoSymbols.Trim(" .".ToCharArray()));
|
||||||
|
if (myMsg.IndexOf(@"%c") > -1)
|
||||||
|
myMsg = myMsg.Replace(@"%c", " ");
|
||||||
if (!PageBreakOnStep)
|
if (!PageBreakOnStep)
|
||||||
MyPageHelper.TopMessage = new vlnText(cb, this, myMsg, myMsg, docstyle.Layout.LeftMargin + XOffsetBox + docstyle.Continue.Top.Margin ?? 0, yTopMargin + 0.1F, docstyle.Continue.Top.Font);// MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font);
|
MyPageHelper.TopMessage = new vlnText(cb, this, myMsg, myMsg, docstyle.Layout.LeftMargin + XOffsetBox + docstyle.Continue.Top.Margin ?? 0, yTopMargin + 0.1F, docstyle.Continue.Top.Font);// MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font);
|
||||||
else
|
else
|
||||||
@ -1340,6 +1339,8 @@ 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)
|
public vlnParagraph(vlnParagraph parent, PdfContentByte cb, ItemInfo itemInfo, float xoff, float yoff, int rnoLevel, int maxRNO, FormatInfo formatInfo, string prefix, string suffix, float yoffRightParent)
|
||||||
{
|
{
|
||||||
|
if (itemInfo.ActiveFormat.MyStepSectionLayoutData.BoxLeftAdj != null)
|
||||||
|
_MyBoxLeftAdj = float.Parse(itemInfo.ActiveFormat.MyStepSectionLayoutData.BoxLeftAdj);
|
||||||
ShowSectionTitles = formatInfo.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.ShowSectionTitles || itemInfo.MyDocStyle.ShowSectionTitles;
|
ShowSectionTitles = formatInfo.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.ShowSectionTitles || itemInfo.MyDocStyle.ShowSectionTitles;
|
||||||
if (itemInfo.IsSection && itemInfo.ActiveSection.DisplayText.ToUpper().Contains("<NO TITLE>") && !itemInfo.ActiveFormat.PlantFormat.FormatData.ProcData.PrintNoTitle) ShowSectionTitles = false;
|
if (itemInfo.IsSection && itemInfo.ActiveSection.DisplayText.ToUpper().Contains("<NO TITLE>") && !itemInfo.ActiveFormat.PlantFormat.FormatData.ProcData.PrintNoTitle) ShowSectionTitles = false;
|
||||||
|
|
||||||
@ -2385,11 +2386,11 @@ namespace Volian.Print.Library
|
|||||||
{
|
{
|
||||||
foreach (UnderlineTerminate ut in utl)
|
foreach (UnderlineTerminate ut in utl)
|
||||||
{
|
{
|
||||||
if (rtf.Contains(ut.Text))
|
MatchCollection mc = Regex.Matches(rtf, "(?<!Link|ReferencedObject|Transition|TransitionRange)" + ut.Text);
|
||||||
|
if (mc.Count > 0)
|
||||||
{
|
{
|
||||||
int indxC = rtf.IndexOf(ut.Text);
|
Match m = mc[mc.Count - 1];
|
||||||
rtf = rtf.Substring(0, indxC) + @"\ulnone " + rtf.Substring(indxC);
|
rtf = rtf.Substring(0, m.Index) + @"\ulnone " + rtf.Substring(m.Index);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2402,6 +2403,7 @@ namespace Volian.Print.Library
|
|||||||
get { return _XOffsetBox; }
|
get { return _XOffsetBox; }
|
||||||
set { _XOffsetBox = value; }
|
set { _XOffsetBox = value; }
|
||||||
}
|
}
|
||||||
|
private float _MyBoxLeftAdj = 0;
|
||||||
private float SetHeader(vlnParagraph para, PdfContentByte cb, ItemInfo itemInfo, FormatInfo formatInfo)
|
private float SetHeader(vlnParagraph para, PdfContentByte cb, ItemInfo itemInfo, FormatInfo formatInfo)
|
||||||
{
|
{
|
||||||
float xoff = (float)itemInfo.MyDocStyle.Layout.LeftMargin;
|
float xoff = (float)itemInfo.MyDocStyle.Layout.LeftMargin;
|
||||||
@ -2419,7 +2421,7 @@ namespace Volian.Print.Library
|
|||||||
if (bx.TabPos > 0)
|
if (bx.TabPos > 0)
|
||||||
xoff += (float)bx.TabPos; // xoff starts as left margin
|
xoff += (float)bx.TabPos; // xoff starts as left margin
|
||||||
else
|
else
|
||||||
xoff += (float)((bx.TxtStart + XOffsetBox + (bx.TxtWidth / 2)) - (hdrWidth / 2)); // xoff starts as left margin
|
xoff += (float)((bx.TxtStart + _MyBoxLeftAdj + XOffsetBox + (bx.TxtWidth / 2)) - (hdrWidth / 2)); // xoff starts as left margin
|
||||||
}
|
}
|
||||||
else if (formatInfo.MyStepSectionLayoutData.Separator.Location > 0)
|
else if (formatInfo.MyStepSectionLayoutData.Separator.Location > 0)
|
||||||
xoff = XOffset + AdjustToCharPosition((float)((para.Width - hdrWidth) / formatInfo.MyStepSectionLayoutData.Separator.Location), itemInfo.MyHeader.MyFont.CPI);
|
xoff = XOffset + AdjustToCharPosition((float)((para.Width - hdrWidth) / formatInfo.MyStepSectionLayoutData.Separator.Location), itemInfo.MyHeader.MyFont.CPI);
|
||||||
@ -2428,7 +2430,7 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
xoff = XOffset; // XOffset has left margin included
|
xoff = XOffset; // XOffset has left margin included
|
||||||
vlnHeader myHeader = new vlnHeader(this, cb, itemInfo.MyHeader.Text, itemInfo.MyHeader.CleanText.TrimStart(" ".ToCharArray()), xoff, YOffset, itemInfo.MyHeader.MyFont);
|
vlnHeader myHeader = new vlnHeader(this, cb, itemInfo.MyHeader.Text, itemInfo.MyHeader.CleanText.TrimStart(" ".ToCharArray()), xoff + _MyBoxLeftAdj, YOffset, itemInfo.MyHeader.MyFont);
|
||||||
PartsAbove.Add(myHeader);
|
PartsAbove.Add(myHeader);
|
||||||
return myHeader.Height + (!MyItemInfo.MyDocStyle.SpecialStepsFoldout || (MyItemInfo.MyDocStyle.ExtraLineHeader && (MyItemInfo.IsCaution || MyItemInfo.IsNote)) ? MyItemInfo.FormatStepData.SpaceIn ? SixLinesPerInch : 0 : 0);
|
return myHeader.Height + (!MyItemInfo.MyDocStyle.SpecialStepsFoldout || (MyItemInfo.MyDocStyle.ExtraLineHeader && (MyItemInfo.IsCaution || MyItemInfo.IsNote)) ? MyItemInfo.FormatStepData.SpaceIn ? SixLinesPerInch : 0 : 0);
|
||||||
}
|
}
|
||||||
@ -2794,7 +2796,7 @@ namespace Volian.Print.Library
|
|||||||
XOffset = (float)itemInfo.MyDocStyle.Layout.LeftMargin + tabWidth + XOffsetBox;
|
XOffset = (float)itemInfo.MyDocStyle.Layout.LeftMargin + tabWidth + XOffsetBox;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
XOffset = (float)itemInfo.MyDocStyle.Layout.LeftMargin + (float)bx.TxtStart + tabWidth + XOffsetBox;
|
XOffset = (float)itemInfo.MyDocStyle.Layout.LeftMargin + (float)bx.TxtStart + _MyBoxLeftAdj + tabWidth + XOffsetBox;
|
||||||
if (myTab != null) myTab.XOffset = XOffset - tabWidth;
|
if (myTab != null) myTab.XOffset = XOffset - tabWidth;
|
||||||
}
|
}
|
||||||
//else if (itemInfo.IsRNOPart && !((ItemInfo)itemInfo.ActiveParent).IsHigh)
|
//else if (itemInfo.IsRNOPart && !((ItemInfo)itemInfo.ActiveParent).IsHigh)
|
||||||
|
@ -97,7 +97,7 @@ namespace Volian.Print.Library
|
|||||||
set { _Width = value; }
|
set { _Width = value; }
|
||||||
}
|
}
|
||||||
protected float _Height;
|
protected float _Height;
|
||||||
public float Height
|
public virtual float Height
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user