B2016-130: Copy and paste replace steps causing missing and duplicate items in tree (problems with ‘NextItems’)
This commit is contained in:
@@ -153,7 +153,7 @@ namespace Volian.Print.Library
|
||||
{
|
||||
if ((childItemInfo.IsCaution || childItemInfo.IsNote) &&
|
||||
childItemInfo.MyPrevious != null && childItemInfo.MyPrevious.MyContent.Type != childItemInfo.MyContent.Type &&
|
||||
childItemInfo.NextItemCount > 0 && childItemInfo.NextItem!= null && childItemInfo.MyContent.Type == childItemInfo.NextItem.MyContent.Type)
|
||||
childItemInfo.NextItem != null && childItemInfo.MyContent.Type == childItemInfo.NextItem.MyContent.Type)
|
||||
childItemInfo.SetupTags(); // added for V.C. Summer Transition caution in EOP-15.0 step 5.4
|
||||
if (lastHeader != null)
|
||||
{
|
||||
@@ -372,7 +372,7 @@ namespace Volian.Print.Library
|
||||
if (nxt != null && (nxt.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DoubleBoxHLS) == E_DocStructStyle.DoubleBoxHLS) nxtIsBoxed = 0;
|
||||
yoff += (nxtIsBoxed * vlnPrintObject.SixLinesPerInch);
|
||||
}
|
||||
if (childItemInfo.IsSequential && childItemInfo.NextItemCount > 0 && childItemInfo.MyParent.IsHigh && ((childItemInfo.MyDocStyle.StructureStyle.Style & E_DocStructStyle.XBlankW1stLevSub) == E_DocStructStyle.XBlankW1stLevSub))
|
||||
if (childItemInfo.IsSequential && childItemInfo.NextItem != null && childItemInfo.MyParent.IsHigh && ((childItemInfo.MyDocStyle.StructureStyle.Style & E_DocStructStyle.XBlankW1stLevSub) == E_DocStructStyle.XBlankW1stLevSub))
|
||||
yoff += vlnPrintObject.SixLinesPerInch;
|
||||
boxHLS = false;
|
||||
lastChild = childItemInfo;
|
||||
@@ -811,7 +811,7 @@ namespace Volian.Print.Library
|
||||
{
|
||||
// This section of code draws the lines around the substeps (the actual table part)
|
||||
Paragraph horzLine = new Paragraph(ii.ActiveFormat.PlantFormat.FormatData.BoxList[0].BXHorz, iSymblFont);
|
||||
bool bottomOfTable = (ii.NextItem == null || ii.NextItemCount == 0) ||
|
||||
bool bottomOfTable = ii.NextItem == null ||
|
||||
(MyPageHelper.ParaBreaks.Count > 0 && MyPageHelper.ParaBreaks[0].MyItemInfo.ItemID == ii.NextItem.ItemID);
|
||||
// if bottom of table use different cross/beg/end chars than if in middle of table.
|
||||
Paragraph leftLine = new Paragraph(bottomOfTable ? bx.BXLLC : bx.BXMLS, iSymblFont);
|
||||
@@ -857,7 +857,7 @@ namespace Volian.Print.Library
|
||||
// Now handle middle parts of the table. For whatever sub level we're at, draw the cross character
|
||||
// and the horizontal. This is case where the component number may have multiple descriptions,positions, etc. associated
|
||||
// with it.
|
||||
if (!ii.MyParent.IsHigh && ii.NextItem != null && ii.NextItemCount > 0)
|
||||
if (!ii.MyParent.IsHigh && ii.NextItem != null)
|
||||
{
|
||||
// draw horizontally from this sublevel to the end.
|
||||
int sublev = 0;
|
||||
@@ -2283,15 +2283,17 @@ namespace Volian.Print.Library
|
||||
// Go to the parent, and find its next and check if it or any of its substeps or next steps or any of their substeps have supinfo,
|
||||
// and if so, return the id.
|
||||
ItemInfo par = ii.MyParent;
|
||||
if (!par.IsSection && par.NextItems != null && par.NextItems.Count > 0)
|
||||
ItemInfo parsnxt = par.GetNext();
|
||||
if (!par.IsSection && parsnxt != null)
|
||||
{
|
||||
par = par.NextItem;
|
||||
par = parsnxt;
|
||||
while (par != null && !par.IsSection)
|
||||
{
|
||||
id = GetIdThatHasSupInfoItemsSibNext(par, startid);
|
||||
if (id != -1) return id;
|
||||
par = par.MyParent;
|
||||
if (!par.IsSection && par.NextItems != null && par.NextItems.Count > 0) par = par.NextItem;
|
||||
ItemInfo sparsnxt = par.GetNext();
|
||||
if (!par.IsSection && sparsnxt != null) par = sparsnxt;
|
||||
else return -1;
|
||||
}
|
||||
}
|
||||
@@ -2303,7 +2305,7 @@ namespace Volian.Print.Library
|
||||
int id = -1;
|
||||
while (ii != null)
|
||||
{
|
||||
SectionInfo supInfoSect = ii.MyActiveSection as SectionInfo;
|
||||
SectionInfo supInfoSect = ii.ActiveSection as SectionInfo;
|
||||
// if there is a pagebreak on this step section step, quit looking for supinfos. The
|
||||
// break has to occur here.
|
||||
if (supInfoSect.StepSectPageBreaks.Contains(ii.ItemID)) return -1;
|
||||
|
Reference in New Issue
Block a user