diff --git a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs index 5c2c0926..ff139892 100644 --- a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs +++ b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs @@ -307,6 +307,13 @@ namespace Volian.Print.Library get { return _RevDate; } set { _RevDate = value; } } + private bool _DoFloatingFoldout = true; + public bool DoFloatingFoldout + { + get { return _DoFloatingFoldout; } + set { _DoFloatingFoldout = value; } + } + private List _MyChangeBars = new List(); public List MyChangeBars { @@ -537,6 +544,26 @@ namespace Volian.Print.Library case E_NumberingSequence.WithinEachSection: key = key + "." + MySection.ItemID; break; + case E_NumberingSequence.WithStepsAndSecondaryPageNumber: + // For this one, we'll do two keys and templates. One will go with the main steps + // section and one will be for this secondary section. + ProcedureInfo pc1 = MySection.MyProcedure; + int psectid = 0; + foreach (SectionInfo si in pc1.Sections) + { + SectionConfig sc = si.MyConfig as SectionConfig; + if (sc.Section_OriginalSteps == "Y") + { + psectid = si.ItemID; + break; + } + } + if (psectid != 0) + { + key = (int)E_NumberingSequence.WithinEachSection + "." + psectid; + PdfTemplate tmp1 = MyPageCounts.AddToTemplateList(key, MyPdfWriter, args.MyText, args.MySvgText.Font, args.MySvgText.Align, args.MySvgText.FillColor); + } + break; } PdfTemplate tmp = MyPageCounts.AddToTemplateList(key, MyPdfWriter, args.MyText, args.MySvgText.Font, args.MySvgText.Align, args.MySvgText.FillColor); // Proms page numbering designed requires a "{PAGE}" token to increment the page counter. So the easiest way @@ -1172,14 +1199,26 @@ namespace Volian.Print.Library return CurrentPageNumber.ToString(); case "{OF}": // Total Page Count for this section return CurrentPageOf.ToString(); - case "{REVDATE}": // Revision Date - if (RevDate == null || RevDate == "") return DateTime.Now.ToShortDateString(); - return RevDate; - case "{REV}": // Revision Number - // 16-bit had very specific code to check for first character - // == to a ' ' (space) and if so, start Rev from second character. - if (Rev !=null && Rev != "" && Rev[0] == ' ') return Rev.Substring(1, Rev.Length - 1); - return Rev; + case "{REV}": // Revision Number and/or Revision string. + case "{REV2}": + // The 16bit code has a revision number & then a revision date. This revision date + // was actually either a date OR a string. The 32bit code no longer will call this + // token or string RevDate. HLP procs & stpdif show the different types of data + // that are used. + + // 16-bit had code to string preceeding blanks. + if (Rev != null && Rev != "") Rev = Rev.TrimStart(" ".ToCharArray()); + + // Now check the format flags to determine if/how the Rev string should be parsed. + if ((MySection.ActiveFormat.PlantFormat.FormatData.PrintData.DoRevDate && Rev.Contains("/")) + || (MySection.ActiveFormat.PlantFormat.FormatData.PrintData.RevDateWithForwardSlash && Rev.Contains("\\"))) + { + int indx = Rev.IndexOf(MySection.ActiveFormat.PlantFormat.FormatData.PrintData.DoRevDate?'/':'\\'); + if (match.Value == "{REV}") return Rev.Substring(0,indx); + return Rev.Substring(indx+1); + } + if (match.Value == "{REV}")return Rev; + return System.DateTime.Today.ToShortDateString(); case "{CHKOFFHEADING}": return PageListTopCheckOffHeader; }