From 8aad90ad873618756d9a61201825d5904e77623d Mon Sep 17 00:00:00 2001 From: John Date: Thu, 7 Nov 2019 15:56:38 +0000 Subject: [PATCH] =?UTF-8?q?C2019-043=20convert=20=E2=80=9C->=E2=80=9D=20to?= =?UTF-8?q?=20the=20right=20arrow=20symbol=20and=20=E2=80=9C<-=E2=80=9C=20?= =?UTF-8?q?to=20the=20left=20arrow=20symbol=20in=20RO=20return=20values=20?= =?UTF-8?q?if=20the=20UseDashGreaterLessThenForArrowsInROValue=20format=20?= =?UTF-8?q?flag=20is=20set?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PROMS/Volian.Controls.Library/StepRTB.cs | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/PROMS/Volian.Controls.Library/StepRTB.cs b/PROMS/Volian.Controls.Library/StepRTB.cs index 268e8650..0cf57ae5 100644 --- a/PROMS/Volian.Controls.Library/StepRTB.cs +++ b/PROMS/Volian.Controls.Library/StepRTB.cs @@ -967,9 +967,21 @@ namespace Volian.Controls.Library // SelectionLength = 0; // //OnModeChange(this, new StepRTBModeChangeEventArgs(ViewRTB?E_ViewMode.View:E_ViewMode.Edit)); //} + public string InsertSymbolInRO(string val) + { + string retval = val; + // C2019-043 convert a "->" to the Right Arrow symbol and a "<-" to the Left Arrow Symbol + // note that at the dash character gets convert to a non-breaking hyphen "\u8209?" + if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue) + { + retval = retval.Replace("\\u8209?>", GetAddSymbolTextForROs(@"\u8594?")); // Right Arrow + retval = retval.Replace("<\\u8209?", GetAddSymbolTextForROs(@"\u8592?")); // Left Arrow + } + return retval; + } public void InsertRO(string value, string link) { - AddRtfLink(value, link); + AddRtfLink(InsertSymbolInRO(value), link); } public void InsertTran(string value, string link) { @@ -1318,6 +1330,10 @@ namespace Volian.Controls.Library { return (@"{\f1\fs" + this.Font.SizeInPoints * 2 + @" " + symtxt + @"}"); // B2016-281 fixed font selection when inserting a symbol character } + private string GetAddSymbolTextForROs(string symtxt) + { + return (@"\f1\fs" + this.Font.SizeInPoints * 2 + @" " + symtxt); //C2019-043 Don't need curly braces when used in RO return value + } public void AddRtfLink(string linkUrl, string linkValue) { if (CreateParams.ClassName == "RICHEDIT50W") @@ -1361,7 +1377,7 @@ namespace Volian.Controls.Library linkValue = linkValue.Replace("\\u916?", "\\f1\\u916?\\f0 "); linkValue = linkValue.Replace(@"{", @"\{"); linkValue = linkValue.Replace(@"}", @"\}"); - SelectedRtf = @"{\rtf1\ansi"+FontTable+@"{\colortbl ;\red255\green0\blue0;}\v"+FontSize+@" \v0 }"; + SelectedRtf = @"{\rtf1\ansi" + FontTable + @"{\colortbl ;\red255\green0\blue0;}\v" + FontSize + @" \v0 }"; this.SelectionLength = 0; this.SelectionStart = position; FindAllLinks();