From 0095b2883bc2ecbeb344ea913b0de6725ace37fc Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Thu, 25 Jan 2024 09:18:48 -0500 Subject: [PATCH 01/23] C2024-002-Print-Section --- .../DlgPrintProcedure.cs | 8 + .../frmPDFStatusForm.cs | 6 + PROMS/VEPROMS User Interface/frmVEPROMS.cs | 40 ++ .../vlnTreeView.Designer.cs | 58 +-- PROMS/Volian.Controls.Library/vlnTreeView.cs | 20 +- PROMS/Volian.Print.Library/PromsPrinter.cs | 343 +++++++++--------- 6 files changed, 278 insertions(+), 197 deletions(-) diff --git a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs index 40be0144..f5bdd150 100644 --- a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs +++ b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs @@ -59,6 +59,13 @@ namespace VEPROMS get { return _Automatic; } set { _Automatic = value; } } + private int _pntSectID = -1; + public int PntSectID + { + get { return _pntSectID; } + set { _pntSectID = value; } + } + // C2018-033 Used to turn off using the date/time PDF file prefix and suffix when doing batch file autmatic baseline print testing (frmVEPROMS.cs RunAutomatic()) // This is needed so the the automatic baselines can compare results from different runs of PROMS @@ -851,6 +858,7 @@ namespace VEPROMS cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, new Point(Left, Bottom - 50), swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd, watermarkColor)) // ;//C2018-009 print PROMS version { + frmStatus.PntSectID = PntSectID; frmStatus.CloseWhenDone = true; Application.DoEvents(); frmStatus.CancelStop = true; diff --git a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs index 34513d86..8ae41372 100644 --- a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs +++ b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs @@ -91,6 +91,12 @@ namespace VEPROMS get { return _DidAll; } set { _DidAll = value; } } + private int _pntSectID = -1; + public int PntSectID + { + get { return _pntSectID; } + set { _pntSectID = value; } + } public frmPDFStatusForm(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, bool openPDF, bool overWrite, string pdfPath, ChangeBarDefinition cbd, string pdfFile, Point newLocation, bool insertBlankPages, bool allOrAuto, string prefix, bool saveLinks, int removeTrailingHardReturnsAndManualPageBreaks, bool showPROMSVer, bool didAll, string blankPageText, MergedPdf mergedPdf, string watermarkColor) { // B2021-088 moved this if/else from CreatePDF() so that the Approval logic will have access to this logic diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 0ff406ef..fcfa6323 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -514,6 +514,7 @@ namespace VEPROMS ItemInfo.ItemDeleted += new ItemInfoEvent(RefreshDisplayHistory); tv.PrintProcedure += new vlnTreeViewEvent(tv_PrintProcedure); + tv.PrintSection += new vlnTreeViewEvent(tv_PrintSection); tv.QPrintProcedure += new vlnTreeViewEvent(tv_QPrintProcedure); tv.PrintAllProcedures += new vlnTreeViewEvent(tv_PrintAllProcedures); tv.ApproveProcedure += new vlnTreeViewEvent(tv_ApproveProcedure); @@ -1189,6 +1190,45 @@ namespace VEPROMS } + void tv_PrintSection(object sender, vlnTreeEventArgs args) // Quick Print right click menu on Procedure name. + { + try + { + //args.Node.Parent. + SectionInfo si2 = (args.Node as VETreeNode).VEObject as SectionInfo; + int _pntSectID = si2.ItemID; + + if (si2 == null) return; + + tc.SaveCurrentEditItem(si2.MyProcedure); + + si2.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex; + + using (DlgPrintProcedure prnDlg = new DlgPrintProcedure(si2.MyProcedure)) + { + prnDlg.PntSectID = _pntSectID; + prnDlg.SelectedSlave = args.UnitIndex; + prnDlg.MySessionInfo = MySessionInfo; + prnDlg.SetupForProcedure(); // Setup filename + prnDlg.QPCreatePDF(); // Create Print report + + si2.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0; + } + } + catch (Exception ex) + { + StringBuilder sb = new StringBuilder(); + + sb.AppendLine("Could not create PDF Print"); + sb.AppendLine(); + MessageBox.Show(sb.ToString(), "Error when creating PDF Print", MessageBoxButtons.OK, MessageBoxIcon.Warning); + + _MyLog.Warn("Failed to create PDF print", ex); + } + + } + + void tv_CreateContinuousActionSummary(object sender, vlnTreeEventArgs args) { DialogResult dr = System.Windows.Forms.DialogResult.Yes; diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.Designer.cs b/PROMS/Volian.Controls.Library/vlnTreeView.Designer.cs index 98e486b8..605c0232 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.Designer.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.Designer.cs @@ -1,36 +1,36 @@ namespace Volian.Controls.Library { - partial class vlnTreeView - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; + partial class vlnTreeView + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } - #region Component Designer generated code + #region Component Designer generated code - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - components = new System.ComponentModel.Container(); - } + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } - #endregion - } + #endregion + } } diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index eb220f91..c288b49b 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -506,6 +506,11 @@ namespace Volian.Controls.Library { if (QPrintProcedure != null) QPrintProcedure(sender, args); } + public event vlnTreeViewEvent PrintSection; + private void OnPrintSection(object sender, vlnTreeEventArgs args) + { + if (PrintSection != null) PrintSection(sender, args); + } public event vlnTreeViewEvent PrintAllProcedures; private void OnPrintAllProcedures(object sender, vlnTreeEventArgs args) { @@ -962,7 +967,13 @@ namespace Volian.Controls.Library } #endregion //_MyLog.WarnFormat("Context Menu 2 - {0}", GC.GetTotalMemory(true)); - + #region Print_Section + if (!tn.IsExpanded && tn.VEObject as SectionInfo != null) + { + SectionInfo si = tn.VEObject as SectionInfo; + if (si.IsStepSection) cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + } + #endregion #region Menu_Open if (!tn.IsExpanded && tn.VEObject as SectionInfo != null) { @@ -1880,6 +1891,13 @@ namespace Volian.Controls.Library } switch (mi.Text) { + case "Print Section": + VETreeNode tn2 = SelectedNode as VETreeNode; + //ProcedureInfo pi2 = tn2.VEObject as ProcedureInfo; + //SectionInfo sectInfo = tn2.VEObject as SectionInfo; + //OnPrintSection(this, new vlnTreeEventArgs(sectInfo as SectionInfo, null, 0)); + OnPrintSection(this, new vlnTreeEventArgs(tn2 as VETreeNode, null, 0)); + break; case "Open": OpenNode(); break; diff --git a/PROMS/Volian.Print.Library/PromsPrinter.cs b/PROMS/Volian.Print.Library/PromsPrinter.cs index ab857036..5b78ac32 100644 --- a/PROMS/Volian.Print.Library/PromsPrinter.cs +++ b/PROMS/Volian.Print.Library/PromsPrinter.cs @@ -179,6 +179,12 @@ namespace Volian.Print.Library get { return _PDFFile; } set { _PDFFile = value; } } + private int _pntSectID = -1; + public int PntSectID + { + get { return _pntSectID; } + set { _pntSectID = value; } + } private bool _DebugOutput; public bool DebugOutput { @@ -942,190 +948,193 @@ namespace Volian.Print.Library } foreach (SectionInfo mySection in myProcedure.Sections) { - // B2020-115 Calculate maximum available space on a page for figures - vlnParagraph.hMax = ((float)mySection.MyDocStyle.Layout.PageLength); - vlnParagraph.wMax = ((float)mySection.MyDocStyle.Layout.PageWidth) - ((float)mySection.MyDocStyle.Layout.LeftMargin - 12); - NeedSupInfoBreak = true; - bool isFoldoutSection = (mySection.MyConfig as SectionConfig).Section_IsFoldout == "Y"; //C2019-042 Section_IsFoldout checks Section Number, Section Title, and use of check box - if (((isFoldoutSection && myProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.SectionLevelFoldouts) - || (myProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.AlternateFloatingFoldout && isFoldoutSection)) - != doingFoldout) continue; - if (myFoldoutSection != null && myFoldoutSection.ItemID != mySection.ItemID) continue; - PrintOverride.CompressSuper = mySection.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.CompressHPSuper; - PrintOverride.CompressSub = mySection.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.CompressHPSub; - PrintOverride.CompressPropSubSup = mySection.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.CompressPropSubSup; + if(PntSectID == -1 || (PntSectID > -1 && mySection.ItemID == PntSectID) ) + { + // B2020-115 Calculate maximum available space on a page for figures + vlnParagraph.hMax = ((float)mySection.MyDocStyle.Layout.PageLength); + vlnParagraph.wMax = ((float)mySection.MyDocStyle.Layout.PageWidth) - ((float)mySection.MyDocStyle.Layout.LeftMargin - 12); + NeedSupInfoBreak = true; + bool isFoldoutSection = (mySection.MyConfig as SectionConfig).Section_IsFoldout == "Y"; //C2019-042 Section_IsFoldout checks Section Number, Section Title, and use of check box + if (((isFoldoutSection && myProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.SectionLevelFoldouts) + || (myProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.AlternateFloatingFoldout && isFoldoutSection)) + != doingFoldout) continue; + if (myFoldoutSection != null && myFoldoutSection.ItemID != mySection.ItemID) continue; + PrintOverride.CompressSuper = mySection.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.CompressHPSuper; + PrintOverride.CompressSub = mySection.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.CompressHPSub; + PrintOverride.CompressPropSubSup = mySection.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.CompressPropSubSup; - OnStatusChanged((mySection.DisplayNumber ?? "") == "" ? mySection.DisplayText : mySection.DisplayNumber, PromsPrinterStatusType.Progress, progress++); - // Set up Helper for the particular Section - if (_MyHelper == null) - { - LastFmtName = mySection.ActiveFormat.Name; - lastDocStyle = (int)mySection.MyDocStyle.Index; - string hlsText = ""; - int hlsItemId = 0; - if (mySection.IsStepSection && mySection.Steps != null && mySection.Steps.Count > 0) + OnStatusChanged((mySection.DisplayNumber ?? "") == "" ? mySection.DisplayText : mySection.DisplayNumber, PromsPrinterStatusType.Progress, progress++); + // Set up Helper for the particular Section + if (_MyHelper == null) { - hlsItemId = mySection.Steps[0].ItemID; - hlsText = mySection.Steps[0].DisplayText; // save the High level step text for use in the page list - } - cb.PdfWriter.PageEvent = _MyHelper = new VlnSvgPageHelper(mySection, this, hlsText, hlsItemId); - _MyHelper.AllowAllWatermarks = AllowAllWatermarks; - _MyHelper.MyPdfWriter = cb.PdfWriter; - _MyHelper.CreatingFoldoutPage = doingFoldout; - _MyHelper.CreatingSupInfoPage = false; - _MyHelper.MyPdfContentByte = cb; - - if (!mySection.IsStepSection) _MyHelper.PageBookmarks.Add((ItemInfo)mySection, ((mySection.DisplayNumber ?? "") == "" ? "" : mySection.DisplayNumber + " - ") + mySection.DisplayText, null); - if (DebugOutput) - { - // 16-bit background - string procedureFileName = BackgroundFolder + "\\" + PDFFile.Trim();//CreateFileName(myProcedure.DisplayNumber); - FileInfo VEPromsFile = new FileInfo(procedureFileName); - if (VEPromsFile.Exists && !doingFoldout) - { - _MyHelper.BackgroundFile = procedureFileName; - float x = 0; - float y = 0; - if (!(mySection.ActiveFormat.Name.ToUpper().StartsWith("WST") || _MyHelper.Back32BitPROMS)) // compare folder contains PROMS generated PDF - { - // X value below = 16-bit pdf OverrideLeftMargin = -2 characters at the plant format's default Font's - // characters per inch. - // 16bit OverrideLeftMargin, defined as -2 in driver\drvin.rtf, - override took 2 characters out, so we're adding it back in: - // These values adjust if overlay is 16bit versus 32bit. This is - // used so that the comparison is an exact match. Use 0,0 if comparing to another 32bit - // pdf, i.e. won't process the following 2 lines of code. - x = 2 * 72F / (float)myProcedure.ActiveFormat.PlantFormat.FormatData.Font.CPI; - y = -9.5F; - } - x += 72F * VlnSettings.GetCommandFloat("X", 0); - y -= 72F * VlnSettings.GetCommandFloat("Y", 0); - _MyHelper.BackgroundOffset = new PointF(x, y); - _MyHelper.BackgroundPageOffset = 0; - } - _MyHelper.WatermarkLayer = _WatermarkLayer; - _MyHelper.PageListLayer = _PagelistLayer; - _MyHelper.TextLayer = _TextLayer; - _MyHelper.BackgroundLayer = _BackgroundLayer; - _MyHelper.DebugLayer = _DebugLayer; - _MyHelper.PROMSVersionLayer = _PROMSVersionLayer; //C2018-009 print PROMS version - } - _MyHelper.Rev = _Rev; - _MyHelper.Watermark = _Watermark; - // C2019-039 Remove automatic zoom on Overlay PDFs - //_MyHelper.DoZoomOMatic = DebugOutput; - _MyHelper.OriginalPageBreak = OriginalPageBreak; - _MyHelper.PROMSVersion = _PromsVersion; //C2018-009 print PROMS version - _MyHelper.WatermarkColor = WatermarkOverrideColor; // C2021-019: save the override for the watermark color - OnStatusChanged("After Set PageEvent", PromsPrinterStatusType.SetPageEvent); - } - else - { - //added by jcb to reset mygaps when changing a section. found old section gaps were carrying over to new section - _MyHelper.MyGaps.Clear(); - //Console.WriteLine("'{0}' PromsPrinter", mySection.DisplayText); - // if pagination is separate or we've changed the format, we have not done the first page - // (if this format has the useonfirst page docstyle flag) - if (LastFmtName != mySection.ActiveFormat.Name || lastDocStyle != (int)mySection.MyDocStyle.Index || mySection.SectionConfig.Section_Pagination == SectionConfig.SectionPagination.Separate) - { - _MyHelper.DidFirstPageDocStyle = false; - lastDocStyle = (int)mySection.MyDocStyle.Index; LastFmtName = mySection.ActiveFormat.Name; - } - if (!mySection.IsStepSection) _MyHelper.PageBookmarks.Add((ItemInfo)mySection, ((mySection.DisplayNumber ?? "") == "" ? "" : mySection.DisplayNumber + " - ") + mySection.DisplayText, null); - _MyHelper.MySection = mySection; - //OnStatusChanged("After Set Svg", PromsPrinterStatusType.SetSVG); - } - // if this format uses phonelists, see if this section has one. We need to know the number - //of lines to adjust the pagelength for pagination and printing. - _MyHelper.PhoneListHeight = 0; - if (mySection.ActiveFormat.PlantFormat.FormatData.SectData.PrintPhoneList) - { - // get config for section - SectionConfig sc = mySection.MyConfig as SectionConfig; - if (sc.Section_PhoneList != null && sc.Section_PhoneList == "Y") - { - DocVersionConfig dvc = mySection.MyDocVersion.MyConfig as DocVersionConfig; - if (dvc != null) + lastDocStyle = (int)mySection.MyDocStyle.Index; + string hlsText = ""; + int hlsItemId = 0; + if (mySection.IsStepSection && mySection.Steps != null && mySection.Steps.Count > 0) { - string phlist = dvc.Print_PhoneList; - if (phlist != null && phlist != "") - { - // count lines: - int cl = 0; - int indx = phlist.IndexOf("\n"); - while (indx > 0) - { - cl++; - if (indx + 1 > phlist.Length) - indx = -1; - else - indx = phlist.IndexOf("\n", indx + 1); - } - if (cl == 0) cl = 1; // phone list is a single line without an ending newline - _MyHelper.PhoneListHeight = cl * vlnPrintObject.SixLinesPerInch; - } + hlsItemId = mySection.Steps[0].ItemID; + hlsText = mySection.Steps[0].DisplayText; // save the High level step text for use in the page list } - } - } - _MyHelper.FinalMessageSectionID = finalMessageSectionID; // set VlnSvgPageHelper with the finalMessageSectionID + cb.PdfWriter.PageEvent = _MyHelper = new VlnSvgPageHelper(mySection, this, hlsText, hlsItemId); + _MyHelper.AllowAllWatermarks = AllowAllWatermarks; + _MyHelper.MyPdfWriter = cb.PdfWriter; + _MyHelper.CreatingFoldoutPage = doingFoldout; + _MyHelper.CreatingSupInfoPage = false; + _MyHelper.MyPdfContentByte = cb; - if (mySection.IsAutoTOCSection) - { - if (((cb.PdfWriter.CurrentPageNumber % 2 == 0 && !_MyHelper.CreatingFoldoutPage) || myProcedure.ProcHasSupInfoData) && InsertBlankPages) // Bug Fix: B2016-181 - add blank page if page count is even - { - InsertBlankPage(cb); - } - GenerateTOC(mySection, myProcedure, cb, _TextLayer); - // B2020-102: extra page printing after auto TOC for summer. Retested for Farley and was successful also - // F2018-033: Farley Auto TOC. If doing foldouts or supinfo facing pages, add a blank page after also: - //if (myProcedure.ProcHasSupInfoData && InsertBlankPages) // Bug Fix: B2016-181 - add blank page if page count is even - //{ - // InsertBlankPage(cb); - //} - } - else - { - if (mySection.IsStepSection) - { - if (mySection.Steps != null && mySection.Steps.Count > 0) + if (!mySection.IsStepSection) _MyHelper.PageBookmarks.Add((ItemInfo)mySection, ((mySection.DisplayNumber ?? "") == "" ? "" : mySection.DisplayNumber + " - ") + mySection.DisplayText, null); + if (DebugOutput) { - // get first step to send to floating foldout indx.&& MyItemInfo.FoldoutIndex>-1) - ItemInfo firstStep = mySection.Steps[0]; - // B2019-165 Don't print the duplex foldout (on the back of the page) if the Don't Include Duplex Foldout check box was checked in section properties - if (firstStep.FoldoutIndex() > -1 && (mySection.MyPrevious == null || !((mySection.MyPrevious.MyConfig as SectionConfig).Section_DontIncludeDuplexFoldout))) - DoFoldoutPage(cb, "Beginning of Step Section", _TextLayer, _MyHelper, firstStep.FoldoutIndex(), InsertBlankPages); - else if (!_MyHelper.CreatingFoldoutPage && _MyFoldoutReader.Count > 0 && InsertBlankPages) + // 16-bit background + string procedureFileName = BackgroundFolder + "\\" + PDFFile.Trim();//CreateFileName(myProcedure.DisplayNumber); + FileInfo VEPromsFile = new FileInfo(procedureFileName); + if (VEPromsFile.Exists && !doingFoldout) { - // if it is continuous pagination, don't do blank page - not sure if this is correct place for this: - // C2023-001 if the previous section has the flag to not insert blank pages, - // then don't insert a blank page between the previous section and this one - if (mySection.SectionConfig.Section_Pagination == SectionConfig.SectionPagination.Separate && !mySection.SearchPrev.MyDocStyle.DontInsertBlankPages) + _MyHelper.BackgroundFile = procedureFileName; + float x = 0; + float y = 0; + if (!(mySection.ActiveFormat.Name.ToUpper().StartsWith("WST") || _MyHelper.Back32BitPROMS)) // compare folder contains PROMS generated PDF { - // only insert a blank page if this section does not have a foldout (but the procedure as a whole does) - // and the checkbox on the print dialog to add blank pages is checked - InsertBlankPage(cb); - //_MyLog.InfoFormat("NewPage Begin Step Sect blank {0}", cb.PdfWriter.CurrentPageNumber); - } - } - else - { - // If the procedure has supplemental facing pages, but this section does not & it's the first section, - // need a blank 'facing page'. Sections after the first will get blank 'facing page' in print's pagination logic - if (SupInfoPrintType == E_SupInfoPrintType.Merge && !mySection.HasSupInfoSteps && firstStepSec && InsertBlankPages) - { - InsertBlankPage(cb); + // X value below = 16-bit pdf OverrideLeftMargin = -2 characters at the plant format's default Font's + // characters per inch. + // 16bit OverrideLeftMargin, defined as -2 in driver\drvin.rtf, - override took 2 characters out, so we're adding it back in: + // These values adjust if overlay is 16bit versus 32bit. This is + // used so that the comparison is an exact match. Use 0,0 if comparing to another 32bit + // pdf, i.e. won't process the following 2 lines of code. + x = 2 * 72F / (float)myProcedure.ActiveFormat.PlantFormat.FormatData.Font.CPI; + y = -9.5F; } + x += 72F * VlnSettings.GetCommandFloat("X", 0); + y -= 72F * VlnSettings.GetCommandFloat("Y", 0); + _MyHelper.BackgroundOffset = new PointF(x, y); + _MyHelper.BackgroundPageOffset = 0; } + _MyHelper.WatermarkLayer = _WatermarkLayer; + _MyHelper.PageListLayer = _PagelistLayer; + _MyHelper.TextLayer = _TextLayer; + _MyHelper.BackgroundLayer = _BackgroundLayer; + _MyHelper.DebugLayer = _DebugLayer; + _MyHelper.PROMSVersionLayer = _PROMSVersionLayer; //C2018-009 print PROMS version } - firstStepSec = false; - CreateStepPdf(mySection, cb); + _MyHelper.Rev = _Rev; + _MyHelper.Watermark = _Watermark; + // C2019-039 Remove automatic zoom on Overlay PDFs + //_MyHelper.DoZoomOMatic = DebugOutput; + _MyHelper.OriginalPageBreak = OriginalPageBreak; + _MyHelper.PROMSVersion = _PromsVersion; //C2018-009 print PROMS version + _MyHelper.WatermarkColor = WatermarkOverrideColor; // C2021-019: save the override for the watermark color + OnStatusChanged("After Set PageEvent", PromsPrinterStatusType.SetPageEvent); } else { - CreateWordDocPdf(cb, mySection); + //added by jcb to reset mygaps when changing a section. found old section gaps were carrying over to new section + _MyHelper.MyGaps.Clear(); + //Console.WriteLine("'{0}' PromsPrinter", mySection.DisplayText); + // if pagination is separate or we've changed the format, we have not done the first page + // (if this format has the useonfirst page docstyle flag) + if (LastFmtName != mySection.ActiveFormat.Name || lastDocStyle != (int)mySection.MyDocStyle.Index || mySection.SectionConfig.Section_Pagination == SectionConfig.SectionPagination.Separate) + { + _MyHelper.DidFirstPageDocStyle = false; + lastDocStyle = (int)mySection.MyDocStyle.Index; + LastFmtName = mySection.ActiveFormat.Name; + } + if (!mySection.IsStepSection) _MyHelper.PageBookmarks.Add((ItemInfo)mySection, ((mySection.DisplayNumber ?? "") == "" ? "" : mySection.DisplayNumber + " - ") + mySection.DisplayText, null); + _MyHelper.MySection = mySection; + //OnStatusChanged("After Set Svg", PromsPrinterStatusType.SetSVG); } + // if this format uses phonelists, see if this section has one. We need to know the number + //of lines to adjust the pagelength for pagination and printing. + _MyHelper.PhoneListHeight = 0; + if (mySection.ActiveFormat.PlantFormat.FormatData.SectData.PrintPhoneList) + { + // get config for section + SectionConfig sc = mySection.MyConfig as SectionConfig; + if (sc.Section_PhoneList != null && sc.Section_PhoneList == "Y") + { + DocVersionConfig dvc = mySection.MyDocVersion.MyConfig as DocVersionConfig; + if (dvc != null) + { + string phlist = dvc.Print_PhoneList; + if (phlist != null && phlist != "") + { + // count lines: + int cl = 0; + int indx = phlist.IndexOf("\n"); + while (indx > 0) + { + cl++; + if (indx + 1 > phlist.Length) + indx = -1; + else + indx = phlist.IndexOf("\n", indx + 1); + } + if (cl == 0) cl = 1; // phone list is a single line without an ending newline + _MyHelper.PhoneListHeight = cl * vlnPrintObject.SixLinesPerInch; + } + } + } + } + _MyHelper.FinalMessageSectionID = finalMessageSectionID; // set VlnSvgPageHelper with the finalMessageSectionID + + if (mySection.IsAutoTOCSection) + { + if (((cb.PdfWriter.CurrentPageNumber % 2 == 0 && !_MyHelper.CreatingFoldoutPage) || myProcedure.ProcHasSupInfoData) && InsertBlankPages) // Bug Fix: B2016-181 - add blank page if page count is even + { + InsertBlankPage(cb); + } + GenerateTOC(mySection, myProcedure, cb, _TextLayer); + // B2020-102: extra page printing after auto TOC for summer. Retested for Farley and was successful also + // F2018-033: Farley Auto TOC. If doing foldouts or supinfo facing pages, add a blank page after also: + //if (myProcedure.ProcHasSupInfoData && InsertBlankPages) // Bug Fix: B2016-181 - add blank page if page count is even + //{ + // InsertBlankPage(cb); + //} + } + else + { + if (mySection.IsStepSection) + { + if (mySection.Steps != null && mySection.Steps.Count > 0) + { + // get first step to send to floating foldout indx.&& MyItemInfo.FoldoutIndex>-1) + ItemInfo firstStep = mySection.Steps[0]; + // B2019-165 Don't print the duplex foldout (on the back of the page) if the Don't Include Duplex Foldout check box was checked in section properties + if (firstStep.FoldoutIndex() > -1 && (mySection.MyPrevious == null || !((mySection.MyPrevious.MyConfig as SectionConfig).Section_DontIncludeDuplexFoldout))) + DoFoldoutPage(cb, "Beginning of Step Section", _TextLayer, _MyHelper, firstStep.FoldoutIndex(), InsertBlankPages); + else if (!_MyHelper.CreatingFoldoutPage && _MyFoldoutReader.Count > 0 && InsertBlankPages) + { + // if it is continuous pagination, don't do blank page - not sure if this is correct place for this: + // C2023-001 if the previous section has the flag to not insert blank pages, + // then don't insert a blank page between the previous section and this one + if (mySection.SectionConfig.Section_Pagination == SectionConfig.SectionPagination.Separate && !mySection.SearchPrev.MyDocStyle.DontInsertBlankPages) + { + // only insert a blank page if this section does not have a foldout (but the procedure as a whole does) + // and the checkbox on the print dialog to add blank pages is checked + InsertBlankPage(cb); + //_MyLog.InfoFormat("NewPage Begin Step Sect blank {0}", cb.PdfWriter.CurrentPageNumber); + } + } + else + { + // If the procedure has supplemental facing pages, but this section does not & it's the first section, + // need a blank 'facing page'. Sections after the first will get blank 'facing page' in print's pagination logic + if (SupInfoPrintType == E_SupInfoPrintType.Merge && !mySection.HasSupInfoSteps && firstStepSec && InsertBlankPages) + { + InsertBlankPage(cb); + } + } + } + firstStepSec = false; + CreateStepPdf(mySection, cb); + } + else + { + CreateWordDocPdf(cb, mySection); + } + } + _MyHelper.PrintedSectionPage = 0; } - _MyHelper.PrintedSectionPage = 0; } if (_MyHelper != null && _MyHelper.BackgroundFile != null) { From d6cb841d4670b9ef750c95199b7536bb5bbd3231 Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Thu, 25 Jan 2024 11:05:04 -0500 Subject: [PATCH 02/23] C2024-002-Print-Section --- PROMS/Volian.Print.Library/PromsPrinter.cs | 536 +++++++++++---------- 1 file changed, 271 insertions(+), 265 deletions(-) diff --git a/PROMS/Volian.Print.Library/PromsPrinter.cs b/PROMS/Volian.Print.Library/PromsPrinter.cs index 5b78ac32..1557c8a7 100644 --- a/PROMS/Volian.Print.Library/PromsPrinter.cs +++ b/PROMS/Volian.Print.Library/PromsPrinter.cs @@ -948,7 +948,7 @@ namespace Volian.Print.Library } foreach (SectionInfo mySection in myProcedure.Sections) { - if(PntSectID == -1 || (PntSectID > -1 && mySection.ItemID == PntSectID) ) + if(PntSectID == -1 || (PntSectID > -1 && mySection.ItemID == PntSectID) ) { // B2020-115 Calculate maximum available space on a page for figures vlnParagraph.hMax = ((float)mySection.MyDocStyle.Layout.PageLength); @@ -1579,270 +1579,273 @@ namespace Volian.Print.Library bool inGroup = false; foreach (SectionInfo mySection in ii.Sections) { - sectCnt++; - SectionConfig sc = mySection.MyConfig as SectionConfig; - 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"))) + if (PntSectID == -1 || (PntSectID > -1 && mySection.ItemID == PntSectID)) { - // 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: - level = 0; - ItemInfo iilvl = mySection as ItemInfo; - while (!iilvl.IsProcedure) + sectCnt++; + SectionConfig sc = mySection.MyConfig as SectionConfig; + 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"))) { - level++; - iilvl = iilvl.MyParent; - } - // check what level the plant wants the auto ToC indented: - int tofCNumLevels = tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCNumLevels ?? 0; - if (tofCNumLevels > 0 && level > tofCNumLevels) return yLocation; - - int startIndentAfterLevel = tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCStartIndentAfterLevel ?? 2; // - level = level <= startIndentAfterLevel ? 0 : level - startIndentAfterLevel; - float indentOffset = (level * (secTitlePos - secNumPos)); - - if (didSubSecLineSpacing && sectCnt == 1 && indentOffset > 0) // processing first sub-section and we are indenting B2016-205 - { - // processed last sub-section so use the main section line spacing (most times is double spaced) - yLocation -= (float)(tOfC.TofCLineSpacingSub ?? 1) * vlnPrintObject.SixLinesPerInch; - yLocation += (float)(tOfC.TofCLineSpacing ?? 1) * vlnPrintObject.SixLinesPerInch; - } - // The Group Title logic was added for V.C. Summer and Farley(new writer guide format) - // It allows the user to enter a Table of Contents Grouping Title on the Section Property (under automation) - // The grouping title will print if the same title wasn't last printed - string tocGrpHeading = sc.Section_TOC_Group_Title; // returns a "" if no title was entered - float yBottomMargin = yPageStart - (float)tocSection.MyDocStyle.Layout.PageLength + (2 * vlnPrintObject.SixLinesPerInch); - bool doGroupHeading = false; - if (tocGrpHeading != lastTOCGroupHeading && tocGrpHeading.Length > 0) - { - doGroupHeading = true; - inGroup = true; - // B2020-033: for single spacing, add an extra line before a grouping title: - float tmpspc = (float)(tOfC.TofCLineSpacing ?? 1); - if (lastTOCGroupHeading != "" || (firstGroupHeading && tmpspc == 1)) + // 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: + level = 0; + ItemInfo iilvl = mySection as ItemInfo; + while (!iilvl.IsProcedure) { - yLocation += vlnPrintObject.SixLinesPerInch; - firstGroupHeading = false; + level++; + iilvl = iilvl.MyParent; } - lastTOCGroupHeading = tocGrpHeading; - } - // 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. - bool didGrp = false; - string tmptxt = mySection.MyContent.Number == null || mySection.MyContent.Number == "" ? " " : mySection.DisplayNumber;// B2017-019 - process "" in section number - if (tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCRemoveGrpNameInSects - && tocGrpHeading.Length > 0 && tmptxt.ToUpper().Contains(tocGrpHeading)) - { - tmptxt = tmptxt.Replace(tocGrpHeading, ""); - didGrp = true; - } - if (tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCRemoveGrpNameInSects - && lastTOCGroupHeading.Length > 0 && tmptxt.ToUpper().Contains(lastTOCGroupHeading)) - { - tmptxt = tmptxt.Replace(lastTOCGroupHeading, ""); - didGrp = true; - } - string rtfText = GetRtfToC(tmptxt, tOfC); - Paragraph myparagraphSecNum = vlnPrintObject.RtfToParagraph(rtfText); - float width = 0; - foreach (Chunk chkt in myparagraphSecNum.Chunks) - width += chkt.GetWidthPoint(); - float numwidth = width; - Rtf2Pdf.Offset = new PointF(0, 2.5F); + // check what level the plant wants the auto ToC indented: + int tofCNumLevels = tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCNumLevels ?? 0; + if (tofCNumLevels > 0 && level > tofCNumLevels) return yLocation; - // if the starting column of text would be in 'middle of' the number, just put it - // a few spaces after the number. The '18' below represents 3 chars. - float adjSecTitlePos = secTitlePos + indentOffset + (level * 6); - if (secNumPos + numwidth + indentOffset > secTitlePos + indentOffset) - adjSecTitlePos = secNumPos + numwidth + 18 - xAdjTitleIndent + indentOffset; + int startIndentAfterLevel = tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCStartIndentAfterLevel ?? 2; // + level = level <= startIndentAfterLevel ? 0 : level - startIndentAfterLevel; + float indentOffset = (level * (secTitlePos - secNumPos)); - // logic put in for V.C. Summer who wants to their auto table of contents to print "OPERATOR ACTIONS" (set in the format) instead of "Procedure Steps" - // - note that Summer didn't want to change the section title because they want transition to say "procedure step" for the section title. 03/08/2016 - string tocSecTitle = mySection.FormattedDisplayText;// B2017-019 - process "" in section title - tocSecTitle = ConvertSpecialChars(tocSecTitle, ii.ActiveFormat.PlantFormat.FormatData); // B2019-172 process symbol characters - if (tocSecTitle.ToUpper() == "PROCEDURE STEPS" && tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCProcedureStepsTitle != "") - tocSecTitle = tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCProcedureStepsTitle; + if (didSubSecLineSpacing && sectCnt == 1 && indentOffset > 0) // processing first sub-section and we are indenting B2016-205 + { + // processed last sub-section so use the main section line spacing (most times is double spaced) + yLocation -= (float)(tOfC.TofCLineSpacingSub ?? 1) * vlnPrintObject.SixLinesPerInch; + yLocation += (float)(tOfC.TofCLineSpacing ?? 1) * vlnPrintObject.SixLinesPerInch; + } + // The Group Title logic was added for V.C. Summer and Farley(new writer guide format) + // It allows the user to enter a Table of Contents Grouping Title on the Section Property (under automation) + // The grouping title will print if the same title wasn't last printed + string tocGrpHeading = sc.Section_TOC_Group_Title; // returns a "" if no title was entered + float yBottomMargin = yPageStart - (float)tocSection.MyDocStyle.Layout.PageLength + (2 * vlnPrintObject.SixLinesPerInch); + bool doGroupHeading = false; + if (tocGrpHeading != lastTOCGroupHeading && tocGrpHeading.Length > 0) + { + doGroupHeading = true; + inGroup = true; + // B2020-033: for single spacing, add an extra line before a grouping title: + float tmpspc = (float)(tOfC.TofCLineSpacing ?? 1); + if (lastTOCGroupHeading != "" || (firstGroupHeading && tmpspc == 1)) + { + yLocation += vlnPrintObject.SixLinesPerInch; + firstGroupHeading = false; + } + lastTOCGroupHeading = tocGrpHeading; + } + // 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. + bool didGrp = false; + string tmptxt = mySection.MyContent.Number == null || mySection.MyContent.Number == "" ? " " : mySection.DisplayNumber;// B2017-019 - process "" in section number + if (tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCRemoveGrpNameInSects + && tocGrpHeading.Length > 0 && tmptxt.ToUpper().Contains(tocGrpHeading)) + { + tmptxt = tmptxt.Replace(tocGrpHeading, ""); + didGrp = true; + } + if (tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCRemoveGrpNameInSects + && lastTOCGroupHeading.Length > 0 && tmptxt.ToUpper().Contains(lastTOCGroupHeading)) + { + tmptxt = tmptxt.Replace(lastTOCGroupHeading, ""); + didGrp = true; + } + string rtfText = GetRtfToC(tmptxt, tOfC); + Paragraph myparagraphSecNum = vlnPrintObject.RtfToParagraph(rtfText); + float width = 0; + foreach (Chunk chkt in myparagraphSecNum.Chunks) + width += chkt.GetWidthPoint(); + float numwidth = width; + Rtf2Pdf.Offset = new PointF(0, 2.5F); - // Do the title first since it may wrap to 2nd line and this is an issue for - // doing a pagebreak, i.e. may cause a page break when the number on a single line - // would not. - //if (tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData - if (level == 0 && tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCUnderlineFirstLevelTitle) - { - VE_Font ovrFont = new VE_Font(tOfC.Font.Family, (int)tOfC.Font.Size, (E_Style)tOfC.Font.Style | E_Style.Underline, (float)tOfC.Font.CPI); - rtfText = GetRtfToC(tocSecTitle, tOfC, ovrFont); - } - else - rtfText = GetRtfToC(tocSecTitle, tOfC); - Paragraph myparagraphSecTitle = vlnPrintObject.RtfToParagraph(rtfText); // section title - width = secPagePos - adjSecTitlePos - ((tOfC.TofCPageNumAlign.ToUpper() == "RIGHT") ? 18 : 6);// B2021-109 proper adjustment of section title width - copied from leader dots lenth calcuation below - float savTitleWid = width; - // for South Texas Table of Contents - // if there is no section number (we put a blank in tmptxt) then move the section title over to the section number position - if (doGroupHeading) // see if the group title and the first item under it will fit on the page B2016-216 - { - VE_Font grpingFont = new VE_Font(tOfC.Font.Family, (int)tOfC.Font.Size, (E_Style)tOfC.Font.Style | E_Style.Underline, (float)tOfC.Font.CPI); - string rtfGrpingText = GetRtfToC(tocGrpHeading, tOfC, grpingFont); - Paragraph myparagraphGrpTitle = vlnPrintObject.RtfToParagraph(rtfGrpingText); - float w = secPagePos - 6; - // F2018-033: Farley Auto TOC. If line spacing is less than 0, then spacing is double spaced if on section items (such as - // Purpose, Proc Steps; and spacing is single spaced if within groups. If not less than 0, just use what is in format file. - int lnaftergroup = 1; - float lnsp = tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCLineSpacing ?? 0; - if (lnsp < 0) lnaftergroup = ((tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCLineSpacingSub ?? 0) > 0) ? 1 : 2; - float yLocAfterGrpTitleAndFirstItem = yLocation + (lnaftergroup * vlnPrintObject.SixLinesPerInch) + vlnPrintObject.GetHeight(cb, myparagraphGrpTitle, string.Empty, w, false) + vlnPrintObject.GetHeight(cb, myparagraphSecTitle, string.Empty, savTitleWid, false); - // if group heading and first item under it does not fit on the page, do a page break - if ((yPageStart - yLocAfterGrpTitleAndFirstItem) < yBottomMargin) + // if the starting column of text would be in 'middle of' the number, just put it + // a few spaces after the number. The '18' below represents 3 chars. + float adjSecTitlePos = secTitlePos + indentOffset + (level * 6); + if (secNumPos + numwidth + indentOffset > secTitlePos + indentOffset) + adjSecTitlePos = secNumPos + numwidth + 18 - xAdjTitleIndent + indentOffset; + + // logic put in for V.C. Summer who wants to their auto table of contents to print "OPERATOR ACTIONS" (set in the format) instead of "Procedure Steps" + // - note that Summer didn't want to change the section title because they want transition to say "procedure step" for the section title. 03/08/2016 + string tocSecTitle = mySection.FormattedDisplayText;// B2017-019 - process "" in section title + tocSecTitle = ConvertSpecialChars(tocSecTitle, ii.ActiveFormat.PlantFormat.FormatData); // B2019-172 process symbol characters + if (tocSecTitle.ToUpper() == "PROCEDURE STEPS" && tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCProcedureStepsTitle != "") + tocSecTitle = tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCProcedureStepsTitle; + + // Do the title first since it may wrap to 2nd line and this is an issue for + // doing a pagebreak, i.e. may cause a page break when the number on a single line + // would not. + //if (tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData + if (level == 0 && tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCUnderlineFirstLevelTitle) + { + VE_Font ovrFont = new VE_Font(tOfC.Font.Family, (int)tOfC.Font.Size, (E_Style)tOfC.Font.Style | E_Style.Underline, (float)tOfC.Font.CPI); + rtfText = GetRtfToC(tocSecTitle, tOfC, ovrFont); + } + else + rtfText = GetRtfToC(tocSecTitle, tOfC); + Paragraph myparagraphSecTitle = vlnPrintObject.RtfToParagraph(rtfText); // section title + width = secPagePos - adjSecTitlePos - ((tOfC.TofCPageNumAlign.ToUpper() == "RIGHT") ? 18 : 6);// B2021-109 proper adjustment of section title width - copied from leader dots lenth calcuation below + float savTitleWid = width; + // for South Texas Table of Contents + // if there is no section number (we put a blank in tmptxt) then move the section title over to the section number position + if (doGroupHeading) // see if the group title and the first item under it will fit on the page B2016-216 + { + VE_Font grpingFont = new VE_Font(tOfC.Font.Family, (int)tOfC.Font.Size, (E_Style)tOfC.Font.Style | E_Style.Underline, (float)tOfC.Font.CPI); + string rtfGrpingText = GetRtfToC(tocGrpHeading, tOfC, grpingFont); + Paragraph myparagraphGrpTitle = vlnPrintObject.RtfToParagraph(rtfGrpingText); + float w = secPagePos - 6; + // F2018-033: Farley Auto TOC. If line spacing is less than 0, then spacing is double spaced if on section items (such as + // Purpose, Proc Steps; and spacing is single spaced if within groups. If not less than 0, just use what is in format file. + int lnaftergroup = 1; + float lnsp = tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCLineSpacing ?? 0; + if (lnsp < 0) lnaftergroup = ((tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCLineSpacingSub ?? 0) > 0) ? 1 : 2; + float yLocAfterGrpTitleAndFirstItem = yLocation + (lnaftergroup * vlnPrintObject.SixLinesPerInch) + vlnPrintObject.GetHeight(cb, myparagraphGrpTitle, string.Empty, w, false) + vlnPrintObject.GetHeight(cb, myparagraphSecTitle, string.Empty, savTitleWid, false); + // if group heading and first item under it does not fit on the page, do a page break + if ((yPageStart - yLocAfterGrpTitleAndFirstItem) < yBottomMargin) + { + NewPage(); + _MyHelper.ResetSvg(); // needed to reset so that PSNotFirst pagelist justify flag gets used for BGE + yLocation = lastyLocation = 0; + } + //if (yLocation > 0) yLocation += vlnPrintObject.SixLinesPerInch;// commented out for B2016-200 // for two blank line between last TOC title and the new grouping title + float rtnval = Rtf2Pdf.TextAt(cb, myparagraphGrpTitle, leftMargin + secNumPos, yPageStart - yLocation, w, height, "", yBottomMargin); // print the Group Title + yLocation += vlnPrintObject.SixLinesPerInch; // for two blank line between last TOC title and the new grouping title - added for B2016-200 + if (lnsp > -1) yLocation += (lnaftergroup * vlnPrintObject.SixLinesPerInch); // new line + } + // Print the section title + float retval = Rtf2Pdf.TextAt(cb, myparagraphSecTitle, leftMargin + ((tOfC.TofCSecNumPos == tOfC.TofCSecTitlePos && tmptxt.Equals(" ")) ? secNumPos : adjSecTitlePos), 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, myparagraphSecTitle, leftMargin + adjSecTitlePos, yPageStart - yLocation, width, height, "", yBottomMargin); } - //if (yLocation > 0) yLocation += vlnPrintObject.SixLinesPerInch;// commented out for B2016-200 // for two blank line between last TOC title and the new grouping title - float rtnval = Rtf2Pdf.TextAt(cb, myparagraphGrpTitle, leftMargin + secNumPos, yPageStart - yLocation, w, height, "", yBottomMargin); // print the Group Title - yLocation += vlnPrintObject.SixLinesPerInch; // for two blank line between last TOC title and the new grouping title - added for B2016-200 - if (lnsp > -1) yLocation += (lnaftergroup * vlnPrintObject.SixLinesPerInch); // new line - } - // Print the section title - float retval = Rtf2Pdf.TextAt(cb, myparagraphSecTitle, leftMargin + ((tOfC.TofCSecNumPos == tOfC.TofCSecTitlePos && tmptxt.Equals(" ")) ? secNumPos : adjSecTitlePos), 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, myparagraphSecTitle, leftMargin + adjSecTitlePos, yPageStart - yLocation, width, height, "", yBottomMargin); - } - float ttlRetval = retval; - float savTitleFillWidth = Rtf2Pdf.FillWidth; + float ttlRetval = retval; + float savTitleFillWidth = Rtf2Pdf.FillWidth; - // Now do the section number. Retval is the ylocation on page after the text - // is put out. - retval = Rtf2Pdf.TextAt(cb, myparagraphSecNum, leftMargin + secNumPos + indentOffset, yPageStart - yLocation, numwidth * 1.3F, height, "", yBottomMargin); + // Now do the section number. Retval is the ylocation on page after the text + // is put out. + retval = Rtf2Pdf.TextAt(cb, myparagraphSecNum, leftMargin + secNumPos + indentOffset, yPageStart - yLocation, numwidth * 1.3F, height, "", yBottomMargin); - //float lSpace = (float)(tOfC.TofCLineSpacing ?? 1) * vlnPrintObject.SixLinesPerInch; + //float lSpace = (float)(tOfC.TofCLineSpacing ?? 1) * vlnPrintObject.SixLinesPerInch; - // adjust ylocation for pagenumber - the ylocation will get reset if the - // section title split on 2 lines and the page number needs to be on the 2nd line. - // Only do this if the title is not empty (the code was meant for if title spans more than a line) - if (retval != ttlRetval && mySection.MyContent.Text != null && mySection.MyContent.Text != "") yLocation += (retval - ttlRetval); + // adjust ylocation for pagenumber - the ylocation will get reset if the + // section title split on 2 lines and the page number needs to be on the 2nd line. + // Only do this if the title is not empty (the code was meant for if title spans more than a line) + if (retval != ttlRetval && mySection.MyContent.Text != null && mySection.MyContent.Text != "") yLocation += (retval - ttlRetval); - // retval = the minimum (further down the page) between section number and - // title - this accounts for multi line title. - retval = Math.Min(retval, ttlRetval); - lastyLocation = retval; + // retval = the minimum (further down the page) between section number and + // title - this accounts for multi line title. + retval = Math.Min(retval, ttlRetval); + lastyLocation = retval; - // check that the page number should be in the TOC (some BGE sections do not have the page number) - if (!((mySection.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DontNumberInTOC) == E_DocStructStyle.DontNumberInTOC)) - { - // 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 != " ") + // check that the page number should be in the TOC (some BGE sections do not have the page number) + if (!((mySection.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DontNumberInTOC) == E_DocStructStyle.DontNumberInTOC)) { - width = 0; - foreach (Chunk chkt in myparagraphSecTitle.Chunks) - width += chkt.GetWidthPoint(); - - // get height - if two lines high, need width of 2nd line for adding - // space characters - float heightTtl = vlnPrintObject.GetHeight(cb, myparagraphSecTitle, 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) + // 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 != " ") { - // 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 + adjSecTitlePos + secondLineWidth + 6; + width = 0; + foreach (Chunk chkt in myparagraphSecTitle.Chunks) + width += chkt.GetWidthPoint(); + + // get height - if two lines high, need width of 2nd line for adding + // space characters + float heightTtl = vlnPrintObject.GetHeight(cb, myparagraphSecTitle, 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 + adjSecTitlePos + secondLineWidth + 6; + } + else + startSpace = leftMargin + adjSecTitlePos + 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 + secPagePos - 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" + mySection.ItemID.ToString(); + if (mySection.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 + secPagePos, yPageStart - yLocation, width, height, "", yBottomMargin); } else - startSpace = leftMargin + adjSecTitlePos + 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 + secPagePos - 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); - + AddTemplateTOCPageCounts(tOfC, yLocation, yPageStartAdj, leftMargin, secPagePos, height, key); } - // 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" + mySection.ItemID.ToString(); - if (mySection.IsAutoTOCSection || _MyHelper.MyTOCPageNums.ContainsKey(key)) + //If the format wants single spacing within subsections (2nd level and lower), then need to figure out + // spacing (vcb1 table of contents) + //bool dosuby = (((tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCLineSpacingSub ?? 1) > 0) + // && (mySection.MyParent.IsSection && ((mySection.Sections != null && mySection.Sections.Count > 0) || (level > 0 && mySection.NextItem != null)))) + // || didGrp; + doSubY = (((tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCLineSpacingSub ?? 1) > 0) + && (mySection.MyParent.IsSection && (/* mySection.Sections == null && */ sectCnt < ii.Sections.Count))) // B2016-205 + || didGrp; + //float spc = (float)(tOfC.TofCLineSpacing ?? 1); + if (doSubY) { - 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 + secPagePos, yPageStart - yLocation, width, height, "", yBottomMargin); + float spcs = (float)(tOfC.TofCLineSpacingSub ?? 1); + if (spcs == -1) // F2018-033: Allow for single & double spacing for Farley (if in group or not) + { + if (inGroup) // Do not require a title to be placed on each section in group for Farley. If in group from above, single space + spcs = 1; + else + spcs = 2; + } + yLocation += (spcs * vlnPrintObject.SixLinesPerInch); } else - 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) - //bool dosuby = (((tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCLineSpacingSub ?? 1) > 0) - // && (mySection.MyParent.IsSection && ((mySection.Sections != null && mySection.Sections.Count > 0) || (level > 0 && mySection.NextItem != null)))) - // || didGrp; - doSubY = (((tocSection.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.TableOfContentsData.TofCLineSpacingSub ?? 1) > 0) - && (mySection.MyParent.IsSection && (/* mySection.Sections == null && */ sectCnt < ii.Sections.Count))) // B2016-205 - || didGrp; - //float spc = (float)(tOfC.TofCLineSpacing ?? 1); - if (doSubY) - { - float spcs = (float)(tOfC.TofCLineSpacingSub ?? 1); - if (spcs == -1) // F2018-033: Allow for single & double spacing for Farley (if in group or not) { - if (inGroup) // Do not require a title to be placed on each section in group for Farley. If in group from above, single space - spcs = 1; - else - spcs = 2; + float spc = (float)(tOfC.TofCLineSpacing ?? 1); + if (spc == -1) // F2018-033: Allow for single & double spacing for Farley (if in group or not) + { + if (inGroup) // Do not require a title to be placed on each section in group for Farley. If in group from above, single space + spc = 1; + else + spc = 2; + } + yLocation += (spc * vlnPrintObject.SixLinesPerInch); } - yLocation += (spcs * 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); } - else + float savYLoc = yLocation; + yLocation = AddSectionToTOC(tocSection, mySection, tOfC, cb, yPageStart, yLocation, doSubY); + if (savYLoc == yLocation) // nothing was outputted i.e. the subsections are not included on the TOC // B2016-205 { - float spc = (float)(tOfC.TofCLineSpacing ?? 1); - if (spc == -1) // F2018-033: Allow for single & double spacing for Farley (if in group or not) + if (doSubY && sectCnt == ii.Sections.Count) { - if (inGroup) // Do not require a title to be placed on each section in group for Farley. If in group from above, single space - spc = 1; - else - spc = 2; + // processed last sub-section so use the main section line spacing (most times is double spaced) + yLocation -= (float)(tOfC.TofCLineSpacingSub ?? 1) * vlnPrintObject.SixLinesPerInch; + yLocation += (float)(tOfC.TofCLineSpacing ?? 1) * vlnPrintObject.SixLinesPerInch; } - 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); - if (savYLoc == yLocation) // nothing was outputted i.e. the subsections are not included on the TOC // B2016-205 - { - if (doSubY && sectCnt == ii.Sections.Count) - { - // processed last sub-section so use the main section line spacing (most times is double spaced) - yLocation -= (float)(tOfC.TofCLineSpacingSub ?? 1) * vlnPrintObject.SixLinesPerInch; - yLocation += (float)(tOfC.TofCLineSpacing ?? 1) * vlnPrintObject.SixLinesPerInch; } } } @@ -2935,46 +2938,49 @@ namespace Volian.Print.Library if (ii.Sections == null) return; // B2021-067 crash on null reference foreach (SectionInfo si in ii.Sections) { + if (MyPromsPrinter.PntSectID == -1 || (MyPromsPrinter.PntSectID > -1 && si.ItemID == MyPromsPrinter.PntSectID)) + { if (si.IsStepSection) - { - if (si.Sections != null) LoadSectionTree(si); - } - else - { - MyPdfFile = _MyPromsPrinter.BuildMSWordPDF(si); - if (MyPdfFile != null) { - try + if (si.Sections != null) LoadSectionTree(si); + } + else + { + MyPdfFile = _MyPromsPrinter.BuildMSWordPDF(si); + if (MyPdfFile != null) { - FileInfo fi = new FileInfo(MyPdfFile); - if (fi.Length == 0) // B2017-218 Handle invalid word sections + try { - if (!PromsPrinter.BaselineTesting) //B2018-071 Output a message box unless baseline testing is being performed. - MessageBox.Show(si.DisplayNumber + " " + si.DisplayText + " is not valid", "Invalid Word Section", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); - return; + FileInfo fi = new FileInfo(MyPdfFile); + if (fi.Length == 0) // B2017-218 Handle invalid word sections + { + if (!PromsPrinter.BaselineTesting) //B2018-071 Output a message box unless baseline testing is being performed. + MessageBox.Show(si.DisplayNumber + " " + si.DisplayText + " is not valid", "Invalid Word Section", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + return; + } + MyReader = MyPdfFile != null ? new PdfReader(MyPdfFile) : null; + string key = string.Empty; + for (int i = 1; i <= MyReader.NumberOfPages; i++) + { + key = string.Format("{0}.{1}", si.ItemID, i); + dicPage.Add(key, MyPromsPrinter.MyContentByte.PdfWriter.GetImportedPage(MyReader, i)); + iTextSharp.text.Rectangle rectgl = MyReader.GetPageSizeWithRotation(i); + // If the word page is set to landscape, but the document style is not landscape, then flip the height and width (put back to portrait) + if (!((si.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_WordContentLandscaped) == E_DocStructStyle.DSS_WordContentLandscaped) && rectgl.Height < rectgl.Width) + rectgl = new iTextSharp.text.Rectangle(rectgl.Height, rectgl.Width); + dicSize.Add(key, rectgl); + //dicSize.Add(key, MyReader.GetPageSizeWithRotation(i)); + } } - MyReader = MyPdfFile != null ? new PdfReader(MyPdfFile) : null; - string key = string.Empty; - for (int i = 1; i <= MyReader.NumberOfPages; i++) + catch (Exception ex) { - key = string.Format("{0}.{1}", si.ItemID, i); - dicPage.Add(key, MyPromsPrinter.MyContentByte.PdfWriter.GetImportedPage(MyReader, i)); - iTextSharp.text.Rectangle rectgl = MyReader.GetPageSizeWithRotation(i); - // If the word page is set to landscape, but the document style is not landscape, then flip the height and width (put back to portrait) - if (!((si.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_WordContentLandscaped) == E_DocStructStyle.DSS_WordContentLandscaped) && rectgl.Height < rectgl.Width) - rectgl = new iTextSharp.text.Rectangle(rectgl.Height, rectgl.Width); - dicSize.Add(key, rectgl); - //dicSize.Add(key, MyReader.GetPageSizeWithRotation(i)); + if (_MyPromsPrinter.DocReplace == null) + MessageBox.Show(ex.Message, ex.GetType().FullName, MessageBoxButtons.OK, MessageBoxIcon.Error); + _MyLog.Warn(string.Format("Error in LoadSectionTree [{0}],{1}.{2}", si.ItemID, si.DisplayNumber, si.DisplayText), ex); } } - catch (Exception ex) - { - if (_MyPromsPrinter.DocReplace == null) - MessageBox.Show(ex.Message, ex.GetType().FullName, MessageBoxButtons.OK, MessageBoxIcon.Error); - _MyLog.Warn(string.Format("Error in LoadSectionTree [{0}],{1}.{2}", si.ItemID, si.DisplayNumber, si.DisplayText), ex); - } } - } + //} } } } From 5be9daa01972fc67b8afd331804650e9b649ea77 Mon Sep 17 00:00:00 2001 From: John Jenko Date: Thu, 25 Jan 2024 11:15:10 -0500 Subject: [PATCH 03/23] B2024-004 In the RO Editor, fixed the issue for when Child values have a length of zero, the parent value will now be displayed (as gray text) in the Child field. Also, when generating a RO.FST file, it will use the Parent value when the Child value length is zero. --- PROMS/ReferencedObjects/LibSource/RODBInterface/VlnXml.cs | 2 +- PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PROMS/ReferencedObjects/LibSource/RODBInterface/VlnXml.cs b/PROMS/ReferencedObjects/LibSource/RODBInterface/VlnXml.cs index 98647f8f..82cbd45f 100644 --- a/PROMS/ReferencedObjects/LibSource/RODBInterface/VlnXml.cs +++ b/PROMS/ReferencedObjects/LibSource/RODBInterface/VlnXml.cs @@ -746,7 +746,7 @@ namespace RODBInterface string csufx = string.Format("_PCCHILD{0}", pcChildIdx); //applicValues += ","; XmlNode cn = elmnode.SelectSingleNode(parentName + csufx); - if (cn == null) + if (cn == null || cn.InnerText.Length == 0) // B2024-004 use Parent value if Child text length is zero applicValues += string.Format(",UnitIdx={0} Value={1}", pcChildIdx, parentValue); // use parent value as default else { diff --git a/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs b/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs index 6ade16c3..9e1c5208 100644 --- a/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs +++ b/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs @@ -473,7 +473,7 @@ namespace ctlXMLEditLib nd = node.SelectSingleNode(str); // if not found with just the string, search the tree. if (nd==null)nd = node.SelectSingleNode("*/"+str); - if (nd == null) + if (nd == null || nd.InnerText.Length==0) // B2024-004 use Parent value if Child text length is zero GetDefaultParentValue(hwnd, node, str); // C2021-026 Parent/Child Field has no value so use parent's value else { From 9a546064cf5e3ce2162a67bdfa35bdce289d1d8e Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Fri, 26 Jan 2024 09:26:42 -0500 Subject: [PATCH 04/23] C2024-002-Print-Section --- .../DlgPrintProcedure.cs | 6 ++-- .../frmPDFStatusForm.cs | 4 +-- PROMS/VEPROMS User Interface/frmVEPROMS.cs | 2 +- PROMS/Volian.Print.Library/PromsPrinter.cs | 34 +++++++++++-------- 4 files changed, 25 insertions(+), 21 deletions(-) diff --git a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs index f5bdd150..af4cc645 100644 --- a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs +++ b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs @@ -775,7 +775,7 @@ namespace VEPROMS // B2021-102 put in the using for better memory management using (frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, waterMarkText, cbxDebug.Checked, cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, myPDFPath, cbd, txbPDFName.Text, new Point(Left, Bottom - 50), - swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd, watermarkColor))//;//C2018-009 print PROMS version + swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd, watermarkColor, PntSectID))//;//C2018-009 print PROMS version { frmStatus.CloseWhenDone = true; Application.DoEvents(); @@ -856,7 +856,7 @@ namespace VEPROMS // B2016-249 Output Procedure to folder associated with Parent Child using (frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, waterMarkText, cbxDebug.Checked, cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, - new Point(Left, Bottom - 50), swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd, watermarkColor)) // ;//C2018-009 print PROMS version + new Point(Left, Bottom - 50), swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd, watermarkColor, PntSectID)) // ;//C2018-009 print PROMS version { frmStatus.PntSectID = PntSectID; frmStatus.CloseWhenDone = true; @@ -1009,7 +1009,7 @@ namespace VEPROMS // B2018-124 use text of watermark form drop down list instead of enum value using (frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, waterMarkText, cbxDebug.Checked, cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, new Point(Left, Bottom - 50), - swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, false, tbBlankPage.Text, _MergedPfd, watermarkColor))//; //C2018-009 print PROMS version + swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, false, tbBlankPage.Text, _MergedPfd, watermarkColor, PntSectID))//; //C2018-009 print PROMS version { frmStatus.MakePlaceKeeper = swtbtnGeneratePlacekeeper.Value; frmStatus.MakeContinuousActionSummary = cbxGenerateConActSum.Checked; diff --git a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs index 8ae41372..a5065c1c 100644 --- a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs +++ b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs @@ -97,7 +97,7 @@ namespace VEPROMS get { return _pntSectID; } set { _pntSectID = value; } } - public frmPDFStatusForm(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, bool openPDF, bool overWrite, string pdfPath, ChangeBarDefinition cbd, string pdfFile, Point newLocation, bool insertBlankPages, bool allOrAuto, string prefix, bool saveLinks, int removeTrailingHardReturnsAndManualPageBreaks, bool showPROMSVer, bool didAll, string blankPageText, MergedPdf mergedPdf, string watermarkColor) + public frmPDFStatusForm(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, bool openPDF, bool overWrite, string pdfPath, ChangeBarDefinition cbd, string pdfFile, Point newLocation, bool insertBlankPages, bool allOrAuto, string prefix, bool saveLinks, int removeTrailingHardReturnsAndManualPageBreaks, bool showPROMSVer, bool didAll, string blankPageText, MergedPdf mergedPdf, string watermarkColor, int PntSectID = -1) { // B2021-088 moved this if/else from CreatePDF() so that the Approval logic will have access to this logic ProcedureInfo MyProcedure = myItem as ProcedureInfo; @@ -282,7 +282,7 @@ namespace VEPROMS cachePartInfo = PartInfo.CacheList; } - _PdfFile = MyPromsPrinter.Print(PDFPath, MakePlaceKeeper, MakeContinuousActionSummary, MakeTimeCriticalActionSummary); + _PdfFile = MyPromsPrinter.Print(PDFPath, MakePlaceKeeper, MakeContinuousActionSummary, MakeTimeCriticalActionSummary, PntSectID); ProfileTimer.Pop(profileDepth); diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index fcfa6323..5ff941ce 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -1210,7 +1210,7 @@ namespace VEPROMS prnDlg.SelectedSlave = args.UnitIndex; prnDlg.MySessionInfo = MySessionInfo; prnDlg.SetupForProcedure(); // Setup filename - prnDlg.QPCreatePDF(); // Create Print report + prnDlg.ShowDialog(this); // Create Print report si2.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0; } diff --git a/PROMS/Volian.Print.Library/PromsPrinter.cs b/PROMS/Volian.Print.Library/PromsPrinter.cs index 1557c8a7..da4bfc27 100644 --- a/PROMS/Volian.Print.Library/PromsPrinter.cs +++ b/PROMS/Volian.Print.Library/PromsPrinter.cs @@ -323,7 +323,7 @@ namespace Volian.Print.Library set { _MergedPdf = value; } } public PromsPrinter(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, string backgroundFolder, bool openPDF, bool overWrite, - ChangeBarDefinition cbd, String pdfFile, bool insertBlankPages, bool batchPrint, string prefix, bool saveLinks, int removeTrailngHardReturnsAndManualPageBreaks, string blankPageText, bool didAll, MergedPdf mergedPdf, string watermarkColor) + ChangeBarDefinition cbd, String pdfFile, bool insertBlankPages, bool batchPrint, string prefix, bool saveLinks, int removeTrailngHardReturnsAndManualPageBreaks, string blankPageText, bool didAll, MergedPdf mergedPdf, string watermarkColor, int PntSectID = -1) { Prefix = prefix; // RHM20150506 Multiline ItemID TextBox _MyItem = myItem; @@ -348,6 +348,7 @@ namespace Volian.Print.Library _DidAll = didAll; _MergeNotIncluded = false; _MergedPdf = mergedPdf; + _pntSectID = PntSectID; //_MyReaderHelper.LoadTree(myItem); } // Pass 1 PDF Name @@ -367,7 +368,7 @@ namespace Volian.Print.Library // B2019-152: MergedLandscapePages is a dictionary whose key is the pdf file name & values are all of the page numbers // in that pdf that should have landscaped page numbers. These are added when the page is finished (onEndPage) public static Dictionary> MergedLandscapePages = null; - public string Print(string pdfFolder, bool makePlacekeeper, bool makeContinuousActionSummary, bool makeTimeCriticalActionSummary) + public string Print(string pdfFolder, bool makePlacekeeper, bool makeContinuousActionSummary, bool makeTimeCriticalActionSummary, int PntSectID = -1) { if (_MyItem is ProcedureInfo) { @@ -805,20 +806,23 @@ namespace Volian.Print.Library int cnt = 0; foreach (SectionInfo mySection in myProcedure.Sections) { - if (!mySection.MyDocStyle.IsStepSection && !mySection.IsAutoTOCSection) + if (PntSectID == -1 || (PntSectID > -1 && mySection.ItemID == PntSectID)) { - VEPROMS.CSLA.Library.Document.ConvertWordSectionToDOCX((ItemInfo)mySection); // B2023-093 Convert a Word section to the DOCX Word format if needed before printing - } - //C2019-042 Section_IsFoldout checks Section Number, Section Title, and use of check box - if ((myProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.SectionLevelFoldouts && (mySection.MyConfig as SectionConfig).Section_IsFoldout == "Y") - || (myProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.AlternateFloatingFoldout && (mySection.MyConfig as SectionConfig).Section_IsFoldout == "Y")) - { - // if floating foldouts, need a list of sections & foldoutreaders. Just do first for now. + if (!mySection.MyDocStyle.IsStepSection && !mySection.IsAutoTOCSection) + { + VEPROMS.CSLA.Library.Document.ConvertWordSectionToDOCX((ItemInfo)mySection); // B2023-093 Convert a Word section to the DOCX Word format if needed before printing + } + //C2019-042 Section_IsFoldout checks Section Number, Section Title, and use of check box + if ((myProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.SectionLevelFoldouts && (mySection.MyConfig as SectionConfig).Section_IsFoldout == "Y") + || (myProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.AlternateFloatingFoldout && (mySection.MyConfig as SectionConfig).Section_IsFoldout == "Y")) + { + // if floating foldouts, need a list of sections & foldoutreaders. Just do first for now. - _MyFoldoutSection.Add(mySection); - string foldoutPdf = PrintProcedureOrFoldout(myProcedure, mySection, Volian.Base.Library.VlnSettings.TemporaryFolder + @"\Foldout" + cnt.ToString() + @".pdf", false, false, false); - _MyFoldoutReader.Add(foldoutPdf != null ? new PdfReader(foldoutPdf) : null); - cnt++; + _MyFoldoutSection.Add(mySection); + string foldoutPdf = PrintProcedureOrFoldout(myProcedure, mySection, Volian.Base.Library.VlnSettings.TemporaryFolder + @"\Foldout" + cnt.ToString() + @".pdf", false, false, false); + _MyFoldoutReader.Add(foldoutPdf != null ? new PdfReader(foldoutPdf) : null); + cnt++; + } } } } @@ -2980,7 +2984,7 @@ namespace Volian.Print.Library } } } - //} + } } } } From 293224275d80b1b9a5f06a9b9f774256160b0b7c Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Fri, 26 Jan 2024 11:06:26 -0500 Subject: [PATCH 05/23] C2024-002-Print_section --- PROMS/VEPROMS User Interface/frmPDFStatusForm.cs | 1 + PROMS/Volian.Print.Library/PromsPrinter.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs index a5065c1c..eedeed3c 100644 --- a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs +++ b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs @@ -122,6 +122,7 @@ namespace VEPROMS Prefix = prefix; OpenPDF = openPDF; DidAll = didAll; + _pntSectID = PntSectID; InitializeComponent(); diff --git a/PROMS/Volian.Print.Library/PromsPrinter.cs b/PROMS/Volian.Print.Library/PromsPrinter.cs index da4bfc27..cfff64b7 100644 --- a/PROMS/Volian.Print.Library/PromsPrinter.cs +++ b/PROMS/Volian.Print.Library/PromsPrinter.cs @@ -372,6 +372,7 @@ namespace Volian.Print.Library { if (_MyItem is ProcedureInfo) { + _pntSectID = PntSectID; ProcedureConfig pcfg = (ProcedureConfig)(_MyItem as ProcedureInfo).MyConfig; if (DidAll && pcfg.Print_NotInMergeAll) // will be merging a pdf, so don't print this procedure if user set that on procedure propertures { From 2439524413a4445ddb2f66db3481ba627e93525a Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Sun, 28 Jan 2024 17:53:19 -0500 Subject: [PATCH 06/23] F2024-005-Comanche-Peaks-Arial --- PROMS/Formats/fmtall/CPDEVall.xml | Bin 33250 -> 32810 bytes PROMS/Formats/fmtall/CPFDEVall.xml | Bin 33772 -> 33428 bytes PROMS/Formats/fmtall/ComPeakFlex11all.xml | Bin 71634 -> 71628 bytes PROMS/Formats/fmtall/TUECSAMG1all.xml | Bin 69396 -> 69390 bytes PROMS/Formats/fmtall/TUECSAMGall.xml | Bin 64800 -> 64794 bytes PROMS/Formats/genmacall/cpdev.svg | Bin 5164 -> 5166 bytes PROMS/Formats/genmacall/cpfdev.svg | Bin 5214 -> 5216 bytes 7 files changed, 0 insertions(+), 0 deletions(-) diff --git a/PROMS/Formats/fmtall/CPDEVall.xml b/PROMS/Formats/fmtall/CPDEVall.xml index 8f746a23e55d0cf841da252d6d3db95b2ae9ee91..91dfea1cb509dfeef5ab7788f4084bebfdd5b299 100644 GIT binary patch delta 590 zcmaFV%(SY3X~QKx<~)Y{$q)GxCp+*@0kJnffO$&=@q zLo5Ta&sjhX@PdR$m(>=yx^>pepzNP;u~W8?hydw5V+XMi#J*v_3a;jp!!|G*6q{mB z&me55`5G<|{SSfs5At%8-vlU4KBmAo`2jGBE*LM^{LQru=J3yxYdqFKHGiJ0;RR-I Ue(2SSP>|&dQ=qxo$8VZ30CG_1y#N3J delta 644 zcmZ40!1Sn@X~QMH$@@~pCjU~3nry*83Cxz#joNG=kj4a+h?x9K2qNL-Y%0FqSGc%5LpCPgCxFrfv5*FT(C}nYw|vE9iXO)$z6N`ll%B>pmJ)HbDRYx&+r4< zE?zbHjno9FxXt7Z0kb9xC^<}?Co>By26EXv*%@&59JysswLzN~$oqjU+x$yOixIA( zOJxq6-J^;yrAKWVR42?9r^#*_5HXM~PMYh$@<9Jj4%32|0b)mJAApP3=|Eg6rTYpl zmZdij&d$?^*ay;=X8=*lW%vyyzd6n58N{Jp&M-$fOwKdi1XiGB9W}Yl3}P9Gy~Z3f zSmG?Vz|~e*L4rcd`U707!3GjnApI4#5Kn;ERd%c3YP#&Vf!V*5A|@|!cm`%8yJw9P z*o@6y&TAlv020APlizr{On&3G2C4y+7$9PO9_V7XFx2evhN)4Qoa1?9bA<0DBLMFq B4dws< diff --git a/PROMS/Formats/fmtall/CPFDEVall.xml b/PROMS/Formats/fmtall/CPFDEVall.xml index 37e5c29edd901ccf38868475ec2206f0ef829ee5..708b507ab81cd0c3c9c4045f0a21dbff0011f54e 100644 GIT binary patch delta 441 zcmaFU&NQW!X+s;!WUCl~$+K9VF&i>iPA+5-1@SkpVhxdJ&SS`*9H^E#xkU8>h`l*b zjg=8Dct(8|lx;hCgT@)Kf{o_rdh~5mgoy{Dq5y&|Rb8GtKXO@S+Dg)Kh zC(Bq*f~po|oP5S+6I|kx?Fu-X&mQK7^vO~VQ{duCju2;o3^H+A0~Zf*-T`MfxI6=~ zA4Tc$@wJ delta 440 zcmbQz%Jin4X+s;!4Alf4Y$ zCMT(0g0ttT&4aU-sn3D3O(r*KoB^>nM`_MugeyqW-T-AMOs>;`DNdN&rh5P`zDaKa zoV`vT#{LHv+hRBi%#Jep02kY4j4*4T30TkODAOfii#Kzb?|``Amu13aJxhp9zbwJJ zfs!1IlmA(70viQVAY;1>&epS=24@@CPlB`c93a+#)SEf3f{Xh&Z3DAGVU*+i48#Wd zpN(;HiYr8Ol%~#RJ+}fTu*@otHi)}cdEA;T=Dh~26~tcQ1GaXvmoGxW=578-5|aZI L`8I20B<_(7=ChJHGOtugfnfyxP(qs{74G??tFG;n>0Q(~itpET3 delta 42 qcmbRBi+RB><_(7=CjTlEnQS2}GWnUrrO9g~#E|$sn;WENJpur(IunNg diff --git a/PROMS/Formats/genmacall/cpdev.svg b/PROMS/Formats/genmacall/cpdev.svg index a820f2bf791869f03c973784581e0a76eb41eb25..c55e7800e1d14abcfb770a8d90cac50413a44e58 100644 GIT binary patch delta 82 zcmZ3Zu}))ygn+OKgC2tsgA#)RLnVVPkTztnm|QOyIJri^iPez7fWc()K>=Y#h?tt7 Ti>M`oB~XV2s*cU|f@_%o#lR4- delta 94 zcmZ3du|{Kqgn+OygC2tsgA#)RLnVVPkTzs6pWG-IIJri^N!*gb5-4lVV2VXvL(oOk Rg245extT diff --git a/PROMS/Formats/genmacall/cpfdev.svg b/PROMS/Formats/genmacall/cpfdev.svg index 957e503befe4848f46c982716346547a31a7dca6..491735935b8fd707b8c6d7018f80abce28c7b7ad 100644 GIT binary patch delta 90 zcmcbo@jzpPn}E0pgC2tsgA#)RLnVVPkTztn0E(DR-YDohd6j?@t098{gURIg0^*Di Xu@FHQNlOMxpc)HIU7I%wu4MuMi}e#M delta 87 zcmaE$aZh7|n}E16gC2tsgA#)RLnVVPkTztn0E!q+juq% Date: Mon, 29 Jan 2024 15:25:55 -0500 Subject: [PATCH 07/23] F2024-005-Comanche-Peaks-Arial --- PROMS/Formats/fmtall/CPDEVall.xml | Bin 32810 -> 32810 bytes PROMS/Formats/fmtall/CPFDEVall.xml | Bin 33428 -> 33428 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/PROMS/Formats/fmtall/CPDEVall.xml b/PROMS/Formats/fmtall/CPDEVall.xml index 91dfea1cb509dfeef5ab7788f4084bebfdd5b299..de28c2d304956bb2e13ba5c4958913445e89c207 100644 GIT binary patch delta 665 zcmZ40z_hA?X~QMHN#Z<{|7b=`HshZHVMc8>5J+PJv3(q(CjSwd01+0OoZu`s*+5)v zvW^JH6d13bWl|a-QiXkhG4O6eGwY9kZy(Ys{gVQB}rS zZh@(&uv!LVwpfE*57O6QGYKYIVGH&(NVLjs6->0tejAXv*~h^SY!|vy);NLn1BEvy xI8Q@zEhq&PO@8C)GWm_$8jxWSoe1GR4=lpBu&LbRjii!ma*pSb%@Mwri~uQa2k2q%i@Rjt;4l{|HS03o1@daF&~FAg(r9 zM}%YY0?}!cCx|SHU3>zQ`}l3(vI3KHoCPM&@Z$rj zsG9sn3Sp7jkQ@*G(hYnI#!xEVH^7s&fTEKHspqsgonL4?tOUIuN&|PA<`fv9k0a zR-{hO(}%bW$TEP*rWgXP-OOm@4GPDPnxN2w+37Gj&vX+|QqfEmWRs#<>f|-%5Phi1 z;w-m73|{;ppHA@eHcLYn(t@fv(z| x;5-fCKv47+O@8C)GWm_$8i)dDq(emeJTOIXVNtio8=;PCa*pSb%@Mwri~s?p@=5>z diff --git a/PROMS/Formats/fmtall/CPFDEVall.xml b/PROMS/Formats/fmtall/CPFDEVall.xml index 708b507ab81cd0c3c9c4045f0a21dbff0011f54e..44247a2857dfb0a8d84a6b25bbdaec59937f39d4 100644 GIT binary patch delta 387 zcmbQz$~2{wX~PedNo+im_t?ZuPEx%DW6o2X2V*W%p95in*?L7(T6iv7%YH^ZZd@05jS~<5nRC*W4K{^Ou(XGn@trQu!sIBc2_Pm=#biD6CzJnKZvt{R@3CP+D7KphQ*2-lwGe28 z1JoG_lg%7gf%Lp_6oY#+$N3q|)H=;alT%z_PMX}OD7V?gEs6;ueQR=y=Ngb^8?QE~ YOK(kH;RCkN#_QH(6+f`-9lssM00irm#sB~S delta 353 zcmbQz$~2{wX~Pc{#=OZJZ89e(sa}Gz=BdqtvX-gO0kiBUH))&!vJAcSH`i%aF+!!2 zv^PLmH99aYExL!GVjJ`(L0N0`VXPGf3!q|~3?W8mPTpYzligwrGi8qnNDOS9X#>bQ z5L3^53dH8@$$FLtz~*F6jrIS#n>X4B!WG(0gDNzzhgbvD>;SPk zd$O71DxmU*j*2iJ From 9beeee2aac78432fe1e6666459408c09e0c7fd88 Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Wed, 31 Jan 2024 09:18:22 -0500 Subject: [PATCH 08/23] U2024-003-Help-Menu-Additions --- .../frmVEPROMS.Designer.cs | 34 ++++++++++++++++--- PROMS/VEPROMS User Interface/frmVEPROMS.cs | 21 ++++++++++++ PROMS/VEPROMS User Interface/frmVEPROMS.resx | 12 +++++++ 3 files changed, 62 insertions(+), 5 deletions(-) diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs index d5e9c4ea..59628177 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs @@ -36,6 +36,8 @@ namespace VEPROMS this.btnShortCuts = new DevComponents.DotNetBar.ButtonItem(); this.btnHelpVWeb = new DevComponents.DotNetBar.ButtonItem(); this.btnSendErrorLog = new DevComponents.DotNetBar.ButtonItem(); + this.btnShowErrFld = new DevComponents.DotNetBar.ButtonItem(); + this.btnShowPrtFld = new DevComponents.DotNetBar.ButtonItem(); this.btnHelpAbout = new DevComponents.DotNetBar.ButtonItem(); this.office2007StartButton1 = new DevComponents.DotNetBar.Office2007StartButton(); this.itemContainer1 = new DevComponents.DotNetBar.ItemContainer(); @@ -206,11 +208,13 @@ namespace VEPROMS this.btnHelp.KeyTips = "?"; this.btnHelp.Name = "btnHelp"; this.btnHelp.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.btnHelpManual, - this.btnShortCuts, - this.btnHelpVWeb, - this.btnSendErrorLog, - this.btnHelpAbout}); + this.btnHelpManual, + this.btnShortCuts, + this.btnHelpVWeb, + this.btnSendErrorLog, + this.btnShowErrFld, + this.btnShowPrtFld, + this.btnHelpAbout}); ; this.btnHelp.Text = "Help"; // // btnHelpManual @@ -244,6 +248,24 @@ namespace VEPROMS this.btnSendErrorLog.Text = "Send Error Log"; this.btnSendErrorLog.Click += new System.EventHandler(this.btnSendErrorLog_Click); // + // btnShowErrFld + // + //this.btnShowErrFld.Image = global::VEPROMS.Properties.Resources.GoToParentFolderHS; + this.btnShowErrFld.Image = ((System.Drawing.Image)(resources.GetObject("btnShowErrFld.Image"))); + this.btnShowErrFld.Name = "btnShowErrFld"; + this.btnShowErrFld.Text = "Open Log Folder"; + this.btnShowErrFld.Click += new System.EventHandler(this.btnShowErrFld_Click); + // + // btnShowPrtFld + // + //this.btnShowPrtFld.Image = global::VEPROMS.Properties.Resources.GoToParentFolderHS; + this.btnShowPrtFld.Image = ((System.Drawing.Image)(resources.GetObject("btnShowPrtFld.Image"))); + this.btnShowPrtFld.Name = "btnShowPrtFld"; + this.btnShowPrtFld.Text = "Open Default Print Folder"; + this.btnShowPrtFld.Click += new System.EventHandler(this.btnShowPrtFld_Click); + // + // + // // btnHelpAbout // this.btnHelpAbout.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; @@ -1733,6 +1755,8 @@ namespace VEPROMS private DevComponents.DotNetBar.TabItem infotabFoldoutMaint; private Volian.Controls.Library.DisplayFoldoutMaint displayFoldoutMaint; private DevComponents.DotNetBar.ButtonItem btnSendErrorLog; + private DevComponents.DotNetBar.ButtonItem btnShowErrFld; + private DevComponents.DotNetBar.ButtonItem btnShowPrtFld; private DevComponents.DotNetBar.TabControlPanel tabControlPanel3; private DevComponents.DotNetBar.TabItem toosTabReports; private Volian.Controls.Library.DisplayReports displayReports; diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 0ff406ef..8ef3ef42 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -21,6 +21,7 @@ using DescriptiveEnum; using Volian.Base.Library; using Volian.Print.Library; using JR.Utils.GUI.Forms; +using System.Diagnostics; [assembly: log4net.Config.XmlConfigurator(Watch = true)] @@ -4932,6 +4933,26 @@ namespace VEPROMS } } + private void btnShowErrFld_Click(object sender, EventArgs e) + { + string path = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); + path = path + @"\Documents\VEPROMS"; + if (Directory.Exists(path)) + { + Process.Start("explorer.exe", path); + } + } + + private void btnShowPrtFld_Click(object sender, EventArgs e) + { + string path = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); + path = path + @"\AppData\Local\Temp\VEPROMS"; + if (Directory.Exists(path)) + { + Process.Start("explorer.exe", path); + } + } + private void btnHelpManual_Click(object sender, EventArgs e) { // C2019-024 Display the PROMS User Manual when user click on the option in the Help drop down menu diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.resx b/PROMS/VEPROMS User Interface/frmVEPROMS.resx index d5038add..c950d8f5 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.resx +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.resx @@ -170,6 +170,18 @@ rkJggg== + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAANUlEQVR4nGNgoBR8ahL8jw1/bBTooMiAT8Qa8gmPAUQZ8n+Z3n9KMMOoAf9Hw0CPCmEw4AAA71z+QhwwNhoAAAAASUVORK5CYII= + + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAANUlEQVR4nGNgoBR8ahL8jw1/bBTooMiAT8Qa8gmPAUQZ8n+Z3n9KMMOoAf9Hw0CPCmEw4AAA71z+QhwwNhoAAAAASUVORK5CYII= + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 From 54441eee06982fb926a1ae203a055167bef7a40a Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Fri, 2 Feb 2024 16:02:38 -0500 Subject: [PATCH 09/23] C2024-002-Print-Sections --- .../DlgPrintProcedure.cs | 16 +++++------ .../frmPDFStatusForm.cs | 14 +++++----- PROMS/VEPROMS User Interface/frmVEPROMS.cs | 4 +-- PROMS/Volian.Controls.Library/vlnTreeView.cs | 15 +++++----- PROMS/Volian.Print.Library/PromsPrinter.cs | 28 +++++++++---------- .../Volian.Print.Library/VlnSvgPageHelper.cs | 14 ++++++++-- 6 files changed, 51 insertions(+), 40 deletions(-) diff --git a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs index af4cc645..c61857ad 100644 --- a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs +++ b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs @@ -59,11 +59,11 @@ namespace VEPROMS get { return _Automatic; } set { _Automatic = value; } } - private int _pntSectID = -1; - public int PntSectID + private int _prtSectID = -1; + public int PrtSectID { - get { return _pntSectID; } - set { _pntSectID = value; } + get { return _prtSectID; } + set { _prtSectID = value; } } @@ -775,7 +775,7 @@ namespace VEPROMS // B2021-102 put in the using for better memory management using (frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, waterMarkText, cbxDebug.Checked, cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, myPDFPath, cbd, txbPDFName.Text, new Point(Left, Bottom - 50), - swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd, watermarkColor, PntSectID))//;//C2018-009 print PROMS version + swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd, watermarkColor, PrtSectID))//;//C2018-009 print PROMS version { frmStatus.CloseWhenDone = true; Application.DoEvents(); @@ -856,9 +856,9 @@ namespace VEPROMS // B2016-249 Output Procedure to folder associated with Parent Child using (frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, waterMarkText, cbxDebug.Checked, cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, - new Point(Left, Bottom - 50), swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd, watermarkColor, PntSectID)) // ;//C2018-009 print PROMS version + new Point(Left, Bottom - 50), swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd, watermarkColor, PrtSectID)) // ;//C2018-009 print PROMS version { - frmStatus.PntSectID = PntSectID; + frmStatus.PrtSectID = PrtSectID; frmStatus.CloseWhenDone = true; Application.DoEvents(); frmStatus.CancelStop = true; @@ -1009,7 +1009,7 @@ namespace VEPROMS // B2018-124 use text of watermark form drop down list instead of enum value using (frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, waterMarkText, cbxDebug.Checked, cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, new Point(Left, Bottom - 50), - swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, false, tbBlankPage.Text, _MergedPfd, watermarkColor, PntSectID))//; //C2018-009 print PROMS version + swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, false, tbBlankPage.Text, _MergedPfd, watermarkColor, PrtSectID))//; //C2018-009 print PROMS version { frmStatus.MakePlaceKeeper = swtbtnGeneratePlacekeeper.Value; frmStatus.MakeContinuousActionSummary = cbxGenerateConActSum.Checked; diff --git a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs index eedeed3c..91c20e91 100644 --- a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs +++ b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs @@ -91,13 +91,13 @@ namespace VEPROMS get { return _DidAll; } set { _DidAll = value; } } - private int _pntSectID = -1; - public int PntSectID + private int _prtSectID = -1; + public int PrtSectID { - get { return _pntSectID; } - set { _pntSectID = value; } + get { return _prtSectID; } + set { _prtSectID = value; } } - public frmPDFStatusForm(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, bool openPDF, bool overWrite, string pdfPath, ChangeBarDefinition cbd, string pdfFile, Point newLocation, bool insertBlankPages, bool allOrAuto, string prefix, bool saveLinks, int removeTrailingHardReturnsAndManualPageBreaks, bool showPROMSVer, bool didAll, string blankPageText, MergedPdf mergedPdf, string watermarkColor, int PntSectID = -1) + public frmPDFStatusForm(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, bool openPDF, bool overWrite, string pdfPath, ChangeBarDefinition cbd, string pdfFile, Point newLocation, bool insertBlankPages, bool allOrAuto, string prefix, bool saveLinks, int removeTrailingHardReturnsAndManualPageBreaks, bool showPROMSVer, bool didAll, string blankPageText, MergedPdf mergedPdf, string watermarkColor, int PrtSectID = -1) { // B2021-088 moved this if/else from CreatePDF() so that the Approval logic will have access to this logic ProcedureInfo MyProcedure = myItem as ProcedureInfo; @@ -122,7 +122,7 @@ namespace VEPROMS Prefix = prefix; OpenPDF = openPDF; DidAll = didAll; - _pntSectID = PntSectID; + _prtSectID = PrtSectID; InitializeComponent(); @@ -283,7 +283,7 @@ namespace VEPROMS cachePartInfo = PartInfo.CacheList; } - _PdfFile = MyPromsPrinter.Print(PDFPath, MakePlaceKeeper, MakeContinuousActionSummary, MakeTimeCriticalActionSummary, PntSectID); + _PdfFile = MyPromsPrinter.Print(PDFPath, MakePlaceKeeper, MakeContinuousActionSummary, MakeTimeCriticalActionSummary, PrtSectID); ProfileTimer.Pop(profileDepth); diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 5ff941ce..0279dd80 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -1196,7 +1196,7 @@ namespace VEPROMS { //args.Node.Parent. SectionInfo si2 = (args.Node as VETreeNode).VEObject as SectionInfo; - int _pntSectID = si2.ItemID; + int _prtSectID = si2.ItemID; if (si2 == null) return; @@ -1206,7 +1206,7 @@ namespace VEPROMS using (DlgPrintProcedure prnDlg = new DlgPrintProcedure(si2.MyProcedure)) { - prnDlg.PntSectID = _pntSectID; + prnDlg.PrtSectID = _prtSectID; prnDlg.SelectedSlave = args.UnitIndex; prnDlg.MySessionInfo = MySessionInfo; prnDlg.SetupForProcedure(); // Setup filename diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index c288b49b..382e1767 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -950,6 +950,7 @@ namespace Volian.Controls.Library SectionConfig sc = si.MyConfig as SectionConfig; if (!si.IsEnhancedSection && (si.Sections == null || si.Sections.Count == 0 || (meta && sc != null && si.Sections != null && si.Sections.Count > 0 && sc.SubSection_Edit == "Y"))) cm.MenuItems.Add("New Step", new EventHandler(mi_Click)); + cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); } } } @@ -967,13 +968,13 @@ namespace Volian.Controls.Library } #endregion //_MyLog.WarnFormat("Context Menu 2 - {0}", GC.GetTotalMemory(true)); - #region Print_Section - if (!tn.IsExpanded && tn.VEObject as SectionInfo != null) - { - SectionInfo si = tn.VEObject as SectionInfo; - if (si.IsStepSection) cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); - } - #endregion + //#region Print_Section + //if (!tn.IsExpanded && tn.VEObject as SectionInfo != null) + //{ + // SectionInfo si = tn.VEObject as SectionInfo; + // if (si.IsStepSection) cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + //} + //#endregion #region Menu_Open if (!tn.IsExpanded && tn.VEObject as SectionInfo != null) { diff --git a/PROMS/Volian.Print.Library/PromsPrinter.cs b/PROMS/Volian.Print.Library/PromsPrinter.cs index cfff64b7..61b32bc1 100644 --- a/PROMS/Volian.Print.Library/PromsPrinter.cs +++ b/PROMS/Volian.Print.Library/PromsPrinter.cs @@ -179,11 +179,11 @@ namespace Volian.Print.Library get { return _PDFFile; } set { _PDFFile = value; } } - private int _pntSectID = -1; - public int PntSectID + private int _prtSectID = -1; + public int PrtSectID { - get { return _pntSectID; } - set { _pntSectID = value; } + get { return _prtSectID; } + set { _prtSectID = value; } } private bool _DebugOutput; public bool DebugOutput @@ -323,7 +323,7 @@ namespace Volian.Print.Library set { _MergedPdf = value; } } public PromsPrinter(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, string backgroundFolder, bool openPDF, bool overWrite, - ChangeBarDefinition cbd, String pdfFile, bool insertBlankPages, bool batchPrint, string prefix, bool saveLinks, int removeTrailngHardReturnsAndManualPageBreaks, string blankPageText, bool didAll, MergedPdf mergedPdf, string watermarkColor, int PntSectID = -1) + ChangeBarDefinition cbd, String pdfFile, bool insertBlankPages, bool batchPrint, string prefix, bool saveLinks, int removeTrailngHardReturnsAndManualPageBreaks, string blankPageText, bool didAll, MergedPdf mergedPdf, string watermarkColor, int PrtSectID = -1) { Prefix = prefix; // RHM20150506 Multiline ItemID TextBox _MyItem = myItem; @@ -348,7 +348,7 @@ namespace Volian.Print.Library _DidAll = didAll; _MergeNotIncluded = false; _MergedPdf = mergedPdf; - _pntSectID = PntSectID; + _prtSectID = PrtSectID; //_MyReaderHelper.LoadTree(myItem); } // Pass 1 PDF Name @@ -368,11 +368,11 @@ namespace Volian.Print.Library // B2019-152: MergedLandscapePages is a dictionary whose key is the pdf file name & values are all of the page numbers // in that pdf that should have landscaped page numbers. These are added when the page is finished (onEndPage) public static Dictionary> MergedLandscapePages = null; - public string Print(string pdfFolder, bool makePlacekeeper, bool makeContinuousActionSummary, bool makeTimeCriticalActionSummary, int PntSectID = -1) + public string Print(string pdfFolder, bool makePlacekeeper, bool makeContinuousActionSummary, bool makeTimeCriticalActionSummary, int PrtSectID = -1) { if (_MyItem is ProcedureInfo) { - _pntSectID = PntSectID; + _prtSectID = PrtSectID; ProcedureConfig pcfg = (ProcedureConfig)(_MyItem as ProcedureInfo).MyConfig; if (DidAll && pcfg.Print_NotInMergeAll) // will be merging a pdf, so don't print this procedure if user set that on procedure propertures { @@ -807,7 +807,7 @@ namespace Volian.Print.Library int cnt = 0; foreach (SectionInfo mySection in myProcedure.Sections) { - if (PntSectID == -1 || (PntSectID > -1 && mySection.ItemID == PntSectID)) + if (PrtSectID == -1 || (PrtSectID > -1 && mySection.ItemID == PrtSectID)) { if (!mySection.MyDocStyle.IsStepSection && !mySection.IsAutoTOCSection) { @@ -953,7 +953,7 @@ namespace Volian.Print.Library } foreach (SectionInfo mySection in myProcedure.Sections) { - if(PntSectID == -1 || (PntSectID > -1 && mySection.ItemID == PntSectID) ) + if(PrtSectID == -1 || (PrtSectID > -1 && mySection.ItemID == PrtSectID) ) { // B2020-115 Calculate maximum available space on a page for figures vlnParagraph.hMax = ((float)mySection.MyDocStyle.Layout.PageLength); @@ -981,7 +981,7 @@ namespace Volian.Print.Library hlsItemId = mySection.Steps[0].ItemID; hlsText = mySection.Steps[0].DisplayText; // save the High level step text for use in the page list } - cb.PdfWriter.PageEvent = _MyHelper = new VlnSvgPageHelper(mySection, this, hlsText, hlsItemId); + cb.PdfWriter.PageEvent = _MyHelper = new VlnSvgPageHelper(mySection, this, hlsText, hlsItemId, PrtSectID); _MyHelper.AllowAllWatermarks = AllowAllWatermarks; _MyHelper.MyPdfWriter = cb.PdfWriter; _MyHelper.CreatingFoldoutPage = doingFoldout; @@ -1584,7 +1584,7 @@ namespace Volian.Print.Library bool inGroup = false; foreach (SectionInfo mySection in ii.Sections) { - if (PntSectID == -1 || (PntSectID > -1 && mySection.ItemID == PntSectID)) + if (PrtSectID == -1 || (PrtSectID > -1 && mySection.ItemID == PrtSectID)) { sectCnt++; SectionConfig sc = mySection.MyConfig as SectionConfig; @@ -2355,7 +2355,7 @@ namespace Volian.Print.Library iTextSharp.text.Rectangle pageSize = PDFPageSize.UsePaperSize(MyItem.ActiveFormat.PlantFormat.FormatData.PDFPageSize.PaperSize); // C2020-002 paper size is now set in the format files PdfContentByte cb = OpenDoc(ref SupInfoPdfName, pageSize); if (cb == null) return; - VlnSvgPageHelper myPageHelper = new VlnSvgPageHelper(vlnParagraph.MyItemInfo as SectionInfo, this, null, 0); + VlnSvgPageHelper myPageHelper = new VlnSvgPageHelper(vlnParagraph.MyItemInfo as SectionInfo, this, null, 0, _prtSectID); cb.PdfWriter.PageEvent = myPageHelper; myPageHelper.AllowAllWatermarks = AllowAllWatermarks; myPageHelper.MyPdfWriter = cb.PdfWriter; @@ -2943,7 +2943,7 @@ namespace Volian.Print.Library if (ii.Sections == null) return; // B2021-067 crash on null reference foreach (SectionInfo si in ii.Sections) { - if (MyPromsPrinter.PntSectID == -1 || (MyPromsPrinter.PntSectID > -1 && si.ItemID == MyPromsPrinter.PntSectID)) + if (MyPromsPrinter.PrtSectID == -1 || (MyPromsPrinter.PrtSectID > -1 && si.ItemID == MyPromsPrinter.PrtSectID)) { if (si.IsStepSection) { diff --git a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs index c5c2e949..2177bfe1 100644 --- a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs +++ b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs @@ -85,6 +85,12 @@ namespace Volian.Print.Library get { return _TopMessage; } set { _TopMessage = value; } } + private int _prtSectID = -1; + public int PrtSectID + { + get { return _prtSectID; } + set { _prtSectID = value; } + } private List _TopMessageRs=new List(); // Added if there are 2 messages, in AER AND RNO (for BGE) public List TopMessageRs { @@ -867,12 +873,15 @@ i = 0; set { _MySection = value; - MySectionTitle = ((_MySection.DisplayNumber ?? string.Empty)==string.Empty ? string.Empty : _MySection.DisplayNumber + " - ") + _MySection.DisplayText; + MySectionTitle = ((_MySection.DisplayNumber ?? string.Empty) == string.Empty ? string.Empty : _MySection.DisplayNumber + " - ") + _MySection.DisplayText; bool forceLoadSvg = false; if (value.SectionConfig.Section_Pagination == SectionConfig.SectionPagination.Separate && value.MyDocStyle.ResetFirstPageOnSection) DidFirstPageDocStyle = false; if (DidFirstPageDocStyle) forceLoadSvg = SetDocStyleAndValues(); // this method also gets the SVG (the 'else' part of this) + if (_prtSectID > -1) { + forceLoadSvg = true; + } Volian.Svg.Library.Svg sectSvg = BuildSvg(_MySection, forceLoadSvg); if (sectSvg != null) MySvg = sectSvg; _YTopMargin = null; @@ -1031,9 +1040,10 @@ i = 0; set { _MyPromsPrinter = value; } } private int _MyRomanPage = 1; - public VlnSvgPageHelper(VEPROMS.CSLA.Library.SectionInfo mySection, PromsPrinter myPromsPrinter, string hlsText, int hlsItemId) + public VlnSvgPageHelper(VEPROMS.CSLA.Library.SectionInfo mySection, PromsPrinter myPromsPrinter, string hlsText, int hlsItemId, int PrtSectID) : base() { + _prtSectID = PrtSectID; HLSText = hlsText; HasHLSTextId = hlsItemId; MyPromsPrinter = myPromsPrinter; From dd1a8dea3331ab2091d7184062bcb0df53da255e Mon Sep 17 00:00:00 2001 From: John Jenko Date: Mon, 5 Feb 2024 08:59:23 -0500 Subject: [PATCH 10/23] F2024-010 - Added a Landscaped Word section type to all of the Vogtle Units 3 & 4 formats --- PROMS/Formats/fmtall/VEGP1all.xml | Bin 176660 -> 182208 bytes PROMS/Formats/fmtall/VEGP2all.xml | Bin 212606 -> 219214 bytes PROMS/Formats/fmtall/VEGPAlrall.xml | Bin 207950 -> 208380 bytes PROMS/Formats/fmtall/VEGPBckall.xml | Bin 88292 -> 94898 bytes PROMS/Formats/genmacall/VEGP1.svg | Bin 9628 -> 10888 bytes PROMS/Formats/genmacall/VEGP2.svg | Bin 10586 -> 11846 bytes PROMS/Formats/genmacall/VEGPAlr.svg | Bin 8378 -> 9056 bytes PROMS/Formats/genmacall/VEGPBck.svg | Bin 9628 -> 10888 bytes .../Properties/AssemblyInfo.cs | 12 ++++++++++-- 9 files changed, 10 insertions(+), 2 deletions(-) diff --git a/PROMS/Formats/fmtall/VEGP1all.xml b/PROMS/Formats/fmtall/VEGP1all.xml index 79e4128c958ec7d5d64e06207452396e2e1181d2..ede0fb895ab01af4dc14a5a53d623633937cc6e3 100644 GIT binary patch delta 761 zcmaKqOK4MJ6ok(|Nm@}CZLjU354}nap@ed8nn$xxBNagieON6jQW76jON_y$whDp) zEnWCPYcm^3gQyDyH4wPC(~TgAD7bN_;L?S58&LmbXA-(Qd<--HIsZKPvH8v2E!S_T zGP27Yt*8MbE=ftt8JUyQddkRIF?lxAuXIKJt5?dntK7-GUb;HNRAbO2PQG~g5Wpmn(lPr#4 zHt$C_t$B2~f?`)Q7MQq%6IBmyejXOBB;1Bo7xllkXz9GRoAB0*RDA^ZUO>=@O0>?T zPM6}(tJub+Mf7&sqL}&AQ1#x*7guo57-~33vw+L_oZdXsij-?o4$&S% z&J~t0+mGTkO~9<-d*e;{nM9^9t7Q_J zJi(J~yVVk=KaA7gZDU$8oo_W$%k+PnnL4H&X5yG`#Kt7F{mx>h2th{U>HYheytg-O mWvXC>aFnMnSi)4becEoOEOwwp50^8EP6t}VF@4T)CKUiqpEADy diff --git a/PROMS/Formats/fmtall/VEGP2all.xml b/PROMS/Formats/fmtall/VEGP2all.xml index 7aec1f8dd58d63ae80866701032da9692be032be..227aa23305d24202ae9a5ded311b80867bb237c6 100644 GIT binary patch delta 591 zcmaKpO-NL66vfZIw~5FeIF2()@n)v5>|^!Dah?;D3qL>*({!Vy!;ltHlwn{SOCfMA zFMxEx`?142!vrEtiP|-%uu`gJLms#Ip^rtneC!8|C%=VL|K;) z=~B2Kc|5@+W^m6=)0onOJ$AKzmM@Eklv#hrJ9IIFIb1*zxA7FSxMAlubOcJ5RUQXQ zN`Ka|Ymy~urf3GKD%*o^h9)^mky_6;`7abEo&LZLl7?sUi`+_@+~mdp=_M!ry5y@p zT6%j#=|~pYsy}@Fw8G`c2yS5z!{|X5M$l(zK$pIf8}(qfsJ>&utL%^#zjJS-t!C|i zKWQGV@imfR^y%+WUZ9LFjPd7yb9XBF(^`;yK~Py_jWqx?9%>qWuKl!gF<1g5jtT6dSD#76&izH zaC2$CNS6a)y1_gjOhFE~p#?@^0;&|QfPl%=DrVSZ%K5@YnezOAY=}O_8Pd=%Bdg>> z%?IVb)PC;VpnG0)XpQ5RK~ZT7~=OQs@E!FThrzAGg*n<@ifbKS>%w_^VEbtaC;#N z4;G_Hb}UgYVFPa(RLosrDp_B|IC*W5t?l1lm52 zrmva6#KWq&EmsKiA}f<($t4RfLa-lD zlyfn3RsMj5U6oW4BkH0c!7f8lg1m{1KJ+5I>fMvjNkax+=9zcqnVEYON6XvMi(9ycL0nZ{27R2RYMD(@fWJ3-Ce{n@=};8I@WY3T7{CxtC_jvPCz4Q+ zv=a%*k1{ew7k_f*qlf46ev0y^yiPG5%hj=O{EHq%XiH6upH7+F^rnZC`J1DY`((eL zyd@UQBG-^S^HT#~e%maCgA}Yb5mZ(j<8RY{Q*+;1x#4-O!=n1SxTWkkS$Z7tE%olC zw4Oo-lITQ>>X1U4Lg#tqwLzx5Dy8Bkn~ah;kPG z*mhP*nqKsy5AC>tLHW=^I&VDj%CbQt+*In3g)`*SOjwA>d@D6-mXfJn%5AFAVu+}y YX_G;gblB7{OJ^w{6-la)=}UC%H>ds4AOHXW delta 33 pcmdn=l=aC*)`l&NznmC3Cl|gE-<}k~I6-u}P%NX^^tK{K9RT&~45SLkdGNLo$$6z>vzI03;I`(!s1GhJ1!1plm9TRDh~f zV8{US6Ct9L_lwIiJ299|Hk1~g{D4bf@;xR!W^)F^$qU(KnN5N8LH5$g5BS(7C$I=j z-ovcLY{pW|Eg TVA08J5LJ8G`ZtG(x(NUP*e5bB delta 16 XcmeAOo#Va1OLVdWJI`h(DK`NCGdBev diff --git a/PROMS/Formats/genmacall/VEGP2.svg b/PROMS/Formats/genmacall/VEGP2.svg index 4f504cc377249b70d75ffe14d4f09e5a8a1a5d32..ea6cf7c3b97bbb516e6c357620218a427c7b568f 100644 GIT binary patch delta 216 zcmcZ=bS!2Ao2a)UgDwy%F!(SeGUPF&FcdQ+16c(OsX(y;AS)frN@B=oC<4l+0!am^ zN(F`tAU_c*3N&T%Ln%pSCkC_0g&N9}uQBN{n==?rp2;rDYzn0N#Y!g^ut@;L1tuS1 zmSQ$zu$cUixs%xhs9up(cya@a2$(&cr5!4!4pk#MIf1nVXomUZ>#XWvnvty?On0*( O)SP0g+AJjMAp!uNI5QIf delta 16 XcmX>Wb1P^Ao9JW*4xY{bBt1j`J5L5D diff --git a/PROMS/Formats/genmacall/VEGPAlr.svg b/PROMS/Formats/genmacall/VEGPAlr.svg index 921e5718140c98aedae08b8788583e6e87275217..d887ab27d59f50b8e2137984f025b5703967f423 100644 GIT binary patch delta 190 zcmdnx_`q$$Ez!vzxH#;67!n!s7*ZID8Ipml0)|uu1t6KokPc=gG2}B80cBHxqyki> z0z(Fnp9m41Y|AarY{sB8`60XV4gkep BE0q8M delta 208 zcmaFhw##wDEz!vr*!U(ph_QJqFxW6CGUx)K0z(o*K0^hA8IYC9Pz)sVfcz35oy<_m zPy~djK#>xL9EM7uSSe6NDnklbryT#%0?o>2NCT3^3>iSt6rkOC4Cx>fCoA#_PY&ah0-DFi cY|dahc{TTJW}r(a?-i8=x}RtBC8<6R0K_URYXATM diff --git a/PROMS/Formats/genmacall/VEGPBck.svg b/PROMS/Formats/genmacall/VEGPBck.svg index 15ffe7db3162883d47f1b66e07ffad8665b371d4..91f088b6972d48fbd71eb8ca12b0a0961852e37b 100644 GIT binary patch delta 194 zcmbQ^-4VLMOLTGq7l*wMLn1>SLkdGNLo$$6z>vzI03;I`(!s1GhJ1!1plm9TRDh~f zV8{US6Ct9L_lwIiJ299|Hk1~g{D4bf@;xR!W^)F^$qU(KnN5MTKJ#{FGX{&vFPS@; zO@Qi3S=7Pwe3o`Ft;wnmmJep_1gbZme4kaF6G$_dFz5kQe`Ib1i%w>PsM^cczd20Q GO#lEEIW5ir delta 16 XcmeAOo#Va1OLVdWJI`h(DK`NCGdBev diff --git a/PROMS/VEPROMS User Interface/Properties/AssemblyInfo.cs b/PROMS/VEPROMS User Interface/Properties/AssemblyInfo.cs index f715524d..d0745478 100644 --- a/PROMS/VEPROMS User Interface/Properties/AssemblyInfo.cs +++ b/PROMS/VEPROMS User Interface/Properties/AssemblyInfo.cs @@ -44,8 +44,16 @@ using System.Runtime.InteropServices; // Revision DHH (day - no leading zero, two digit hour - military time // // ********* REMEMBER TO CHECK THE AssemblyConfiguration SETTING (ABOVE) ******** -[assembly: AssemblyVersion("2.1.2311.3014")] -[assembly: AssemblyFileVersion("2.1.2311.3014")] +[assembly: AssemblyVersion("2.1.2402.508")] +[assembly: AssemblyFileVersion("2.1.2402.508")] + + + + + + + + From de8249b584b92a6d133a1cc827d81aae60a658bf Mon Sep 17 00:00:00 2001 From: John Jenko Date: Mon, 5 Feb 2024 09:39:11 -0500 Subject: [PATCH 11/23] F2024-011 - Adjusted the Cover Page title length in all of the Vogtle Units 3 & 4 formats --- PROMS/Formats/fmtall/VEGP1all.xml | Bin 182208 -> 182208 bytes PROMS/Formats/fmtall/VEGP2all.xml | Bin 219214 -> 219214 bytes PROMS/Formats/fmtall/VEGPAlrall.xml | Bin 208380 -> 208380 bytes PROMS/Formats/fmtall/VEGPBckall.xml | Bin 94898 -> 94898 bytes .../Properties/AssemblyInfo.cs | 5 +++-- 5 files changed, 3 insertions(+), 2 deletions(-) diff --git a/PROMS/Formats/fmtall/VEGP1all.xml b/PROMS/Formats/fmtall/VEGP1all.xml index ede0fb895ab01af4dc14a5a53d623633937cc6e3..8a5958a0d267166638ab095523f0ba83108e306e 100644 GIT binary patch delta 27 jcmX@m&wZeudjki{^nle&EX_PD?K~`u+j&@+wj2fkf)WUH delta 26 hcmX@m&wZeudjkgxvpIuNGdD{+Hw)u-ZWgAkhXHBy2Sxw@ diff --git a/PROMS/Formats/fmtall/VEGP2all.xml b/PROMS/Formats/fmtall/VEGP2all.xml index 227aa23305d24202ae9a5ded311b80867bb237c6..e62fa61721ea8babb6b3718ddd9e42bc5db6e93f 100644 GIT binary patch delta 30 kcmX@Nf%n`7-VI_b%w`Oh&5|tbk}Qls%(PvSh1oO&0FfLAo&W#< delta 30 kcmX@Nf%n`7-VI_b%;pS6&5|tbk}Qls%(PvSh1oO&0Fbf=m;e9( diff --git a/PROMS/Formats/fmtall/VEGPAlrall.xml b/PROMS/Formats/fmtall/VEGPAlrall.xml index 70827119a2beec03f9ab040678628e8b58e36907..74e29ab11bab5ee78e07b72e1239924cc57a3a80 100644 GIT binary patch delta 30 kcmex!o9EAMo()&Hn9Ue0o3C@VU*}>3Vy5laxtLXz0oHp9;Q#;t delta 30 kcmex!o9EAMo()&Hn9UiCny+)UU*}>3Vy5laxtLXz0oD-<+W-In diff --git a/PROMS/Formats/fmtall/VEGPBckall.xml b/PROMS/Formats/fmtall/VEGPBckall.xml index 4371fd14788d69d83e935920c247403b38e9dbbc..e7e36a2a2e05aa71165d8d9939a1ee3cbab585d4 100644 GIT binary patch delta 22 ecmdn=ly%cn)(vtj%w`Oh&5A7B6 Date: Mon, 5 Feb 2024 14:42:30 -0500 Subject: [PATCH 12/23] C2024-002-Print-Sections --- PROMS/Volian.Controls.Library/vlnTreeView.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 382e1767..907c3898 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -1894,9 +1894,6 @@ namespace Volian.Controls.Library { case "Print Section": VETreeNode tn2 = SelectedNode as VETreeNode; - //ProcedureInfo pi2 = tn2.VEObject as ProcedureInfo; - //SectionInfo sectInfo = tn2.VEObject as SectionInfo; - //OnPrintSection(this, new vlnTreeEventArgs(sectInfo as SectionInfo, null, 0)); OnPrintSection(this, new vlnTreeEventArgs(tn2 as VETreeNode, null, 0)); break; case "Open": From 06013afc8bf0d21cb75e781ecbd22642c72dd05e Mon Sep 17 00:00:00 2001 From: John Jenko Date: Mon, 5 Feb 2024 15:43:54 -0500 Subject: [PATCH 13/23] F2024-008 - Updated transition definitions to title case section numbers, section titles, and procedure titles. Also surround section titles with parenthesis. --- PROMS/Formats/fmtall/BASEall.xml | Bin 101204 -> 101344 bytes PROMS/Formats/fmtall/VEGP1all.xml | Bin 182208 -> 183426 bytes PROMS/Formats/fmtall/VEGP2all.xml | Bin 219214 -> 220392 bytes PROMS/Formats/fmtall/VEGPAlrall.xml | Bin 208380 -> 209558 bytes PROMS/Formats/fmtall/VEGPBckStpsall.xml | Bin 56562 -> 55634 bytes PROMS/Formats/fmtall/VEGPBckall.xml | Bin 94898 -> 96116 bytes .../Extension/TransitionExt.cs | 6 ++++++ .../Format/PlantFormat.cs | 19 ++++++++++++++++++ 8 files changed, 25 insertions(+) diff --git a/PROMS/Formats/fmtall/BASEall.xml b/PROMS/Formats/fmtall/BASEall.xml index 544050467953d5b7d1c021e96bb46d9012093cb6..2d2705fe4b3de4fd01ccfe1e693fea03e713960e 100644 GIT binary patch delta 85 zcmV-b0IL7gmImOL27t5yazmFcLIDPsNJ9Y_liXYym(W516qm3=0R*>rLjnE)m%xMp r1`~1sWdLpfa{xgAasY1tbpUPvWRw46DU%@E43}s~0Tj2EMFGA=@7o-O delta 30 mcmaDbo$bmrwuUW?Mb4A#*tQ>XX8gxEIVXi@JD(flC078)$qW1d diff --git a/PROMS/Formats/fmtall/VEGP1all.xml b/PROMS/Formats/fmtall/VEGP1all.xml index 8a5958a0d267166638ab095523f0ba83108e306e..8eb46134d960b85355e7c9a3f3afc7d334655a61 100644 GIT binary patch delta 645 zcmX@m&)qbWyI~7s+SBO@M;JM#XFX-yH#x$BZ@SqtMx*IzXBY(p6B!B^iWx!}iWm|Z z@_?+&$^MqIvd%zW0fQlsU&7$bkOAZsA=FG}R1;RmBhL`bkjjt@)S1bUKmFlTMq&KM zO<%ZxNq+J%3jyIGpgxcr9D%mwGn4|^DU*L2NKU?IDlmQBbw;7-4bK>rKt2(e{@^*I z+GIX&w&~ZNF%c02D0&8d?BkRWrB&9aIGN5?p+`>~ltW z3bapr!KgUB;yGi&WIJ}D>5rZ>s!Vop<(Pis8KcN_r5B7Q(I7WeGX#J=lni8t0Nqf+ zkOOoR#C_Eal(~Jn%L_&!n%V;NqUrRm=Zt=EFK)l^jFE#8#N7_`u@U3cb4&u$o1QT$ TKoXhLOGX(mYkSg5#<+U`9R;FI delta 120 zcmZpg$$g-oyI~7s+SADjjx5vjo-*#6eqs|7-*l^Ij7E%Ulh@mdPk->7QDpk7w~Tz# z8s6QE7Y4Yeo*n>3PSY{K*auY}*gK0g6rjXT&xA(Q`&2unw@HAG#S?rn9_b OlmPLztGr{3y9WUFFEL^O diff --git a/PROMS/Formats/fmtall/VEGP2all.xml b/PROMS/Formats/fmtall/VEGP2all.xml index e62fa61721ea8babb6b3718ddd9e42bc5db6e93f..74585b7ff3e6e62fc24a351ba729a4dce7de990d 100644 GIT binary patch delta 584 zcmX@Nf%nBu-i9rVpKec=uw>?&c8Aeu@-aOD)uZroj#hK-&A6v*M##_wb z2(%@ip%iFO%4BzK&FMX78HJ`d-C-1&E_R<$Z2EyUj6BoZ?l3A%K48W%{mdOkj_ENV z;=mn7HA{O2J%(VQo05U9R$%a8NCBEv%b){f2LnY?fj&}TsAh0u$OMXmd*9mee|?l3K@1^`wcj^_XX delta 49 zcmV-10M7sDxed;+4S=)(^4pi_Ap;JU+yOF|;+p{;mn`1_6qm5$0Tz?MI1Gm%;Q_ZG H;R48eKL-`s diff --git a/PROMS/Formats/fmtall/VEGPAlrall.xml b/PROMS/Formats/fmtall/VEGPAlrall.xml index 74e29ab11bab5ee78e07b72e1239924cc57a3a80..e0144098ba1ea0600474526b94ea651d3cfc56af 100644 GIT binary patch delta 601 zcmex!n`hcno`x-q2VPGum^F!qN~SLxy68 z5(a0644{G{h7cf5WXPMoQG;1n7LNjk;>nEM@&r^U>PXw#GAMx!EoDdrvJ@Bsz}BQP zX91X`BQPzq$HFa!hTlYtJ&1d8MVbz}nBInxJOk}AP%c$pvckc(|^5X hj5&CvL*u{m;CMl5|@7S0T!3Ao&gMp?(hM( I?(hPrL0cggnE(I) diff --git a/PROMS/Formats/fmtall/VEGPBckStpsall.xml b/PROMS/Formats/fmtall/VEGPBckStpsall.xml index 6e484f1f96a400473c157100b6b58434d5674291..0df3fb9cfaef6ba3920b528afbbf21855dc865ae 100644 GIT binary patch delta 600 zcma)2Pbfoi9RF&X#ad=>Z<{^5Bo0h592ACxXsyQe)z~CuvwtWNxk~DD-Fs7>v70!# zI}1k_cL&8$4!(P`9Q^Co@9+2X{rvg8T$=9AO=k-#_8c}e>eUc){r*n+9L*%tG$m+_ zVw9p$icp$QVao8jLX#Ay8GesY9LZUSJxWWIWklu^frp&4YKF1vltEH*z^qF4F}}?k z{TZ5I_OMauRy)12p|C<-2FEBZGIQ!f0na&SLrMSJD*H&|R%-eKF(r5r@(GR^TIu8_AEtFL=p6;!dAz*S@67T)u_YY~f_b5=^>#7>MVFzR z3b-mra7Suuf}D7n<~T(P>XE;UE&1vgw4hHDAQpNU-{OjK!YpTuvB$4{zWgq>#zhp0 Ujr>D49B{7dqF6d#JQgkfcj1$z(f|Me delta 986 zcmbu8OG_J36vxky`e=|C5~+kLnNg~SY8xGVEEG{UE=05mxbzuoz(#9gH^FZF0^)z; zLUAS!x4stQ)};#wIluFm;~mHUeaF`18vgYbD(x^$ zFAmpT2>x{zY0|*e15NRDg(NIZqRPC)Bq33mrW~O>C8ONODNj%nl{ohazWw1dEi*Ek z`$9iZbT2Zdd)e?{L@mZjx=ab;BBMK0sl$coQv%pd=?G>&A(nDJ&<xHvTn#BWjz2ZvY$q!cW zP3qv8oG_bXvdT(<$quW8CKq_KO;%cIVQJ5x#}Ler%8(3nsse)tLkiHWS_T~;I~XXE z3Ur79Lp6gN&~rs#@4&?;&tD}^f$qDj6ek~9nJ`%{M+oQ+A+Vc1*n`|8HaTyVNi@g> z)eHe(pCtp?A>bg+0lEm{x@rbWT&|v~z~BcAv0S)mw6W>#D$~i=R{Ej%GA@i`vC2wD mnAm2ARSJxg;}#2mg8>{<9FrdyuuPt`S^}8xbh delta 91 zcmezJj&;*h)(xAMPZo$}nY?THzUecP8Tlr+tuSIto1ADQIeE)!p~-x!_<+(po0qNC rVw}9smJ2ATGPy2_V>91+Hpa<$CR~$MHYk7%@Yx^(qBj?8U^xx|7b+yi diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs index aa178018..483a321a 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs @@ -1545,6 +1545,9 @@ namespace VEPROMS.CSLA.Library { //if (tb._FromItem.MyContent.InList(5322)) Console.WriteLine("Here"); string str1 = TranGetSectionNumber(tb._ToItem); + // F2024-008 added flag to title case the section number in transitions + if (tb._FormatData.TransData.Cap1stCharTransSectionNumber) + str1 = CapFirstLetterOnly(str1, 0); if(!tb._ToItem.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert) return str1; List FromSections = GetSections(tb._FromItem.ActiveSection); List ToSections = GetSections(tb._ToItem.ActiveSection); @@ -1615,6 +1618,9 @@ namespace VEPROMS.CSLA.Library sectionTitle = (tb._FormatData.TransData.CapsTransitionsSection ? sectionTitle.ToUpper().Replace(@"\U", @"\u") : tb._FormatData.TransData.Cap1stCharTransSection ? CapFirstLetterOnly(sectionTitle, 0) : sectionTitle); + // F2024-008 Added flag to surround the section title with parenthesis in transitions + if (tb._FormatData.TransData.ParensAroundSectionTitle) + sectionTitle = string.Format("({0})", sectionTitle); // B2017-236 Replace embedded returns with spaces and trim the spaces from the end of the section title. return TrimSectionTitle(sectionTitle); } diff --git a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs index 250a4367..2b09e8d5 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs @@ -7103,6 +7103,7 @@ namespace VEPROMS.CSLA.Library return LazyLoad(ref _Cap1stCharTrans, "@Cap1stCharTrans"); } } + // Title Case section title private LazyLoad _Cap1stCharTransSection; public bool Cap1stCharTransSection { @@ -7111,6 +7112,24 @@ namespace VEPROMS.CSLA.Library return LazyLoad(ref _Cap1stCharTransSection, "@Cap1stCharTransSection"); } } + // Title Case section number + private LazyLoad _Cap1stCharTransSectionNumber; + public bool Cap1stCharTransSectionNumber + { + get + { + return LazyLoad(ref _Cap1stCharTransSectionNumber, "@Cap1stCharTransSectionNumber"); + } + } + // Parens around section title + private LazyLoad _ParensAroundSectionTitle; + public bool ParensAroundSectionTitle + { + get + { + return LazyLoad(ref _ParensAroundSectionTitle, "@ParensAroundSectionTitle"); + } + } private LazyLoad _UseTransitionModifier; public bool UseTransitionModifier { From 7b16478417c0f7430cd4553c406a1f3fc9e11fad Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Tue, 6 Feb 2024 07:26:58 -0500 Subject: [PATCH 14/23] C2024-002-Print-Sections --- PROMS/Volian.Controls.Library/vlnTreeView.cs | 25 ++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 907c3898..3e61ecae 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -842,6 +842,7 @@ namespace Volian.Controls.Library MenuItem mitcas = new MenuItem("Create Time Critical Action Summary"); //F2022-024 added menu option MenuItem mip = new MenuItem("Print"); MenuItem miqp = new MenuItem("Quick Print"); + //MenuItem mips = new MenuItem("Print Section"); MenuItem mia = new MenuItem("Approve"); int k = 0; foreach (string s in pri.MyDocVersion.UnitNames) @@ -855,6 +856,9 @@ namespace Volian.Controls.Library MenuItem mqp = miqp.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); mqp.Enabled = procAppl; mqp.Tag = k; + //MenuItem mps = mips.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); + //mps.Enabled = procAppl; + //mps.Tag = k; MenuItem ma = mia.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); ma.Enabled = procAppl; ma.Tag = k; @@ -869,6 +873,7 @@ namespace Volian.Controls.Library cm.MenuItems.Add(mitcas); cm.MenuItems.Add(mip); cm.MenuItems.Add(miqp); + //cm.MenuItems.Add(mips); AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri); cm.MenuItems.Add(mia); AddApprovedRevisionsMultiUnit(cm.MenuItems, pri); @@ -879,6 +884,7 @@ namespace Volian.Controls.Library cm.MenuItems.Add("Create Time Critical Action Summary", new EventHandler(mi_Click)); cm.MenuItems.Add("Print", new EventHandler(mi_Click)); cm.MenuItems.Add("Quick Print", new EventHandler(mi_Click)); + //cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); //MenuItem miqp = new MenuItem("Print"); AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri); cm.MenuItems.Add("Approve", new EventHandler(mi_Click)); @@ -950,7 +956,26 @@ namespace Volian.Controls.Library SectionConfig sc = si.MyConfig as SectionConfig; if (!si.IsEnhancedSection && (si.Sections == null || si.Sections.Count == 0 || (meta && sc != null && si.Sections != null && si.Sections.Count > 0 && sc.SubSection_Edit == "Y"))) cm.MenuItems.Add("New Step", new EventHandler(mi_Click)); + + //ProcedureInfo pri = tn as SectionInfo; + SectionInfo si2 = (tn as VETreeNode).VEObject as SectionInfo; + if (si2.MyDocVersion.MultiUnitCount > 1) + { + MenuItem mps = new MenuItem("Print Section"); + int k = 0; + foreach (string s in si2.MyDocVersion.UnitNames) + { + k++; + MenuItem mp = mps.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); + mp.Tag = k; + } + cm.MenuItems.Add(mps); + //cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + } + else + { cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + } } } } From ce68bb9c42eb3c2480195bad0fa2a49c3a252841 Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Tue, 6 Feb 2024 11:30:55 -0500 Subject: [PATCH 15/23] C2024-002-Print-Sections --- PROMS/Volian.Controls.Library/vlnTreeView.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 3e61ecae..da274b84 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -970,7 +970,6 @@ namespace Volian.Controls.Library mp.Tag = k; } cm.MenuItems.Add(mps); - //cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); } else { @@ -1037,6 +1036,10 @@ namespace Volian.Controls.Library // require clearing of all enhanced config data or mapping it to existing data (quite complicated) if ((ui.IsAdministrator() || ui.IsSetAdministrator(i.MyProcedure.MyDocVersion) || ui.IsWriter(i.MyProcedure.MyDocVersion)) && (!i.IsEnhancedStep && !i.IsEnhancedProcedure && !i.IsEnhancedSection && !i.IsRtfRaw && !i.IsFigure)) cm.MenuItems.Add("Copy", new EventHandler(mi_Click)); + if (i.HasWordContent) + { + cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + } } #endregion //_MyLog.WarnFormat("Context Menu 4 - {0}", GC.GetTotalMemory(true)); From 41abad1ad99d67fddd70310f5c9b5d919f09b038 Mon Sep 17 00:00:00 2001 From: Kathy Ruffing Date: Tue, 6 Feb 2024 11:47:49 -0500 Subject: [PATCH 16/23] B2024-002: save step before update ROs from Step Ribbon --- PROMS/Volian.Controls.Library/StepTabRibbon.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.cs b/PROMS/Volian.Controls.Library/StepTabRibbon.cs index 2cfc387d..5bbbeeee 100644 --- a/PROMS/Volian.Controls.Library/StepTabRibbon.cs +++ b/PROMS/Volian.Controls.Library/StepTabRibbon.cs @@ -3395,6 +3395,8 @@ namespace Volian.Controls.Library Cursor = Cursors.Default; return; } + // B2024-002: Save any changes to the database so that updating of ROs has current data: + MyEditItem.SaveContents(); using (DocVersion dv = DocVersion.Get(Mydvi.VersionID)) { swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(Mydvi)); From fa10fe4190816f1f5a62ac5ea11dec6654de4794 Mon Sep 17 00:00:00 2001 From: John Jenko Date: Tue, 6 Feb 2024 16:30:35 -0500 Subject: [PATCH 17/23] F2024-012 - Adjusted the Cover Page title spacing in all of the Vogtle Units 3 & 4 formats --- PROMS/Formats/fmtall/VEGP1all.xml | Bin 183426 -> 184034 bytes PROMS/Formats/fmtall/VEGP2all.xml | Bin 220392 -> 221000 bytes PROMS/Formats/fmtall/VEGPAlrall.xml | Bin 209558 -> 210166 bytes PROMS/Formats/fmtall/VEGPBckStpsall.xml | Bin 55634 -> 55246 bytes PROMS/Formats/fmtall/VEGPBckall.xml | Bin 96116 -> 96724 bytes .../Properties/AssemblyInfo.cs | 5 +++-- .../Volian.Print.Library/VlnSvgPageHelper.cs | 2 ++ 7 files changed, 5 insertions(+), 2 deletions(-) diff --git a/PROMS/Formats/fmtall/VEGP1all.xml b/PROMS/Formats/fmtall/VEGP1all.xml index 8eb46134d960b85355e7c9a3f3afc7d334655a61..97afe8f2981bc575d302cd19b6a1eee98bef8b6d 100644 GIT binary patch delta 120 zcmZpg$^B?9cS8%~7A78c&JYGqh7blH2G{A1*-YZwos5~p7?A~;n1q>)7!0->vNNgc aB1;fbEh{|T&YOv6a*YJX_I2(|S6To%a2j3! delta 64 zcmaDfm%C{ucS8%~7A79{>6a>)gr@5>F$pnRZcpT3QrATnkrkdk&zFg3a*YJXc0Mnr GD=h$)suO K-si-;O9lYOu^Ep5 diff --git a/PROMS/Formats/fmtall/VEGPAlrall.xml b/PROMS/Formats/fmtall/VEGPAlrall.xml index e0144098ba1ea0600474526b94ea651d3cfc56af..b2957f4d9aab726e3d9d31c0d5576508ee321d6f 100644 GIT binary patch delta 152 zcmbRCl;_(^o`x32ElhdRoFNRJ3?U3Y46f4)Uowd^nr?sS!NkcpeVqpr4>w$n!Du?8 t7nAUGAtok~=?ZB~72D-xnC9qEpm~ze^ab%uJlpr^G0kA!4rG421OPIzDJuW~ delta 55 xcmezNl4sgeo`x32ElhdR(-+NR5}Mx9&LqTWx!vBINmh9K1AQhgDRlAeF9Ap-6Q=+G diff --git a/PROMS/Formats/fmtall/VEGPBckStpsall.xml b/PROMS/Formats/fmtall/VEGPBckStpsall.xml index 0df3fb9cfaef6ba3920b528afbbf21855dc865ae..afdfb3c228c120b5130d84a6627d47f3c9313b00 100644 GIT binary patch delta 75 zcmcb#iTT`m<_&CfCJP90P0m@&wYhGt3De{^^F=0~nlHEc&HOe-AV+QUoQ0<#j0uY+ b7&ot3;=njrVHw}#e@o?nw900WWn9JpF)AW< delta 243 zcmX@Np83)y<_&CfCJU&tOy-;8rme}K$)Lxe#Gt_7!H~#M#E`-e%uv7(0%RpJ3oJ{20w;UhTO>$Lxm?V5fqsGg-L`p6sRg?a-)@~umXb%P)#sHDo|YsLne@&H(7D6 z^yCa#p2@f7$V^@`S8TGvT#dz{a$&H_d8I7iY^kWpB bzCo0+YV(HEb94~WBx#%^w7rj;@mV$i9o#IF delta 49 ucmccenf1#%)&-}hFY;v+nq2Z(h|zNM#b2_*ldA+pHn-jXCW$J+Tn_+Nb{6CS diff --git a/PROMS/VEPROMS User Interface/Properties/AssemblyInfo.cs b/PROMS/VEPROMS User Interface/Properties/AssemblyInfo.cs index 1dcc5de0..699a2c37 100644 --- a/PROMS/VEPROMS User Interface/Properties/AssemblyInfo.cs +++ b/PROMS/VEPROMS User Interface/Properties/AssemblyInfo.cs @@ -44,8 +44,9 @@ using System.Runtime.InteropServices; // Revision DHH (day - no leading zero, two digit hour - military time // // ********* REMEMBER TO CHECK THE AssemblyConfiguration SETTING (ABOVE) ******** -[assembly: AssemblyVersion("2.1.2402.509")] -[assembly: AssemblyFileVersion("2.1.2402.509")] +[assembly: AssemblyVersion("2.1.2402.616")] +[assembly: AssemblyFileVersion("2.1.2402.616")] + diff --git a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs index c5c2e949..92554a34 100644 --- a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs +++ b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs @@ -1836,6 +1836,8 @@ i = 0; float coverlinelen = ((ctlen == 0) ? (int)section.ActiveFormat.PlantFormat.FormatData.ProcData.TitleLength : ctlen) * (float)pageItem.Font.CPI / 12; string title1 = section.MyProcedure.MyContent.Text; if (section.ActiveFormat.PlantFormat.FormatData.ProcData.CapitalizeTitle) title1 = title1.ToUpper(); + // F2024-012 copied this line from above (processing COVERPROCTITLE) to resolve unit designators in the procedure title + if (title1.ToUpper().Contains(@" Date: Thu, 8 Feb 2024 06:50:10 -0500 Subject: [PATCH 18/23] B2024-005: Vogtle Alarm pagination --- PROMS/Formats/fmtall/VEGPAlrall.xml | Bin 210166 -> 210166 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/PROMS/Formats/fmtall/VEGPAlrall.xml b/PROMS/Formats/fmtall/VEGPAlrall.xml index b2957f4d9aab726e3d9d31c0d5576508ee321d6f..e9b5ae4badc564cd6af12ca350e3cc8a644a94d6 100644 GIT binary patch delta 28 kcmezNlIPn?o`x327N#xCR}2}=rYkZtJ8l; Date: Thu, 8 Feb 2024 15:27:53 -0500 Subject: [PATCH 19/23] F2024-013 - The end message for Attachment and Procedure Step sections is now bolded and have a dash before and after the end message --- PROMS/Formats/fmtall/VEGP1all.xml | Bin 184034 -> 184686 bytes PROMS/Formats/fmtall/VEGP2all.xml | Bin 221000 -> 222116 bytes PROMS/Formats/fmtall/VEGPAlrall.xml | Bin 210166 -> 210286 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/PROMS/Formats/fmtall/VEGP1all.xml b/PROMS/Formats/fmtall/VEGP1all.xml index 97afe8f2981bc575d302cd19b6a1eee98bef8b6d..6640b2c839ecdc6e7cd4a73f91380f07173a5eff 100644 GIT binary patch delta 262 zcmaDfm;2o!?uHh|Eleh>m~|NxrW>zf(q>j*(4BtpCZqK91S6)1=?-%kIi{cc&nPf` z+EJ#KsRB$~+g3BJ69p@eKgy(xPkG$rYfJ*uC+ubl*uLl>(>`W`nzjS&5McpX$2a}M zN+uU&praUE8T=SrfV4k@8<2DZ(mp`GKSL-(2#}A}t*ovLc?>C&8CgZAU%0}^GJV}T eCco)E2bttR?w_`rNpAXqex|VP3r;aPu>b(8NmP~q delta 139 zcmaF2i2Ko8?uHh|Eleh>rdzCH(&ATQP++iQ;AP-q-~_?#uU9cSicL2-$fSfJb^9Pw zBMWvZ?&D07EYk&!F>y?9=w)P?zH2vA&Qt*=uIY8FndGJ)=w}L>zF-a`+jO-pOk&$T J&N8X7003q&BkBME diff --git a/PROMS/Formats/fmtall/VEGP2all.xml b/PROMS/Formats/fmtall/VEGP2all.xml index 00006cb3881629edfa041edc3610c95c3221e946..f0beeefd8761ff1c3d4bc3436dd9ae601e079fdd 100644 GIT binary patch delta 226 zcmX@Hk9Wy&-i8*&7N#xCKGM_GoS22CM@ciwFe@xOmhBP?3 diff --git a/PROMS/Formats/fmtall/VEGPAlrall.xml b/PROMS/Formats/fmtall/VEGPAlrall.xml index e9b5ae4badc564cd6af12ca350e3cc8a644a94d6..0752764ba24c1c5ebec1b4a56dc3ac156dfe571a 100644 GIT binary patch delta 139 zcmezNlIPtko`x32ElgYorw5oY Date: Fri, 9 Feb 2024 09:09:12 -0500 Subject: [PATCH 20/23] C2024-002-Print-Sections --- PROMS/Volian.Controls.Library/vlnTreeView.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index da274b84..ef52239f 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -1787,6 +1787,9 @@ namespace Volian.Controls.Library case "Quick Print": OnQPrintProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); break; + case "Print Section": + OnPrintSection(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); + break; case "Print All Procedures for": OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0,mi.Text,(int)mi.Tag)); break; From afad3365bd0140771cd144cec310da524d514f2c Mon Sep 17 00:00:00 2001 From: John Jenko Date: Fri, 9 Feb 2024 14:30:11 -0500 Subject: [PATCH 21/23] B2024-006 - Improved memory management when performing the Refresh Transitions Amin Tool by encasing the getting of content information in Using statements. Same change was done for the method used by the Update RO Values Amin tool. --- .../VEPROMS.CSLA.Library/Extension/ItemExt.cs | 66 +++++++++++-------- 1 file changed, 38 insertions(+), 28 deletions(-) diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 04c00975..810ce4df 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -665,10 +665,12 @@ namespace VEPROMS.CSLA.Library { TranFixCount++; itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to Non-Editable Step"); - Content content = Content.Get(itemInfo.MyContent.ContentID); - content.FixTransitionText(traninfo, true); - content.Save(); - } + using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done + { + content.FixTransitionText(traninfo, true); + content.Save(); + } + } } if (!forceConvertToText) @@ -682,10 +684,12 @@ namespace VEPROMS.CSLA.Library forceConvertToText = true; TranFixCount++; itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to External Procedure using Internal Format"); - Content content = Content.Get(itemInfo.MyContent.ContentID); - content.FixTransitionText(traninfo, true); - content.Save(); - } + using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done + { + content.FixTransitionText(traninfo, true); + content.Save(); + } + } } } } @@ -701,9 +705,11 @@ namespace VEPROMS.CSLA.Library forceConvertToText = true; TranFixCount++; itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to Outside Procedure using Internal Format"); - Content content = Content.Get(itemInfo.MyContent.ContentID); - content.FixTransitionText(traninfo, true); - content.Save(); + using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done + { + content.FixTransitionText(traninfo, true); + content.Save(); + } } } } @@ -719,9 +725,11 @@ namespace VEPROMS.CSLA.Library if (newText != oldText || newValue == "?") { TranFixCount++; - Content content = Content.Get(itemInfo.MyContent.ContentID); - content.FixTransitionText(traninfo); - content.Save(); + using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done + { + content.FixTransitionText(traninfo); + content.Save(); + } } } } @@ -966,24 +974,26 @@ namespace VEPROMS.CSLA.Library { //ShowDifference(oldText, newText); // debug - display in Visual Studio Output window ROFixCount++; - Content content = Content.Get(itemInfo.MyContent.ContentID); - if (roval == "?") + using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done { - oldText = content.ConvertROToText(rousage, roval, roch.type, origROFst); - using (Item myitem = content.ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153 + if (roval == "?") { - myitem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060 - // B2016-225 (follow through) added more descriptive Annotation Type when RO is converted to text - Annotation.MakeAnnotation(myitem, AnnotationType.GetByNameOrCreate("Link Converted To Text"), "", string.Format("RO value ({0}) converted to text", ItemInfo.ConvertToDisplayText(oldText)), null); + oldText = content.ConvertROToText(rousage, roval, roch.type, origROFst); + using (Item myitem = content.ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153 + { + myitem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060 + // B2016-225 (follow through) added more descriptive Annotation Type when RO is converted to text + Annotation.MakeAnnotation(myitem, AnnotationType.GetByNameOrCreate("Link Converted To Text"), "", string.Format("RO value ({0}) converted to text", ItemInfo.ConvertToDisplayText(oldText)), null); + } } + else + { + content.FixContentText(rousage, roval, roch.type, origROFst); + } + content.UserID = Volian.Base.Library.VlnSettings.UserID; + content.DTS = DateTime.Now; + content.Save(); } - else - { - content.FixContentText(rousage, roval, roch.type, origROFst); - } - content.UserID = Volian.Base.Library.VlnSettings.UserID; - content.DTS = DateTime.Now; - content.Save(); } } } From fd24f57de38e7a1c4cd39dd50cca269b550b4b4a Mon Sep 17 00:00:00 2001 From: John Jenko Date: Wed, 14 Feb 2024 15:50:55 -0500 Subject: [PATCH 22/23] F2024-014 - In all of the Comanche Peak formats, the Table step type was set to Arial 11 --- PROMS/Formats/fmtall/CPSAMGDEVall.xml | Bin 27172 -> 27310 bytes PROMS/Formats/fmtall/CPSAMGDataall.xml | Bin 37188 -> 37152 bytes PROMS/Formats/fmtall/ComPeakFlex11all.xml | Bin 71628 -> 71658 bytes PROMS/Formats/fmtall/ComPeakFlexall.xml | Bin 64110 -> 64268 bytes PROMS/Formats/fmtall/TUECABNall.xml | Bin 59788 -> 59850 bytes PROMS/Formats/fmtall/TUECSAMG1all.xml | Bin 69390 -> 69276 bytes PROMS/Formats/fmtall/TUECSAMGall.xml | Bin 64794 -> 64668 bytes 7 files changed, 0 insertions(+), 0 deletions(-) diff --git a/PROMS/Formats/fmtall/CPSAMGDEVall.xml b/PROMS/Formats/fmtall/CPSAMGDEVall.xml index 3ffb7320889c18a1908d78a9d09e9c99f6f38044..ea200aaf2e3a2a9e6ada267d81cf2b70371bf624 100644 GIT binary patch delta 26 icmZ2-g>l_g#tkndCa19UO)g+zn>GsFG)LoR-#RBcpe508Bg}SpWb4 diff --git a/PROMS/Formats/fmtall/ComPeakFlex11all.xml b/PROMS/Formats/fmtall/ComPeakFlex11all.xml index 2b3e2a6271970686886198398e00866f07261883..6ba67177ebb3428043dfce24fba1be5c9bd1e36f 100644 GIT binary patch delta 50 zcmV-20L}l*uLSC^1h5!9lSUU1lNKx%lQ=v?lduUGlcp9tlh8Z_lL`qClQ0+tllW6C Iv;I8J+S6te9{>OV delta 58 zcmaF0p5@GXmJJd%lQ$SEOt!OenLNWnXtF@Q6u&b=K0_WuF_6q*NMtCUe2`I+S)ajf NGNX?6W*OUaw*X3v5_bRq diff --git a/PROMS/Formats/fmtall/ComPeakFlexall.xml b/PROMS/Formats/fmtall/ComPeakFlexall.xml index 805e795a2ae746c1d8049d4637a05260601daac7..1a1345060d7f0f3483137bd6ef3ea67db5ce7cee 100644 GIT binary patch delta 22 ecmaF&g}LV&^M*SnlRuTtm@J@WvYE>?O+HY;HaSm(WAhoq1KR=G(GB|m delta 60 zcmX?gnYrgO^M*Xb$$6Pg(sJ$a6`&*TG=Y?JdGI5zj#mB~()6X%;e SB~EH`MNATmy*VIu-$no)Oc)*j delta 159 zcmbO;m!)qW%Z3TIlPAb=Og`WxBkjXb%8<;E$&kX3$e_UB%#hEJ$50F;a~M)5D^^HO v-j^;lxlhkvbBx^u*~t&QIVMlgmBXuv+goz-8%wFlK`|+$sNZ}i=D24 delta 154 zcmbR9lX=!J<_%NqC-dp6Nc%99G9)u(GNdphGAJ-OGvqVmF%$#I9EQ}%jU|$k|K$oz qGPBs6;BZZLvVtPpWIrV-yn6V3B`5bp%S;Z6%OFMl=4)}s<^lj7@+#c` From e83648ec38e8cefdf3294faa933bc402220a5bb1 Mon Sep 17 00:00:00 2001 From: John Jenko Date: Thu, 15 Feb 2024 14:24:50 -0500 Subject: [PATCH 23/23] =?UTF-8?q?B2024-007=20-=20Added=20missing=20setting?= =?UTF-8?q?s=20to=20Beaver=20Valley=E2=80=99s=20Transition=20=E2=80=9C{Pro?= =?UTF-8?q?c=20Num}=20(Procedure=20Number=20Only)=E2=80=9D=20to=20fix=20a?= =?UTF-8?q?=20null=20reference=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PROMS/Formats/fmtall/BVPS1all.xml | Bin 133216 -> 133272 bytes PROMS/Formats/fmtall/BVPS2all.xml | Bin 98754 -> 98810 bytes PROMS/Formats/fmtall/BVPSAOPall.xml | Bin 150650 -> 150706 bytes PROMS/Formats/fmtall/BVPSAtchall.xml | Bin 128246 -> 128302 bytes PROMS/Formats/fmtall/BVPSBCKall.xml | Bin 75388 -> 75444 bytes PROMS/Formats/fmtall/BVPSDEVall.xml | Bin 42060 -> 42116 bytes PROMS/Formats/fmtall/BVPSFlexDEVall.xml | Bin 40324 -> 40380 bytes PROMS/Formats/fmtall/BVPSNIBCKall.xml | Bin 73440 -> 73496 bytes PROMS/Formats/fmtall/BVPSSAMGBCKall.xml | Bin 72486 -> 72542 bytes PROMS/Formats/fmtall/BVPSSAMGDEVall.xml | Bin 42066 -> 42122 bytes PROMS/Formats/fmtall/BVPSSAMGall.xml | Bin 128950 -> 129006 bytes .../DisplayTransition.cs | 5 ++++- 12 files changed, 4 insertions(+), 1 deletion(-) diff --git a/PROMS/Formats/fmtall/BVPS1all.xml b/PROMS/Formats/fmtall/BVPS1all.xml index 840a57390f4eadaea606b8d9fd7daf61cce86418..6e2aab9744531f040798a75e437b8847acfa9592 100644 GIT binary patch delta 34 scmV+-0NwxKkO-KO2(YHIlTfh?lZu`!le%dVlTa%JgS@i0ys`nLRUVBHBLDyZ delta 22 gcmV+x0O|jjkqF?B2(YHIlk!~_gY>eu^s)h@Rf(buDgXcg diff --git a/PROMS/Formats/fmtall/BVPS2all.xml b/PROMS/Formats/fmtall/BVPS2all.xml index 2ea95abed5635793a5de31317264f165be7ea04b..90971a8b63b0f7056866bfeb520784f8049aee55 100644 GIT binary patch delta 26 icmX@q%=W99Z9~VJ$q6$oCQH={O*SZE**tHJ%2fcQ#S7s8 delta 18 acmey>%yy`mZ9~VJ$%_KTHeXw#auonsO$mJf diff --git a/PROMS/Formats/fmtall/BVPSAOPall.xml b/PROMS/Formats/fmtall/BVPSAOPall.xml index 576e1295d68ae918f22360ee408f27cd96ee8e7d..a25e41e1a99348347301623357ef5e42f07e4477 100644 GIT binary patch delta 39 xcmV+?0NDTfmv1e2Pr3WI#Dw|uPu{+@IP5_kXr delta 22 ecmdlqlk?XM&J8hZCqHr#YhJZ>`>M5!9PAq)UIw+F-k diff --git a/PROMS/Formats/fmtall/BVPSFlexDEVall.xml b/PROMS/Formats/fmtall/BVPSFlexDEVall.xml index 2a7e168def5086f1e4949bb6b7f8928cec0f8b5e..531626235804a56fafdbec72a370767b1de243ec 100644 GIT binary patch delta 26 icmZqK&9rAX(}q8tlM||WCO;_EnOx<CB=nJm^ delta 14 Vcmdn9o2g|t(}q8tn@zepgaJ3B2K)d3 diff --git a/PROMS/Formats/fmtall/BVPSNIBCKall.xml b/PROMS/Formats/fmtall/BVPSNIBCKall.xml index ec0027bf734defec4a90e4f1cd2fc82176d98e50..db96f397584b477c7ae48c9b84e23d6695d77b41 100644 GIT binary patch delta 30 ocmV+(0O9}Oy#$!P1h9Inlir;SlU|rClZs^$ldy9HvyiM%a_qehpa1{> delta 14 WcmbQSkLAH$mJL;FHg8&!Rs;Y!!3Vnl diff --git a/PROMS/Formats/fmtall/BVPSSAMGBCKall.xml b/PROMS/Formats/fmtall/BVPSSAMGBCKall.xml index 71e470488c39b6622216ff5d048d93597b932f57..25fdb768946c93119c759df386909920c4c8c887 100644 GIT binary patch delta 30 ocmV+(0O9|pwgld`1hCMklU$_?leCm9lWIy5lYk}!v*xHka_N>1Q2+n{ delta 18 acmcb&jb+(3mJJtHOjcSawpnhaLlFR43kb#l diff --git a/PROMS/Formats/fmtall/BVPSSAMGDEVall.xml b/PROMS/Formats/fmtall/BVPSSAMGDEVall.xml index fb484c4b246ab9501f4d3a75fa51c1b16e5af8c7..bad43d2dcd43769ced70a8cfd711cc6cad649773 100644 GIT binary patch delta 26 icmca~f~o5y(}rUcCKvScOkP!^GdaSIXY-{A4Z;Aid< diff --git a/PROMS/Formats/fmtall/BVPSSAMGall.xml b/PROMS/Formats/fmtall/BVPSSAMGall.xml index 9b25771b6800e42f2a6cb49488eab43ecf766246..a632db644fe7c7287ee22517404983cf2eeb0e53 100644 GIT binary patch delta 38 wcmV+>0NMYx?+5Ph2e3@Bldz%;lQ5kulX`CwlRzZ|lZvqlgKV+4Y_S1KMrzp+A^-pY delta 22 ecmaF&o_*VU_6