B2024-013 - Fixed issue where hard returns are replaced with semi-colons in section titles in Automatic Table of Contents and will use the hard return when printing the section title for Vogtle’s Units 3 & 4 formats.

This commit is contained in:
John Jenko 2024-03-04 10:40:10 -05:00
parent e38a706931
commit 78f83eb2a5
2 changed files with 29 additions and 7 deletions

View File

@ -2932,7 +2932,19 @@ namespace VEPROMS.CSLA.Library
string str = MyContent.Text;
// B2022-035: resolve unit specific designators
if (str.ToUpper().Contains(@"<U")) str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(this.MyDocVersion, str);
return ConvertToDisplayText(str, false);
return ConvertToDisplayText(str, false, " "); // B2024-013 added " " to replace hard returns with a space instead of semi-colon
}
}
// B2024-013 added for Vogtle Units 3 & 4, used with {TOPSECTIONTITLE} pagelist item
// this will format the text and keep the hard return command
public string FormattedDisplayTextKeepHardReturn
{
get
{
string str = MyContent.Text;
// B2022-035: resolve unit specific designators
if (str.ToUpper().Contains(@"<U")) str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(this.MyDocVersion, str);
return ConvertToDisplayText(str, false, ""); // pass in empty string for hard retun char will keep hard return
}
}
// Used in Comanche Peak EOP and Flex formats for step designators. Will allow a hard return to be used that that caution type.
@ -3109,7 +3121,12 @@ namespace VEPROMS.CSLA.Library
return ConvertToDisplayText(txt, true);
}
public static string ConvertToDisplayText(string txt, bool stripRTF)
// B2024-013 This allos us to control "what with" or "whether to" replace hard returns
// Semi-colons where printing on auto table of contents for section titles with hard returns
// added HardReturnChar string to parameter. The default is to use the semi-colon, for auto table of contents
// we replace it with a space, for Vogtle Unit 3 & 4 we retain the hard return when printing the section
public static string ConvertToDisplayText(string txt, bool stripRTF, string HardReturnChar = ";")
{
string retval = txt;
@ -3120,9 +3137,12 @@ namespace VEPROMS.CSLA.Library
retval = ReplaceSpecialCharacters(retval);
retval = retval.Replace("\u2011", "-");
retval = retval.Replace("\u2572", @"\"); // replace backslash symbol with a backslash
retval = Regex.Replace(retval, @"\\line ?", ";"); // better handing of hard returns - replace with semi-colon for use on tree view
retval = retval.Replace("\r\n", ";");
retval = retval.Replace("\n", ";"); //added for consistency checking with approved version
if (HardReturnChar != "") // B2024-013 if a null string don't replace the hard return
{
retval = Regex.Replace(retval, @"\\line ?", HardReturnChar); // better handing of hard returns - replace with semi-colon for use on tree view
retval = retval.Replace("\r\n", HardReturnChar);
retval = retval.Replace("\n", HardReturnChar); //added for consistency checking with approved version
}
}
return retval;

View File

@ -2023,15 +2023,17 @@ i = 0;
break;
case "{TOPSECTIONTITLE}": // This will print the top level section title
case "[TOPSECTIONTITLE]":
// get top most section:
// get top most section: put in for Vogtle Units 3 & 4 formats
{
ItemInfo top = section;
while (top.MyParent != null && !top.MyParent.IsProcedure)
{
top = top.MyParent;
}
// B2024-013 changed to use the FormattedDisplayTextKeepHardReturn instead of display text for the section title
// this gives us to use the hard return that the user placed in the section title
if (top.IsSection)
plstr = SplitTitle(svgGroup, pageItem, top.DisplayText, section.ActiveFormat.PlantFormat.FormatData.SectData.SectionTitleLength, token, plstr, section.ActiveFormat.PlantFormat.FormatData.SectData.SectionNumberAndTitleLength);
plstr = SplitTitle(svgGroup, pageItem, top.FormattedDisplayTextKeepHardReturn, section.ActiveFormat.PlantFormat.FormatData.SectData.SectionTitleLength, token, plstr, section.ActiveFormat.PlantFormat.FormatData.SectData.SectionNumberAndTitleLength);
else
plstr = plstr.Replace(token, string.Empty);
}