diff --git a/PROMS/Formats/fmtall/BNPP1Newall.xml b/PROMS/Formats/fmtall/BNPP1Newall.xml index 9cd0818e..be5bfb8e 100644 Binary files a/PROMS/Formats/fmtall/BNPP1Newall.xml and b/PROMS/Formats/fmtall/BNPP1Newall.xml differ diff --git a/PROMS/VEPROMS.CSLA.Library/Config/StepConfig.cs b/PROMS/VEPROMS.CSLA.Library/Config/StepConfig.cs index 55124d8e..33d36282 100644 --- a/PROMS/VEPROMS.CSLA.Library/Config/StepConfig.cs +++ b/PROMS/VEPROMS.CSLA.Library/Config/StepConfig.cs @@ -400,6 +400,25 @@ namespace VEPROMS.CSLA.Library OnPropertyChanged("SpellCheckerChangedText"); } } + // C2021-015: Barakah High Level Steps in Table of Contents + public bool Step_IncludeInTOC + { + get + { + string s = _Xp["Step", "IncludeInTOC"]; + + if (s == string.Empty) return false; + if (s == "True") return true; + return false; + } + set + { + string s = _Xp["Step", "IncludeInTOC"]; + if (value.ToString() == s) return; + _Xp["Step", "IncludeInTOC"] = value.ToString(); + OnPropertyChanged("Step_IncludeInTOC"); + } + } #region RO image sizing // if the RO image (figure) is resized, save it in the step config, not in the ROImageConfig. If stored in ROImageConfig // the size is set for ALL uses. diff --git a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs index c15dfc36..8531c07d 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs @@ -4821,6 +4821,15 @@ namespace VEPROMS.CSLA.Library return LazyLoad(ref _TofCRemoveGrpNameInSects, "@TofCRemoveGrpNameInSects"); } } + // C2021-015: Barakah High Level Steps in Table of Contents + private LazyLoad _TofCAllowHLS; + public bool TofCAllowHLS + { + get + { + return LazyLoad(ref _TofCAllowHLS, "@TofCAllowHLS"); + } + } private VE_Font _Font; public VE_Font Font { diff --git a/PROMS/Volian.Controls.Library/DisplayTags.Designer.cs b/PROMS/Volian.Controls.Library/DisplayTags.Designer.cs index c69bf251..71d8851a 100644 --- a/PROMS/Volian.Controls.Library/DisplayTags.Designer.cs +++ b/PROMS/Volian.Controls.Library/DisplayTags.Designer.cs @@ -57,6 +57,7 @@ namespace Volian.Controls.Library this.tbFSWd = new System.Windows.Forms.TextBox(); this.lblFSHt = new System.Windows.Forms.Label(); this.lblFSWidth = new System.Windows.Forms.Label(); + this.cbIncludeInTOC = new DevComponents.DotNetBar.Controls.CheckBoxX(); this.groupPanelPaginate.SuspendLayout(); this.groupPanelCheckoff.SuspendLayout(); this.groupPanelChgBar.SuspendLayout(); @@ -76,10 +77,10 @@ namespace Volian.Controls.Library this.groupPanelPaginate.Controls.Add(this.cbPageBreak); this.groupPanelPaginate.DisabledBackColor = System.Drawing.Color.Empty; this.groupPanelPaginate.Dock = System.Windows.Forms.DockStyle.Top; - this.groupPanelPaginate.Location = new System.Drawing.Point(0, 406); - this.groupPanelPaginate.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.groupPanelPaginate.Location = new System.Drawing.Point(0, 330); + this.groupPanelPaginate.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.groupPanelPaginate.Name = "groupPanelPaginate"; - this.groupPanelPaginate.Size = new System.Drawing.Size(269, 71); + this.groupPanelPaginate.Size = new System.Drawing.Size(202, 58); // // // @@ -118,10 +119,10 @@ namespace Volian.Controls.Library // // this.cbPrefPageBreak.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbPrefPageBreak.Location = new System.Drawing.Point(4, 23); - this.cbPrefPageBreak.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.cbPrefPageBreak.Location = new System.Drawing.Point(3, 19); + this.cbPrefPageBreak.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.cbPrefPageBreak.Name = "cbPrefPageBreak"; - this.cbPrefPageBreak.Size = new System.Drawing.Size(238, 17); + this.cbPrefPageBreak.Size = new System.Drawing.Size(195, 15); this.superTooltipTags.SetSuperTooltip(this.cbPrefPageBreak, new DevComponents.DotNetBar.SuperTooltipInfo("Preferred Page Break for Supplemental Info", "", "When set, starts this step at the top of a page.\r\n\r\nkeyboard command: ", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.cbPrefPageBreak.TabIndex = 1; @@ -135,10 +136,10 @@ namespace Volian.Controls.Library // // this.cbPageBreak.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbPageBreak.Location = new System.Drawing.Point(4, 2); - this.cbPageBreak.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.cbPageBreak.Location = new System.Drawing.Point(3, 2); + this.cbPageBreak.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.cbPageBreak.Name = "cbPageBreak"; - this.cbPageBreak.Size = new System.Drawing.Size(140, 17); + this.cbPageBreak.Size = new System.Drawing.Size(122, 15); this.superTooltipTags.SetSuperTooltip(this.cbPageBreak, new DevComponents.DotNetBar.SuperTooltipInfo("Manual Page Break", "", "When set, starts this step at the top of a page.\r\n\r\nkeyboard command: ", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.cbPageBreak.TabIndex = 0; @@ -153,10 +154,10 @@ namespace Volian.Controls.Library // // this.cbCAS.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbCAS.Location = new System.Drawing.Point(4, 11); - this.cbCAS.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.cbCAS.Location = new System.Drawing.Point(3, 1); + this.cbCAS.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.cbCAS.Name = "cbCAS"; - this.cbCAS.Size = new System.Drawing.Size(187, 17); + this.cbCAS.Size = new System.Drawing.Size(162, 15); this.superTooltipTags.SetSuperTooltip(this.cbCAS, new DevComponents.DotNetBar.SuperTooltipInfo("Continuous Action Summary", "", "Include this in the Continuous Action Summary section\r\n\r\nkeyboard command: ", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.cbCAS.TabIndex = 1; @@ -172,10 +173,10 @@ namespace Volian.Controls.Library this.cmbCheckoff.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbCheckoff.FormattingEnabled = true; this.cmbCheckoff.ItemHeight = 17; - this.cmbCheckoff.Location = new System.Drawing.Point(4, 21); - this.cmbCheckoff.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.cmbCheckoff.Location = new System.Drawing.Point(3, 17); + this.cmbCheckoff.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.cmbCheckoff.Name = "cmbCheckoff"; - this.cmbCheckoff.Size = new System.Drawing.Size(257, 23); + this.cmbCheckoff.Size = new System.Drawing.Size(194, 23); this.cmbCheckoff.TabIndex = 0; this.cmbCheckoff.WatermarkFont = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cmbCheckoff.WatermarkText = "select signoff / checkoff"; @@ -188,10 +189,10 @@ namespace Volian.Controls.Library this.groupPanelCheckoff.Controls.Add(this.cmbCheckoff); this.groupPanelCheckoff.DisabledBackColor = System.Drawing.Color.Empty; this.groupPanelCheckoff.Dock = System.Windows.Forms.DockStyle.Top; - this.groupPanelCheckoff.Location = new System.Drawing.Point(0, 178); - this.groupPanelCheckoff.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.groupPanelCheckoff.Location = new System.Drawing.Point(0, 145); + this.groupPanelCheckoff.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.groupPanelCheckoff.Name = "groupPanelCheckoff"; - this.groupPanelCheckoff.Size = new System.Drawing.Size(269, 95); + this.groupPanelCheckoff.Size = new System.Drawing.Size(202, 77); // // // @@ -235,10 +236,10 @@ namespace Volian.Controls.Library this.groupPanelChgBar.Controls.Add(this.rbChgBarOn); this.groupPanelChgBar.DisabledBackColor = System.Drawing.Color.Empty; this.groupPanelChgBar.Dock = System.Windows.Forms.DockStyle.Top; - this.groupPanelChgBar.Location = new System.Drawing.Point(0, 273); - this.groupPanelChgBar.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.groupPanelChgBar.Location = new System.Drawing.Point(0, 222); + this.groupPanelChgBar.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.groupPanelChgBar.Name = "groupPanelChgBar"; - this.groupPanelChgBar.Size = new System.Drawing.Size(269, 133); + this.groupPanelChgBar.Size = new System.Drawing.Size(202, 108); // // // @@ -273,29 +274,30 @@ namespace Volian.Controls.Library // // tbChgID // - this.tbChgID.Location = new System.Drawing.Point(0, 82); - this.tbChgID.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.tbChgID.Location = new System.Drawing.Point(0, 67); + this.tbChgID.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.tbChgID.Name = "tbChgID"; - this.tbChgID.Size = new System.Drawing.Size(107, 22); + this.tbChgID.Size = new System.Drawing.Size(81, 20); this.tbChgID.TabIndex = 4; this.tbChgID.TextChanged += new System.EventHandler(this.tbChgID_TextChanged); // // lblChgId // this.lblChgId.AutoSize = true; - this.lblChgId.Location = new System.Drawing.Point(0, 64); + this.lblChgId.Location = new System.Drawing.Point(0, 52); + this.lblChgId.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.lblChgId.Name = "lblChgId"; - this.lblChgId.Size = new System.Drawing.Size(74, 17); + this.lblChgId.Size = new System.Drawing.Size(58, 13); this.lblChgId.TabIndex = 3; this.lblChgId.Text = "Change ID"; // // rbChgBarOff // this.rbChgBarOff.AutoSize = true; - this.rbChgBarOff.Location = new System.Drawing.Point(0, 32); - this.rbChgBarOff.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.rbChgBarOff.Location = new System.Drawing.Point(0, 26); + this.rbChgBarOff.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.rbChgBarOff.Name = "rbChgBarOff"; - this.rbChgBarOff.Size = new System.Drawing.Size(56, 21); + this.rbChgBarOff.Size = new System.Drawing.Size(45, 17); this.superTooltipTags.SetSuperTooltip(this.rbChgBarOff, new DevComponents.DotNetBar.SuperTooltipInfo("Change Bar OFF", "", "Turn change bar off. Note that \'OVERRIDE\' will turn off a change bar even though" + " text is changed.\r\n\r\nkeyboard command: ", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.rbChgBarOff.TabIndex = 2; @@ -307,10 +309,10 @@ namespace Volian.Controls.Library // rbChgBarOn // this.rbChgBarOn.AutoSize = true; - this.rbChgBarOn.Location = new System.Drawing.Point(0, 5); - this.rbChgBarOn.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.rbChgBarOn.Location = new System.Drawing.Point(0, 4); + this.rbChgBarOn.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.rbChgBarOn.Name = "rbChgBarOn"; - this.rbChgBarOn.Size = new System.Drawing.Size(50, 21); + this.rbChgBarOn.Size = new System.Drawing.Size(41, 17); this.superTooltipTags.SetSuperTooltip(this.rbChgBarOn, new DevComponents.DotNetBar.SuperTooltipInfo("Change Bar ON", "", "Add a change bar on this step\r\n\r\nkeyboard command: ", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.rbChgBarOn.TabIndex = 1; this.rbChgBarOn.TabStop = true; @@ -329,9 +331,9 @@ namespace Volian.Controls.Library this.groupPanelChgStepType.DisabledBackColor = System.Drawing.Color.Empty; this.groupPanelChgStepType.Dock = System.Windows.Forms.DockStyle.Top; this.groupPanelChgStepType.Location = new System.Drawing.Point(0, 0); - this.groupPanelChgStepType.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.groupPanelChgStepType.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.groupPanelChgStepType.Name = "groupPanelChgStepType"; - this.groupPanelChgStepType.Size = new System.Drawing.Size(269, 178); + this.groupPanelChgStepType.Size = new System.Drawing.Size(202, 145); // // // @@ -373,20 +375,20 @@ namespace Volian.Controls.Library // this.lblNoTypeChgReason.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.lblNoTypeChgReason.ForeColor = System.Drawing.Color.Red; - this.lblNoTypeChgReason.Location = new System.Drawing.Point(3, 34); - this.lblNoTypeChgReason.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.lblNoTypeChgReason.Location = new System.Drawing.Point(2, 28); + this.lblNoTypeChgReason.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.lblNoTypeChgReason.Name = "lblNoTypeChgReason"; - this.lblNoTypeChgReason.Size = new System.Drawing.Size(259, 118); + this.lblNoTypeChgReason.Size = new System.Drawing.Size(194, 96); this.lblNoTypeChgReason.TabIndex = 5; // // cbChgAll // this.cbChgAll.AutoSize = true; this.cbChgAll.BackColor = System.Drawing.Color.Transparent; - this.cbChgAll.Location = new System.Drawing.Point(3, 7); - this.cbChgAll.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.cbChgAll.Location = new System.Drawing.Point(2, 6); + this.cbChgAll.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.cbChgAll.Name = "cbChgAll"; - this.cbChgAll.Size = new System.Drawing.Size(153, 21); + this.cbChgAll.Size = new System.Drawing.Size(119, 17); this.superTooltipTags.SetSuperTooltip(this.cbChgAll, new DevComponents.DotNetBar.SuperTooltipInfo("Change Step Type - All At Level", "", "When checked, all steps at the level of current step will have their step type ch" + "anged to the selected type in list below...", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.cbChgAll.TabIndex = 4; @@ -398,11 +400,10 @@ namespace Volian.Controls.Library this.listBoxStepTypes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.listBoxStepTypes.FormattingEnabled = true; - this.listBoxStepTypes.ItemHeight = 16; - this.listBoxStepTypes.Location = new System.Drawing.Point(3, 34); - this.listBoxStepTypes.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.listBoxStepTypes.Location = new System.Drawing.Point(2, 28); + this.listBoxStepTypes.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.listBoxStepTypes.Name = "listBoxStepTypes"; - this.listBoxStepTypes.Size = new System.Drawing.Size(257, 116); + this.listBoxStepTypes.Size = new System.Drawing.Size(194, 95); this.superTooltipTags.SetSuperTooltip(this.listBoxStepTypes, new DevComponents.DotNetBar.SuperTooltipInfo("Possible Step Types", "", "This list allows change of type showing all selections of any possible step type " + "for the current step.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.listBoxStepTypes.TabIndex = 3; @@ -421,10 +422,10 @@ namespace Volian.Controls.Library // // this.cbPlaceKeeperCont.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbPlaceKeeperCont.Location = new System.Drawing.Point(4, 58); - this.cbPlaceKeeperCont.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.cbPlaceKeeperCont.Location = new System.Drawing.Point(3, 39); + this.cbPlaceKeeperCont.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.cbPlaceKeeperCont.Name = "cbPlaceKeeperCont"; - this.cbPlaceKeeperCont.Size = new System.Drawing.Size(183, 17); + this.cbPlaceKeeperCont.Size = new System.Drawing.Size(158, 15); this.superTooltipTags.SetSuperTooltip(this.cbPlaceKeeperCont, new DevComponents.DotNetBar.SuperTooltipInfo("Placekeeper Continuous Action", "", "Include this on the Placekeeper marked as a Continuous Action\r\n\r\nkeyboard command" + ": ", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.cbPlaceKeeperCont.TabIndex = 1; @@ -439,10 +440,10 @@ namespace Volian.Controls.Library // // this.cbPlaceKeeper.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbPlaceKeeper.Location = new System.Drawing.Point(4, 34); - this.cbPlaceKeeper.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.cbPlaceKeeper.Location = new System.Drawing.Point(3, 20); + this.cbPlaceKeeper.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.cbPlaceKeeper.Name = "cbPlaceKeeper"; - this.cbPlaceKeeper.Size = new System.Drawing.Size(95, 17); + this.cbPlaceKeeper.Size = new System.Drawing.Size(84, 15); this.superTooltipTags.SetSuperTooltip(this.cbPlaceKeeper, new DevComponents.DotNetBar.SuperTooltipInfo("Placekeeper", "", "Include this on the Placekeeper\r\n\r\nkeyboard command: ", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.cbPlaceKeeper.TabIndex = 1; this.cbPlaceKeeper.Text = "Placekeeper"; @@ -453,15 +454,16 @@ namespace Volian.Controls.Library this.groupPanelIncludeOn.BackColor = System.Drawing.Color.Transparent; this.groupPanelIncludeOn.CanvasColor = System.Drawing.SystemColors.Control; this.groupPanelIncludeOn.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanelIncludeOn.Controls.Add(this.cbIncludeInTOC); this.groupPanelIncludeOn.Controls.Add(this.cbPlaceKeeperCont); this.groupPanelIncludeOn.Controls.Add(this.cbPlaceKeeper); this.groupPanelIncludeOn.Controls.Add(this.cbCAS); this.groupPanelIncludeOn.DisabledBackColor = System.Drawing.Color.Empty; this.groupPanelIncludeOn.Dock = System.Windows.Forms.DockStyle.Top; - this.groupPanelIncludeOn.Location = new System.Drawing.Point(0, 477); - this.groupPanelIncludeOn.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.groupPanelIncludeOn.Location = new System.Drawing.Point(0, 388); + this.groupPanelIncludeOn.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.groupPanelIncludeOn.Name = "groupPanelIncludeOn"; - this.groupPanelIncludeOn.Size = new System.Drawing.Size(269, 116); + this.groupPanelIncludeOn.Size = new System.Drawing.Size(202, 94); // // // @@ -501,10 +503,10 @@ namespace Volian.Controls.Library this.groupPanelWcnTrnResp.Controls.Add(this.tbRespons); this.groupPanelWcnTrnResp.DisabledBackColor = System.Drawing.Color.Empty; this.groupPanelWcnTrnResp.Dock = System.Windows.Forms.DockStyle.Top; - this.groupPanelWcnTrnResp.Location = new System.Drawing.Point(0, 593); - this.groupPanelWcnTrnResp.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.groupPanelWcnTrnResp.Location = new System.Drawing.Point(0, 482); + this.groupPanelWcnTrnResp.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); this.groupPanelWcnTrnResp.Name = "groupPanelWcnTrnResp"; - this.groupPanelWcnTrnResp.Size = new System.Drawing.Size(269, 170); + this.groupPanelWcnTrnResp.Size = new System.Drawing.Size(202, 138); // // // @@ -538,12 +540,11 @@ namespace Volian.Controls.Library // // tbRespons // - this.tbRespons.Location = new System.Drawing.Point(36, 20); - this.tbRespons.Margin = new System.Windows.Forms.Padding(4); + this.tbRespons.Location = new System.Drawing.Point(27, 16); this.tbRespons.Multiline = true; this.tbRespons.Name = "tbRespons"; this.tbRespons.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.tbRespons.Size = new System.Drawing.Size(217, 99); + this.tbRespons.Size = new System.Drawing.Size(164, 81); this.tbRespons.TabIndex = 0; this.tbRespons.Leave += new System.EventHandler(this.tbRespons_Leave); // @@ -561,9 +562,10 @@ namespace Volian.Controls.Library this.groupPanelFigSize.Controls.Add(this.lblFSWidth); this.groupPanelFigSize.DisabledBackColor = System.Drawing.Color.Empty; this.groupPanelFigSize.Dock = System.Windows.Forms.DockStyle.Top; - this.groupPanelFigSize.Location = new System.Drawing.Point(0, 763); + this.groupPanelFigSize.Location = new System.Drawing.Point(0, 620); + this.groupPanelFigSize.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.groupPanelFigSize.Name = "groupPanelFigSize"; - this.groupPanelFigSize.Size = new System.Drawing.Size(269, 166); + this.groupPanelFigSize.Size = new System.Drawing.Size(202, 135); // // // @@ -597,9 +599,10 @@ namespace Volian.Controls.Library // // btnFSrestore // - this.btnFSrestore.Location = new System.Drawing.Point(150, 33); + this.btnFSrestore.Location = new System.Drawing.Point(112, 27); + this.btnFSrestore.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnFSrestore.Name = "btnFSrestore"; - this.btnFSrestore.Size = new System.Drawing.Size(72, 32); + this.btnFSrestore.Size = new System.Drawing.Size(54, 26); this.btnFSrestore.TabIndex = 6; this.btnFSrestore.Text = "Restore"; this.btnFSrestore.UseVisualStyleBackColor = true; @@ -607,20 +610,22 @@ namespace Volian.Controls.Library // // trBarFS // - this.trBarFS.Location = new System.Drawing.Point(15, 71); + this.trBarFS.Location = new System.Drawing.Point(11, 58); + this.trBarFS.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.trBarFS.Maximum = 700; this.trBarFS.Minimum = 50; this.trBarFS.Name = "trBarFS"; - this.trBarFS.Size = new System.Drawing.Size(172, 56); + this.trBarFS.Size = new System.Drawing.Size(129, 45); this.trBarFS.TabIndex = 5; this.trBarFS.Value = 50; this.trBarFS.Scroll += new System.EventHandler(this.trBarFS_Scroll); // // btnFsSav // - this.btnFsSav.Location = new System.Drawing.Point(150, 3); + this.btnFsSav.Location = new System.Drawing.Point(112, 2); + this.btnFsSav.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.btnFsSav.Name = "btnFsSav"; - this.btnFsSav.Size = new System.Drawing.Size(62, 24); + this.btnFsSav.Size = new System.Drawing.Size(46, 20); this.btnFsSav.TabIndex = 4; this.btnFsSav.Text = "Set"; this.btnFsSav.UseVisualStyleBackColor = true; @@ -629,40 +634,60 @@ namespace Volian.Controls.Library // tbFSHt // this.tbFSHt.Enabled = false; - this.tbFSHt.Location = new System.Drawing.Point(56, 33); + this.tbFSHt.Location = new System.Drawing.Point(42, 27); + this.tbFSHt.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.tbFSHt.Name = "tbFSHt"; - this.tbFSHt.Size = new System.Drawing.Size(78, 22); + this.tbFSHt.Size = new System.Drawing.Size(60, 20); this.tbFSHt.TabIndex = 3; // // tbFSWd // - this.tbFSWd.Location = new System.Drawing.Point(56, 5); + this.tbFSWd.Location = new System.Drawing.Point(42, 4); + this.tbFSWd.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.tbFSWd.Name = "tbFSWd"; - this.tbFSWd.Size = new System.Drawing.Size(78, 22); + this.tbFSWd.Size = new System.Drawing.Size(60, 20); this.tbFSWd.TabIndex = 2; this.tbFSWd.Leave += new System.EventHandler(this.tbFSWd_Leave); // // lblFSHt // this.lblFSHt.AutoSize = true; - this.lblFSHt.Location = new System.Drawing.Point(5, 34); + this.lblFSHt.Location = new System.Drawing.Point(4, 28); + this.lblFSHt.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.lblFSHt.Name = "lblFSHt"; - this.lblFSHt.Size = new System.Drawing.Size(49, 17); + this.lblFSHt.Size = new System.Drawing.Size(38, 13); this.lblFSHt.TabIndex = 1; this.lblFSHt.Text = "Height"; // // lblFSWidth // this.lblFSWidth.AutoSize = true; - this.lblFSWidth.Location = new System.Drawing.Point(6, 7); + this.lblFSWidth.Location = new System.Drawing.Point(4, 6); + this.lblFSWidth.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.lblFSWidth.Name = "lblFSWidth"; - this.lblFSWidth.Size = new System.Drawing.Size(44, 17); + this.lblFSWidth.Size = new System.Drawing.Size(35, 13); this.lblFSWidth.TabIndex = 0; this.lblFSWidth.Text = "Width"; // + // cbIncludeTOC + // + this.cbIncludeInTOC.AutoSize = true; + this.cbIncludeInTOC.BackColor = System.Drawing.Color.Transparent; + this.cbIncludeInTOC.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbIncludeInTOC.Location = new System.Drawing.Point(2, 59); + this.cbIncludeInTOC.Margin = new System.Windows.Forms.Padding(2); + this.cbIncludeInTOC.Name = "cbIncludeTOC"; + this.cbIncludeInTOC.Size = new System.Drawing.Size(166, 15); + this.cbIncludeInTOC.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.superTooltipTags.SetSuperTooltip(this.cbIncludeInTOC, new DevComponents.DotNetBar.SuperTooltipInfo("High Level Step in TOC", "", "Include this in the auto generated Table of Contents.", + null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); + this.cbIncludeInTOC.TabIndex = 2; + this.cbIncludeInTOC.Text = "Table of Contents"; + this.cbIncludeInTOC.CheckedChanged += new System.EventHandler(this.cbIncludeInTOC_CheckedChanged); + // // DisplayTags // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.groupPanelFigSize); this.Controls.Add(this.groupPanelWcnTrnResp); @@ -671,9 +696,9 @@ namespace Volian.Controls.Library this.Controls.Add(this.groupPanelChgBar); this.Controls.Add(this.groupPanelCheckoff); this.Controls.Add(this.groupPanelChgStepType); - this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.Name = "DisplayTags"; - this.Size = new System.Drawing.Size(269, 987); + this.Size = new System.Drawing.Size(202, 802); this.groupPanelPaginate.ResumeLayout(false); this.groupPanelPaginate.PerformLayout(); this.groupPanelCheckoff.ResumeLayout(false); @@ -723,5 +748,6 @@ namespace Volian.Controls.Library private System.Windows.Forms.TrackBar trBarFS; private System.Windows.Forms.Button btnFSrestore; private DevComponents.DotNetBar.Controls.CheckBoxX cbPrefPageBreak; + private DevComponents.DotNetBar.Controls.CheckBoxX cbIncludeInTOC; } } diff --git a/PROMS/Volian.Controls.Library/DisplayTags.cs b/PROMS/Volian.Controls.Library/DisplayTags.cs index 2734798c..c0f42563 100644 --- a/PROMS/Volian.Controls.Library/DisplayTags.cs +++ b/PROMS/Volian.Controls.Library/DisplayTags.cs @@ -112,6 +112,7 @@ namespace Volian.Controls.Library cbPrefPageBreak.Enabled = false; cbPlaceKeeper.Enabled = false; cbPlaceKeeperCont.Enabled = false; + cbIncludeInTOC.Enabled = false; cbCAS.Enabled = false; //txbxAltConActSumText.Enabled = false; rbChgBarOff.Enabled = false; @@ -464,6 +465,28 @@ namespace Volian.Controls.Library } // diable fields if user is only a reviewer groupPanelCheckoff.Enabled = groupPanelChgBar.Enabled = groupPanelChgStepType.Enabled = groupPanelIncludeOn.Enabled = groupPanelPaginate.Enabled = groupPanelWcnTrnResp.Enabled = UserInfo.CanEdit(MyUserInfo, Mydvi); // Can Change Tag Info + + // C2021-015: Barakah - High Level Steps in Table of Contents. Make the check box visible if format has TofCAllowHLS and + // if format allow this and on a HLS, get the database from step's config to see if included and set checkbox accordingly. + // Note that the section that the HLS is on must also be included in the TofC + cbIncludeInTOC.Visible = fmtdata.SectData.AccSectionData.TableOfContentsData.TofCAllowHLS; + if (cbIncludeInTOC.Visible) + { + cbIncludeInTOC.Checked = false; + cbIncludeInTOC.Enabled = false; + cbIncludeInTOC.Checked = false; + if (CurItemInfo.IsHigh) + { + SectionConfig stc = CurItemInfo.MyConfig as SectionConfig; + if ((CurItemInfo.MyDocStyle != null && CurItemInfo.MyDocStyle.IncludeInTOC && (stc == null || stc.Section_TOC != "Y")) + || ((CurItemInfo.MyDocStyle == null || !CurItemInfo.MyDocStyle.IncludeInTOC) && (stc != null && stc.Section_TOC == "Y"))) + { + cbIncludeInTOC.Enabled = true; + cbIncludeInTOC.Checked = sc.Step_IncludeInTOC; + + } + } + } _Initalizing = false; } private int DoListStepTypes(FormatData fmtdata, StepData topType, string curType) @@ -553,6 +576,17 @@ namespace Volian.Controls.Library cbPlaceKeeper.Checked = false; } } + // C2021-015: Barakah - High Level Steps in Table of Contents. Set step config when checked is changed. Save occurs on move off of step. + private void cbIncludeInTOC_CheckedChanged(object sender, EventArgs e) + { + if (_Initalizing) return; + MyEditItem.SaveContents(); + StepConfig sc = CurItemInfo.MyConfig as StepConfig; + if (sc == null) return; + MyEditItem.ChangeBarForConfigItemChange = false; + sc.Step_IncludeInTOC = cbIncludeInTOC.Checked; + MyEditItem.ChangeBarForConfigItemChange = true; + } private void listBoxStepTypes_SelectedIndexChanged(object sender, EventArgs e) { if (_Initalizing) return; diff --git a/PROMS/Volian.Controls.Library/DisplayTags.resx b/PROMS/Volian.Controls.Library/DisplayTags.resx index 24c8db42..d65193f1 100644 --- a/PROMS/Volian.Controls.Library/DisplayTags.resx +++ b/PROMS/Volian.Controls.Library/DisplayTags.resx @@ -112,15 +112,15 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 - + 36 \ No newline at end of file diff --git a/PROMS/Volian.Print.Library/PromsPrinter.cs b/PROMS/Volian.Print.Library/PromsPrinter.cs index 93d6586d..64675ec4 100644 --- a/PROMS/Volian.Print.Library/PromsPrinter.cs +++ b/PROMS/Volian.Print.Library/PromsPrinter.cs @@ -1440,6 +1440,7 @@ namespace Volian.Print.Library { int sectCnt = 0; // keep count of which section/sub-section we are processing bool doSubY = false; + int level = 0; // C2018-004 create meta file for baseline compares Volian.Base.Library.BaselineMetaFile.WriteLine("TOC Ystart {0} LeftMar {1} ScNmPos {2} ScTtlPos {3} ScPgPos {4}", yPageStart, leftMargin, secNumPos, secTitlePos, secPagePos); bool inGroup = false; @@ -1452,7 +1453,7 @@ namespace Volian.Print.Library { // for indenting of subsections, count up tree. Only start indenting // at third level, i.e. not indent on 1.0 and 1.1, but indent on 1.1.1: - int level = 0; + level = 0; ItemInfo iilvl = mySection as ItemInfo; while (!iilvl.IsProcedure) { @@ -1464,7 +1465,6 @@ namespace Volian.Print.Library if (tofCNumLevels > 0 && level > tofCNumLevels) return yLocation; int startIndentAfterLevel = tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCStartIndentAfterLevel ?? 2; // - //level = level <= 2 ? 0 : level - 2; // no indenting until third level level = level <= startIndentAfterLevel ? 0 : level - startIndentAfterLevel; float indentOffset = (level * (secTitlePos - secNumPos)); @@ -1660,7 +1660,7 @@ namespace Volian.Print.Library retval = Rtf2Pdf.TextAt(cb, myparagraphp, leftMargin + secPagePos, yPageStart - yLocation, width, height, "", yBottomMargin); } else - AddTemplateTOCPageCounts(tOfC, yLocation, yPageStartAdj, leftMargin, secPagePos, height, mySection); + AddTemplateTOCPageCounts(tOfC, yLocation, yPageStartAdj, leftMargin, secPagePos, height, key); } //If the format wants single spacing within subsections (2nd level and lower), then need to figure out // spacing (vcb1 table of contents) @@ -1695,6 +1695,11 @@ namespace Volian.Print.Library } yLocation += (spc * vlnPrintObject.SixLinesPerInch); } + // C2021-015: Barakah High Level Steps in Table of Contents - check to see if we need to add the high level steps on + // table of contents for this section, format flag & section has steps: + if (mySection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCAllowHLS && + mySection.IsStepSection && mySection.Steps != null && mySection.Steps.Count > 0) + yLocation = AddHLSToTOC(tocSection, mySection, tOfC, cb, yPageStart, yLocation, doSubY, level + 1, adjSecTitlePos); } float savYLoc = yLocation; yLocation = AddSectionToTOC(tocSection, mySection, tOfC, cb, yPageStart, yLocation, doSubY); @@ -1706,13 +1711,164 @@ namespace Volian.Print.Library yLocation -= (float)(tOfC.TofCLineSpacingSub ?? 1) * vlnPrintObject.SixLinesPerInch; yLocation += (float)(tOfC.TofCLineSpacing ?? 1) * vlnPrintObject.SixLinesPerInch; } - } + } } } return yLocation; } - // B2019-172 This will add the RTF font commands around the symbol characters - // This was copied for DisplaySearch and modified - added the FormatData parameter + // C2021-015: Barakah High Level Steps in Table of Contents + private float AddHLSToTOC(SectionInfo tocSection, ItemInfo ii, TableOfContentsData tOfC, PdfContentByte cb, float yPageStart, float yLocation, bool didSubSecLineSpacing, int level, float parTitleXOff) + { + // if section is not in TOC, don't add the HLSs + SectionConfig sc = ii.ActiveSection.MyConfig as SectionConfig; + if (!((ii.ActiveSection.MyDocStyle != null && ii.ActiveSection.MyDocStyle.IncludeInTOC && (sc == null || sc.Section_TOC != "Y")) + || ((ii.ActiveSection.MyDocStyle == null || !ii.ActiveSection.MyDocStyle.IncludeInTOC) && (sc != null && sc.Section_TOC == "Y")))) + return yLocation; + float xAdjNumber = -6 + 1.2F; + float xAdjTitle = .8F + 1.2F; + float yadj = 0.5F; // tweak to get 16 & 32 bit output to match. + + float yPageStartAdj = yPageStart - yadj; + float leftMargin = (float)tocSection.MyDocStyle.Layout.LeftMargin; + float stepNumPos = (float)tOfC.TofCSecNumPos + xAdjNumber; + float stepTitlePos = (float)tOfC.TofCSecTitlePos + xAdjTitle; + float stepPagePos = (float)tOfC.TofCPageNumPos + xAdjNumber; + float height = tOfC.Font.WindowsFont.Size * 1.5F; + // C2018-004 create meta file for baseline compares + Volian.Base.Library.BaselineMetaFile.WriteLine("TOC Ystart {0} LeftMar {1} ScNmPos {2} ScTtlPos {3} ScPgPos {4}", yPageStart, leftMargin, stepNumPos, stepTitlePos, stepPagePos); + int tofCNumLevels = tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCNumLevels ?? 0; + if (tofCNumLevels > 0 && level > tofCNumLevels) return yLocation; // don't go down more than number of levels as defined in format + + // figure out whether to indent. If not, set indentOffset to 0, otherwise indent number to where parent's text was (input parTitleXOff) + int startIndentAfterLevel = tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCStartIndentAfterLevel ?? 2; // + level = level <= startIndentAfterLevel ? 0 : level - startIndentAfterLevel; + + // The parTitleXOff is passed in, it is the xoffset for the title of the section. This is where the number should + // start, if indenting. Without this, the xoffset was not correct: + float indentOffset = level == 0 ? 0 : parTitleXOff; + float numwidth = 0; + foreach (ItemInfo hls in ii.Steps) // Ouput each HLS that has config flag to include it. + { + StepConfig stc = hls.MyConfig as StepConfig; + if (stc != null && stc.Step_IncludeInTOC) + { + float yBottomMargin = yPageStart - (float)tocSection.MyDocStyle.Layout.PageLength + (2 * vlnPrintObject.SixLinesPerInch); + + // need to do the step number, title & page number. Page number has to be put on at end after number of page is known, so use a Template. + string tmptxt = hls.MyTab.CleanText; + if (tmptxt == null || tmptxt == "") tmptxt = " "; // if no number set to blanks. Without this, low level printing gets confused + string rtfText = GetRtfToC(tmptxt, tOfC); + Paragraph myparagraphStepNum = vlnPrintObject.RtfToParagraph(rtfText); + float width = 0; + foreach (Chunk chkt in myparagraphStepNum.Chunks) + width += chkt.GetWidthPoint(); + if (numwidth == 0) numwidth = width; // keep same xoffset for step text unless overwriting by number (see below) + Rtf2Pdf.Offset = new PointF(0, 2.5F); + + // if the starting column of text would be in 'middle of' the number, just put it + // a few spaces after the number. The '182' below represents 2 chars. + float adjStepTitlePos = indentOffset + numwidth + 6; + if (width + indentOffset > adjStepTitlePos) + { + adjStepTitlePos = numwidth + 12 + indentOffset; + numwidth = width; + } + + string tocStepTitle = hls.FormattedDisplayText; + tocStepTitle = ConvertSpecialChars(tocStepTitle, ii.ActiveFormat.PlantFormat.FormatData); // B2019-172 process symbol characters + rtfText = GetRtfToC(tocStepTitle, tOfC); + Paragraph myparagraphStepTitle = vlnPrintObject.RtfToParagraph(rtfText); + width = stepPagePos - adjStepTitlePos - ((tOfC.TofCPageNumAlign.ToUpper() == "RIGHT") ? 18 : 6);// B2021-109 proper adjustment of section title width - copied from leader dots lenth calcuation below + float savTitleWid = width; + // Print the step text + float retval = Rtf2Pdf.TextAt(cb, myparagraphStepTitle, leftMargin + ((tOfC.TofCSecNumPos == tOfC.TofCSecTitlePos && tmptxt.Equals(" ")) ? stepNumPos : adjStepTitlePos), yPageStart - yLocation, width, height, "", yBottomMargin); + if (retval == 0) // couldn't fit, flags need for a page break. + { + NewPage(); + _MyHelper.ResetSvg(); // needed to reset so that PSNotFirst pagelist justify flag gets used for BGE + yLocation = lastyLocation = 0; + retval = Rtf2Pdf.TextAt(cb, myparagraphStepTitle, leftMargin + adjStepTitlePos, yPageStart - yLocation, width, height, "", yBottomMargin); + } + float ttlRetval = retval; + float savTitleFillWidth = Rtf2Pdf.FillWidth; + + // Now do the step number. Retval is the ylocation on page after the text is put out + retval = Rtf2Pdf.TextAt(cb, myparagraphStepNum, leftMargin + indentOffset, yPageStart - yLocation, numwidth * 1.3F, height, "", yBottomMargin); + if (retval != ttlRetval) yLocation += (retval - ttlRetval); + + // retval = the minimum (further down the page) between step number & text - accounts for multi line step + retval = Math.Min(retval, ttlRetval); + lastyLocation = retval; + + // add a template for the page number: + // if the space character is not null & is not a space, the we've got to put out + // these between the section title & the page number + if (tOfC.TofCSpaceChar != null && tOfC.TofCSpaceChar != "" && tOfC.TofCSpaceChar != " ") + { + width = 0; + foreach (Chunk chkt in myparagraphStepTitle.Chunks) + width += chkt.GetWidthPoint(); + + // get height - if two lines high, need width of 2nd line for adding + // space characters + float heightTtl = vlnPrintObject.GetHeight(cb, myparagraphStepTitle, string.Empty, savTitleWid, false); + string spaceStr = ""; + float startSpace = 0; + // the '6's in the next few code lines & in the 'while' loop below allows the placement of the dots (or other space character) + // to be not too close to section title & page number. + if (heightTtl > vlnPrintObject.SixLinesPerInch) + { + // this title is 2 or more lines, find start of leader dots by determining length of text + // on 2nd line (the savTitleFillWidth is the widest line of the split title) + float secondLineWidth = width - savTitleFillWidth; + startSpace = leftMargin + adjStepTitlePos + secondLineWidth + 6; + } + else + startSpace = leftMargin + adjStepTitlePos + width + 6; + // If the page number is Right justified, need less space characters ('.') so that page number + // doesn't have the last space character overwriting the 1st digit: + int endJust = (tOfC.TofCPageNumAlign.ToUpper() == "RIGHT") ? 18 : 6; + + float endSpace = leftMargin + stepPagePos - endJust; + float numSpace = endSpace - startSpace; + rtfText = GetRtfToC(tOfC.TofCSpaceChar, tOfC); + Paragraph tmpmyparagraph = vlnPrintObject.RtfToParagraph(rtfText); + float spacchrwid = 0; + foreach (Chunk chkt in tmpmyparagraph.Chunks) + spacchrwid += chkt.GetWidthPoint(); + while (numSpace > 6) + { + spaceStr = spaceStr + tOfC.TofCSpaceChar; + numSpace -= spacchrwid; + } + + rtfText = GetRtfToC(spaceStr, tOfC); // out the leader dots + Paragraph myparagraphs = vlnPrintObject.RtfToParagraph(rtfText); + retval = Rtf2Pdf.TextAt(cb, myparagraphs, startSpace, yPageStart - yLocation, endSpace - startSpace, height, "", yBottomMargin); + } + // if in the pre-table of content list, just put the page number out as text. + // otherwise, add a template _MyHelper.MyTOCPageCounts + string key = "TOC" + hls.ItemID.ToString(); + if (ii.IsAutoTOCSection || _MyHelper.MyTOCPageNums.ContainsKey(key)) + { + string pnum = _MyHelper.MyTOCPageNums.ContainsKey(key) ? _MyHelper.MyTOCPageNums[key].ToString() : (_MyHelper.CurrentTOCPageNumber + 1).ToString(); + rtfText = GetRtfToC(pnum, tOfC); + Paragraph myparagraphp = vlnPrintObject.RtfToParagraph(rtfText); + width = pnum.Length * 6; + retval = Rtf2Pdf.TextAt(cb, myparagraphp, leftMargin + stepPagePos, yPageStart - yLocation, width, height, "", yBottomMargin); + } + else + AddTemplateTOCPageCounts(tOfC, yLocation, yPageStartAdj, leftMargin, stepPagePos, height, key); + + float spc = (float)(tOfC.TofCLineSpacing ?? 1); + yLocation += (spc * vlnPrintObject.SixLinesPerInch); + } + + } + return yLocation; + } + //B2019-172 This will add the RTF font commands around the symbol characters + // This was copied for DisplaySearch and modified - added the FormatData parameter private string ConvertSpecialChars(string str, FormatData fmtData) { string rtnVal = str; @@ -1736,9 +1892,8 @@ namespace Volian.Print.Library return rtnVal; } - private void AddTemplateTOCPageCounts(TableOfContentsData tOfC, float yLocation, float yPageStartAdj, float leftMargin, float secPagePos, float height, SectionInfo mySection) + private void AddTemplateTOCPageCounts(TableOfContentsData tOfC, float yLocation, float yPageStartAdj, float leftMargin, float secPagePos, float height, string key) { - string key = "TOC" + mySection.ItemID.ToString(); PdfTemplate tmp = _MyHelper.MyTOCPageCounts.AddToTemplateList(key, _MyHelper.MyPdfWriter, "{TOCPAGE}", tOfC.Font.WindowsFont, (tOfC.TofCPageNumAlign.ToUpper() == "RIGHT") ? Element.ALIGN_RIGHT : Element.ALIGN_LEFT, PrintOverride.TextColor); _MyHelper.MyPdfContentByte.AddTemplate(tmp, leftMargin + secPagePos, (yPageStartAdj - yLocation) - height / 2); } diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index 47a892bf..8bebe003 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -656,6 +656,26 @@ namespace Volian.Print.Library } } } + else if (MyItemInfo.IsHigh && MyItemInfo.MyDocStyle != null && MyItemInfo.MyDocStyle.IncludeInTOC) // && (MyItemInfo.MyActiveSection.MyConfig as SectionConfig).Section_HLS_on_TOC == "Y") + { + // C2021-015: Barakah High Level Steps in Table of Contents + SectionConfig sc = MyItemInfo.ActiveSection.MyConfig as SectionConfig; + StepConfig stc = MyItemInfo.MyConfig as StepConfig; + if ((sc != null && sc.Section_TOC != "Y") && (stc != null && stc.Step_IncludeInTOC)) + { + string tocKey = string.Format("TOC{0}", MyItemInfo.ItemID); + if (MyPageHelper.MyTOCPageCounts.ContainsKey(tocKey)) + { + PageCount pc = MyPageHelper.MyTOCPageCounts[tocKey]; + if (pc.Total == 0) + { + pc.Total = MyPageHelper.CurrentTOCPageNumber + 1; + pc.DrawTemplates(); + + } + } + } + } if (!doprint) return yPageStart; if (_PartsLeft != null && _PartsLeft.Count > 0) yPageStart = PartsLeft.ToPdf(cb, yPageStart, ref yTopMargin, ref yBottomMargin); if (_PartsRight != null && _PartsRight.Count > 0) yPageStart = PartsRight.ToPdf(cb, yPageStart, ref yTopMargin, ref yBottomMargin);