diff --git a/PROMS/VEPROMS User Interface/frmSectionProperties.cs b/PROMS/VEPROMS User Interface/frmSectionProperties.cs index e26dd454..a2d106f9 100644 --- a/PROMS/VEPROMS User Interface/frmSectionProperties.cs +++ b/PROMS/VEPROMS User Interface/frmSectionProperties.cs @@ -292,6 +292,10 @@ namespace VEPROMS if ((pf.FormatData.PurchaseOptions & E_PurchaseOptions.AutoTableOfContents) == E_PurchaseOptions.AutoTableOfContents && _SectionConfig.MySection.MyContent.Text.ToUpper() != "TABLE OF CONTENTS") { ppCbIncTOC.Enabled = true; + if (_SectionConfig.MySection.MySectionInfo.MyDocStyle.IncludeInTOC) + ppCbIncTOC.Text = "Exclude from Table of Contents"; + else + ppCbIncTOC.Text = "Include in Table of Contents"; ppCbIncTOC.Checked = _SectionConfig.Section_TOC == "Y"; } if (!_SectionConfig.MySection.MySectionInfo.IsStepSection) diff --git a/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs b/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs index 03ca6b21..3bd90ba5 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs @@ -106,6 +106,18 @@ namespace VEPROMS.CSLA.Library } } #endregion + #region IncludeInTOC + [Category("Miscellaneous")] + [Description("Include in Auto Table Of Contents")] + private LazyLoad _IncludeInTOC; + public bool IncludeInTOC + { + get + { + return LazyLoad(ref _IncludeInTOC, "@IncludeInTOC"); + } + } + #endregion #region UseCheckOffs [Category("Miscellaneous")] [Description("Section Uses Checkoffs")] diff --git a/PROMS/Volian.Print.Library/PromsPrinter.cs b/PROMS/Volian.Print.Library/PromsPrinter.cs index ebc3d085..a29ce4ba 100644 --- a/PROMS/Volian.Print.Library/PromsPrinter.cs +++ b/PROMS/Volian.Print.Library/PromsPrinter.cs @@ -599,7 +599,8 @@ namespace Volian.Print.Library foreach (SectionInfo mySection in ii.Sections) { SectionConfig sc = mySection.MyConfig as SectionConfig; - if (sc != null && sc.Section_TOC == "Y") + if ((mySection.MyDocStyle != null && mySection.MyDocStyle.IncludeInTOC && (sc == null || sc.Section_TOC != "Y")) + || ((mySection.MyDocStyle == null || !mySection.MyDocStyle.IncludeInTOC) && (sc != null && sc.Section_TOC == "Y"))) { // need to do the section number, section title & page number. Page number // has to be put on at end after number of page is known, so use a Template. diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index 8136c754..f7e37060 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -142,6 +142,8 @@ namespace Volian.Print.Library Processed = true; if (_PartsAbove != null && _PartsAbove.Count > 0) yPageStart = PartsAbove.ToPdf(cb, yPageStart, ref yTopMargin, ref yBottomMargin); if (MyItemInfo.IsHigh && MyItemInfo.MyDocStyle.SpecialStepsFoldout) yPageStart -= SixLinesPerInch; + //SHE if (MyItemInfo.IsHigh && !MyItemInfo.ActiveFormat.MyStepSectionLayoutData.DoSTExtraAtTop && (yPageStart - YTopMost == yTopMargin)) + //SHE yPageStart += ((MyItemInfo.FormatStepData == null) ? 0 : MyItemInfo.FormatStepData.StepLayoutData.STExtraSpace ?? 0); float yLocation = CalculateYOffset(yPageStart, yTopMargin); if (MyItemInfo.HasChangeBar && MyPageHelper.ChangeBarDefinition.MyChangeBarType != PrintChangeBar.Without) MyPageHelper.AddChangeBar(DoChangeBar(cb, MyItemInfo, MyPageHelper, XOffset, yLocation, MyPageHelper.MaxRNO, MyItemInfo.ActiveFormat), cbMess); float retval = yLocation; @@ -188,7 +190,8 @@ namespace Volian.Print.Library if (MyItemInfo.IsSection) { SectionConfig sc = MyItemInfo.MyConfig as SectionConfig; - if (sc != null && sc.Section_TOC == "Y") + if ((MyItemInfo.MyDocStyle != null && MyItemInfo.MyDocStyle.IncludeInTOC && (sc == null || sc.Section_TOC != "Y")) + || ((MyItemInfo.MyDocStyle == null || !MyItemInfo.MyDocStyle.IncludeInTOC) && (sc != null && sc.Section_TOC == "Y"))) { string tocKey = string.Format("TOC{0}", MyItemInfo.ItemID); if (MyPageHelper.MyTOCPageCounts.ContainsKey(tocKey)) @@ -1027,6 +1030,14 @@ namespace Volian.Print.Library mytab.XOffset += mytab.Width; XOffset = mytab.XOffset + mytab.Width; } + //SHE if this is the High Level RNO step (MyTopRNO) and we are numbering the RNO, adjust the xoffset to + //SHE include the HLS tab size. + //SHEif (!itemInfo.IsSection && itemInfo.FormatStepData.NumberHighLevel && itemInfo.IsRNOPart && itemInfo.ItemID == MyTopRNO.MyItemInfo.ItemID) + //SHE{ + //SHE float tadj = itemInfo.MyHLS.FormatStepData.TabData.RNOIdentPrint == null || itemInfo.MyHLS.FormatStepData.TabData.RNOIdentPrint == "" ? mytab.Text.Length * 6 : (itemInfo.MyHLS.FormatStepData.TabData.RNOIdentPrint.Length * 6); + //SHE mytab.XOffset += tadj; + //SHE XOffset = mytab.XOffset + (tadj + 6); // had to do this to get it to match 16 bit for SHE. + //SHE} AdjustWidth(itemInfo, maxRNO, formatInfo, mytab); AdjustXOffsetForTab(itemInfo, maxRNO, formatInfo, mytab, xMetaAdj); if (itemInfo.MyHeader != null && itemInfo.MyHeader.Text != null && !doSectTab) @@ -1228,7 +1239,6 @@ namespace Volian.Print.Library CheckOff co = itemInfo.GetCheckOffStep(); if (co != null) { - //float xloc_co = (float)formatInfo.PlantFormat.FormatData.ProcData.CheckOffData.XLocation + (float)itemInfo.MyDocStyle.Layout.LeftMargin; float xloc_co = (float)itemInfo.MyDocStyle.Layout.LeftMargin; if (formatInfo.PlantFormat.FormatData.ProcData.CheckOffData.XLocation != null) xloc_co += (float)formatInfo.PlantFormat.FormatData.ProcData.CheckOffData.XLocation; @@ -1240,9 +1250,12 @@ namespace Volian.Print.Library { int cntspac = 0; xloc_co = mytab.XOffset; + // SHE commented out next two lines - may need to control this by format flag for (int c = 0; c < itemInfo.MyTab.CleanText.Length; c++) if (itemInfo.MyTab.CleanText[c] == ' ') cntspac++; xloc_co = xloc_co - (cntspac * 6); } + //SHE else + //SHE xloc_co = XOffset; //there's no tab - put checkoff at step's xoff. Macro should back up from step's x. } PartsRight.Add(new vlnMacro(xloc_co, yForCheckoff, co.Macro)); @@ -1484,6 +1497,7 @@ namespace Volian.Print.Library vlnParagraph hls1 = MyParent; while (hls1.MyParent != null && !hls1.MyItemInfo.IsHigh) hls1 = hls1.MyParent; float colR = float.Parse(formatInfo.MyStepSectionLayoutData.ColRTable.Split(",".ToCharArray())[itemInfo.ColumnMode]); + //SHE float xLowerLimit = hls1.PartsLeft != null && hls1.PartsLeft.Count > 0 ? hls1.PartsLeft[0].XOffset : hls1.XOffset; float xLowerLimit = hls1.XOffset; float xUpperLimit = hls1.XOffset + hls1.Width + colR * itemInfo.ColumnMode; float TableCenterPos = float.Parse(formatInfo.MyStepSectionLayoutData.TableCenterPos.Split(",".ToCharArray())[itemInfo.ColumnMode]); @@ -2042,7 +2056,7 @@ namespace Volian.Print.Library else if (itemInfo.IsRNOPart && (colOvrd > 0 || !((ItemInfo)itemInfo.ActiveParent).IsHigh)) { if (colOvrd > 0) - { + { XOffset = (int)colOvrd; if (!((ItemInfo)itemInfo.MyParent).IsHigh) { diff --git a/PROMS/fmtxml/WST1all.xml b/PROMS/fmtxml/WST1all.xml index d7884676..9ed43587 100644 Binary files a/PROMS/fmtxml/WST1all.xml and b/PROMS/fmtxml/WST1all.xml differ diff --git a/PROMS/fmtxml/WST2all.xml b/PROMS/fmtxml/WST2all.xml index b6fac361..7b414bea 100644 Binary files a/PROMS/fmtxml/WST2all.xml and b/PROMS/fmtxml/WST2all.xml differ diff --git a/PROMS/fmtxml/WSTALRall.xml b/PROMS/fmtxml/WSTALRall.xml index afd161f0..227390b9 100644 Binary files a/PROMS/fmtxml/WSTALRall.xml and b/PROMS/fmtxml/WSTALRall.xml differ diff --git a/PROMS/fmtxml/WSTBCKall.xml b/PROMS/fmtxml/WSTBCKall.xml index a1f64caa..65773ea9 100644 Binary files a/PROMS/fmtxml/WSTBCKall.xml and b/PROMS/fmtxml/WSTBCKall.xml differ diff --git a/PROMS/fmtxml/wst2.svg b/PROMS/fmtxml/wst2.svg index bdf21ad7..0d71fe03 100644 Binary files a/PROMS/fmtxml/wst2.svg and b/PROMS/fmtxml/wst2.svg differ