C2022-003-Change-Textboxes-to-RTF-3 #676

Closed
plarsen wants to merge 0 commits from C2022-003-Change-Textboxes-to-RTF-3 into Development
pull from: C2022-003-Change-Textboxes-to-RTF-3
Member

C2022-003 The symbols that can be entered into the PROMS editor should be added to the RO editor.

C2022-003 The symbols that can be entered into the PROMS editor should be added to the RO editor.
plarsen self-assigned this 2025-12-22 19:05:50 -05:00
djankowski was assigned by plarsen 2025-12-22 19:05:50 -05:00
jjenko was assigned by plarsen 2025-12-22 19:05:50 -05:00
mschill was assigned by plarsen 2025-12-22 19:05:50 -05:00
mvickers was assigned by plarsen 2025-12-22 19:05:50 -05:00
plarsen added 8 commits 2025-12-22 19:05:51 -05:00
plarsen requested review from jjenko 2025-12-22 19:06:15 -05:00
plarsen requested review from mschill 2025-12-22 19:06:16 -05:00
mschill requested changes 2025-12-23 08:56:51 -05:00
Dismissed
mschill left a comment
Member

see notes. Let me know if you have any questions.

see notes. Let me know if you have any questions.
@@ -302,13 +302,18 @@ using Org.Mentalis.Files;
using System.Runtime.InteropServices;
using System.Linq;
using System.Collections.Generic;
//using Volian.Controls.Library;
Member

remove commented out code

remove commented out code
Author
Member

Removed

Removed
mschill marked this conversation as resolved
@@ -304,1 +304,4 @@
using System.Collections.Generic;
//using Volian.Controls.Library;
using Volian.Base.Library;
using VEPROMS.CSLA.Library;
Member

Not seeing where this is needed - should this be here?

can't see needing CSLA as a dependency.

Not seeing where this is needed - should this be here? can't see needing CSLA as a dependency.
Author
Member

Removed

Removed
mschill marked this conversation as resolved
@@ -309,3 +314,3 @@
namespace ROEditor
{
/// <summary>
/// <summary>
Member

Not critical -- but just a side suggestion to make things easier for future possible changes ---- I would suggest reviewing this file and try to fix some of the spacing issues --- there are a lot of items showing as changes that are not actual changes (i.e. removed blank lines or added / removed spaces) -- this makes it difficult to tell what was / wasn't changed and more likely to miss something / make a mistake. It also means that all these items will show up in history as being changed by this project. This could make diagnosing future issues more difficult (i.e. something that may have always been a certain way may appear it was changed with this project.)

Not critical -- but just a side suggestion to make things easier for future possible changes ---- I would suggest reviewing this file and try to fix some of the spacing issues --- there are a lot of items showing as changes that are not actual changes (i.e. removed blank lines or added / removed spaces) -- this makes it difficult to tell what was / wasn't changed and more likely to miss something / make a mistake. It also means that all these items will show up in history as being changed by this project. This could make diagnosing future issues more difficult (i.e. something that may have always been a certain way may appear it was changed with this project.)
Author
Member

OK I will remove added blank lines if I have time.

OK I will remove added blank lines if I have time.
Member

still outstanding?

still outstanding?
Member

still outstanding

still outstanding
@@ -1163,2 +1187,4 @@
menuROSave.Enabled = rbtnSave.Enabled;
}
public void RTBSymbolsOnOff(string nm)
Member

It looks like this function isn't called by anything - we should remove code that isn't called.

It looks like this function isn't called by anything - we should remove code that isn't called.
Author
Member

I removed function

I removed function
mschill marked this conversation as resolved
@@ -1165,0 +1212,4 @@
}
}
//EnableDisableSymbolsBtn(sender, new ctlXMLEditEventArgs(args.idName));
Member

Remove commented out code,

Remove commented out code,
Author
Member

Removed commented out line.

Removed commented out line.
mschill marked this conversation as resolved
@@ -1345,0 +1378,4 @@
this.tbar = new System.Windows.Forms.ToolBar();
this.imageListToolBar = new System.Windows.Forms.ImageList(this.components);
this.lblDuplicateRO = new System.Windows.Forms.Label();
this.galleryContainerSymbolsCM = new DevComponents.DotNetBar.GalleryContainer();
Member

There are all these: galleryContainerSymbolsCM, CM3, galleryContainerSymbolsGrid, etc...

but it looks like the only gallery used is:
galleryContainerSymbols from line 1386

we shouldn't add these if they aren't used.

There are all these: galleryContainerSymbolsCM, CM3, galleryContainerSymbolsGrid, etc... but it looks like the only gallery used is: galleryContainerSymbols from line 1386 we shouldn't add these if they aren't used.
Author
Member

I removed all unneeded galleryContainerSymbols* objects.

I removed all unneeded galleryContainerSymbols* objects.
mschill marked this conversation as resolved
@@ -2947,0 +3217,4 @@
if (nd == null) nd = curele.SelectSingleNode("*/" + nm);
if (nd == null)
nd = curele.GetCurrentOfMultiFields(curele, nm); // RO Editor add symbols C2022 - 003
Member

Should these lines be removed?

if (nd==null) nd = curele.SelectSingleNode(nm+"a");
if (nd==null) nd = curele.SelectSingleNode(nm+"b");
if (nd==null) nd = curele.SelectSingleNode(nm+"c");
if (nd==null) nd = curele.SelectSingleNode(nm+"d");

Should these lines be removed? if (nd==null) nd = curele.SelectSingleNode(nm+"a"); if (nd==null) nd = curele.SelectSingleNode(nm+"b"); if (nd==null) nd = curele.SelectSingleNode(nm+"c"); if (nd==null) nd = curele.SelectSingleNode(nm+"d");
Author
Member

These lines have been removed.

These lines have been removed.
Member

I am more questioning why these were removed

as these were here before this project?

I am more questioning why these were removed as these were here before this project?
Member

still outstanding?

I am not sure what these were in here for originally --- maybe parent/child? Will removing this code cause this to not work?

still outstanding? I am not sure what these were in here for originally --- maybe parent/child? Will removing this code cause this to not work?
Member

Never mind - I didn't notice that these lines were commented out in the original (lines 2942-2946 in the original file.

Never mind - I didn't notice that these lines were commented out in the original (lines 2942-2946 in the original file.
mschill marked this conversation as resolved
@@ -3031,0 +3312,4 @@
DevComponents.DotNetBar.ButtonItem btn = new DevComponents.DotNetBar.ButtonItem();
btn.Image = symCharBtmp;
//btnCM.Text = string.Format("{0}", SymbolNode.SelectSingleNode("unicode").InnerText);
Member

remove commented out code

remove commented out code
Author
Member

Line removed

Line removed
mschill marked this conversation as resolved
@@ -3031,0 +3323,4 @@
btn.FontBold = true;
btn.Click += new System.EventHandler(rbtnSymbols_Click);
galleryContainerSymbols.SubItems.Add(btn);
////galleryContainerSymbols
Member

remove commented out code

remove commented out code
Author
Member

Removed

Removed
mschill marked this conversation as resolved
@@ -3057,0 +3453,4 @@
// later on, we could add logic to use either FreeMono or Arial Unicode MS based on the format being used
// but for now, we are going to use FreeMono to create the symbol list
Font objFont = new Font("FreeMono", 18, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
//Font objFont = new Font("Arial Unicode MS", 18, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
Member

remove commented out code

remove commented out code
Member

//StartGridEditing(SelectionOption.Start); // If in a FlexGrid, start the editor for a cell
//_MyStepRTB.InsertSymbol(Convert.ToInt32(b.Tag));

are still in code

//StartGridEditing(SelectionOption.Start); // If in a FlexGrid, start the editor for a cell //_MyStepRTB.InsertSymbol(Convert.ToInt32(b.Tag)); are still in code
Member

still outstanding?

still outstanding?
mschill marked this conversation as resolved
@@ -3057,0 +3473,4 @@
objGraphics.SmoothingMode = SmoothingMode.AntiAlias;
objGraphics.TextContrast = 0;
objGraphics.TextRenderingHint = TextRenderingHint.AntiAlias;
//objGraphics.DrawString(txt, objFont, new SolidBrush(Color.FromArgb(102, 102, 102)), 0, 0);
Member

remove commented out code

remove commented out code
Author
Member

Line removed.

Line removed.
mschill marked this conversation as resolved
@@ -3057,0 +3478,4 @@
objGraphics.Flush();
return (objBmpImage);
}
private void btnSym_Click(object sender, EventArgs e)
Member

what does this do? / is this used?

looks like only sets a local variable that is never used?

what does this do? / is this used? looks like only sets a local variable that is never used?
Author
Member

I removed function. it was used in previous code before RTB.

I removed function. it was used in previous code before RTB.
mschill marked this conversation as resolved
@@ -3057,0 +3482,4 @@
{
DevComponents.DotNetBar.ButtonItem b = (DevComponents.DotNetBar.ButtonItem)sender;
//if (cbxTextSearchAnnotation.Focused)
Member

remove commented out code

remove commented out code
Author
Member

Line removed.

Line removed.
mschill marked this conversation as resolved
@@ -3071,0 +3565,4 @@
{
DevComponents.DotNetBar.ButtonItem b = (DevComponents.DotNetBar.ButtonItem)sender;
ctlXMLEdit2.TextBoxFocus.InsertSymbol(Convert.ToInt32(b.Tag));
//StartGridEditing(SelectionOption.Start); // If in a FlexGrid, start the editor for a cell
Member

Remove commented out code

Remove commented out code
Member

This appears to still be in there.

This appears to still be in there.
Member

Still in there - now line 3453/4.

Still in there - now line 3453/4.
Author
Member

Removed commented out code.

Removed commented out code.
mschill marked this conversation as resolved
@@ -124,6 +128,10 @@
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
<Reference Include="VEPROMS.CSLA.Library, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
Member

What is this needed for?

I would suggest not adding CSLA as a dependency to the RO Editor / doing straight SQL connections as this adds a dependency that we may need to strip out later as at some point CSLA may become no longer maintainable.

What is this needed for? I would suggest not adding CSLA as a dependency to the RO Editor / doing straight SQL connections as this adds a dependency that we may need to strip out later as at some point CSLA may become no longer maintainable.
Member

Looks good now.

Looks good now.
mschill marked this conversation as resolved
@@ -42,6 +42,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CmpRpt", "..\CmpRpt\CmpRpt.
{3A4A3543-2D44-11D6-8452-00A0CC271352} = {3A4A3543-2D44-11D6-8452-00A0CC271352}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D9093FAB-448E-47C7-961B-92B18D85CAF7}"
Member

What project is this that is being added to this solution?

(I am asking as I do not see a new project file which leads me to wonder if this is a PROMS project file being added (which could add cross dependencies) )

What project is this that is being added to this solution? (I am asking as I do not see a new project file which leads me to wonder if this is a PROMS project file being added (which could add cross dependencies) )
Author
Member

I removed it.

I removed it.
mschill marked this conversation as resolved
@@ -2182,10 +2186,13 @@ namespace RODBInterface
parent.SetAttribute("ChildLoaded", "True");
}
string xmlstr = GenerateXmlString(ro, false);
string tmp2 = Regex.Replace(xmlstr, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // RO Editor add symbols C2022 - 003
Member

Where is tmp2 used?

I am seeing this added but doing see a usage later in the file.

Running Regex's take up resources so should only be done if necessary.

Where is tmp2 used? I am seeing this added but doing see a usage later in the file. Running Regex's take up resources so should only be done if necessary.
Author
Member

I removed the line. It might have been a left over from something I was trying.

I removed the line. It might have been a left over from something I was trying.
Member

Looks good now.

Looks good now.
mschill marked this conversation as resolved
@@ -111,6 +111,9 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="ctlXMLEditLib">
Member

not sure I am understanding why this reference is needed. ctlXMLEdit should depend on RODBInterface instead of the other way around?

not sure I am understanding why this reference is needed. ctlXMLEdit should depend on RODBInterface instead of the other way around?
Author
Member

removed reference

removed reference
mschill marked this conversation as resolved
@@ -315,0 +336,4 @@
set
{
_TextBoxFocus = value;
// C2015-017 hide the label indicating user is working with a duplicate of an exiting RO
Member

Not sure this comment is correct.

Isn't this: // RO Editor add symbols C2022 - 003

Not sure this comment is correct. Isn't this: // RO Editor add symbols C2022 - 003
Author
Member

This comment stays. I did not add it, and it is not a part of C2022-003

This comment stays. I did not add it, and it is not a part of C2022-003
mschill marked this conversation as resolved
@@ -315,0 +337,4 @@
{
_TextBoxFocus = value;
// C2015-017 hide the label indicating user is working with a duplicate of an exiting RO
//lblDuplicateRO.Visible = value;
Member

Remove commented out code

Remove commented out code
Author
Member

Removed comment and code.

Removed comment and code.
mschill marked this conversation as resolved
@@ -481,0 +509,4 @@
{
hwnd.Text = Regex.Replace(nd.InnerText, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // set the field's text from XML
//hwnd.Text = nd.InnerText; // set the field's text from XML
Member

Remove commented out code

Remove commented out code
Author
Member

I removed the comment.

I removed the comment.
mschill marked this conversation as resolved
@@ -675,0 +713,4 @@
string result1 = "";
string Str = "";
char[] chrAry = hwnd.Text.ToCharArray();
foreach (int chr in chrAry)
Member

Can simplify this to have less executions / possibly use LINQ. See recommendations that SonrLint Visual Studio Ext will give.

Can simplify this to have less executions / possibly use LINQ. See recommendations that SonrLint Visual Studio Ext will give.
Author
Member

I will take a look at it if I have time.

I will take a look at it if I have time.
Member

At a minimum - would suggest not concatenating strings in a loop and using stringbuilder instead.

Here is an article I found detailing why shouldn't concat strings in a loop - they explain it probably a little better than I can & give some examples:
https://www.linkedin.com/pulse/string-vs-stringbuilder-performance-cnet-explained-andre-baltieri-5qeff/

At a minimum - would suggest not concatenating strings in a loop and using stringbuilder instead. Here is an article I found detailing why shouldn't concat strings in a loop - they explain it probably a little better than I can & give some examples: https://www.linkedin.com/pulse/string-vs-stringbuilder-performance-cnet-explained-andre-baltieri-5qeff/
Member

resolving this item - with stringbuilder, should at least be better memory / performance wise.

resolving this item - with stringbuilder, should at least be better memory / performance wise.
mschill marked this conversation as resolved
@@ -675,0 +717,4 @@
{
if (chr > 166)
{
//Str = @"\u" + ((int)chr).ToString("X4");
Member

Remove commented out code

Remove commented out code
Author
Member

Removed commented out code.

Removed commented out code.
mschill marked this conversation as resolved
@@ -788,6 +850,125 @@ namespace ctlXMLEditLib
return (false);
}
// RO Editor add symbols C2022 - 003
Member

see notes below. It looks like these sreg variables are never used.

i.e. they are only called in StaticStripRtfCommands - which is never called.

we should avoid regexs that are never used as they take up resources.

see notes below. It looks like these sreg variables are never used. i.e. they are only called in StaticStripRtfCommands - which is never called. we should avoid regexs that are never used as they take up resources.
Author
Member

I removed them.

I removed them.
mschill marked this conversation as resolved
@@ -791,0 +861,4 @@
private static Regex sreg8 = new Regex(@"(\\[^ \\?\r\n\t]+) (?=\\)"); // remove space between tokens
private static Regex sreg9 = new Regex(@"(\\[^ \\?\r\n\t]+) (?=\r\n)"); // remove space before /r/n
public static string StaticStripRtfCommands(string rtf, bool fromTable)
Member

Maybe I am missing something but I am not seeing this function being called anywhere?

We shouldn't include code that isn't called / used.

Maybe I am missing something but I am not seeing this function being called anywhere? We shouldn't include code that isn't called / used.
Author
Member

I removed the unused functions.

I removed the unused functions.
mschill marked this conversation as resolved
@@ -791,0 +907,4 @@
}
// RO Editor add symbols C2022 - 003
public static string RTFConvertedSymbolsToUnicode(string str)
Member

Maybe I am missing something, but it looks like the only place this is called from is StaticStripRtfCommands - which is never called --- so this code will never be called / executed?

Maybe I am missing something, but it looks like the only place this is called from is StaticStripRtfCommands - which is never called --- so this code will never be called / executed?
Author
Member

I removed the unused functions.

I removed the unused functions.
mschill marked this conversation as resolved
@@ -791,0 +924,4 @@
return rtnStr;
}
public static string StaticReplaceRTFClause(Match m)
Member

It looks like this function is never called?

We should remove unused functions.

It looks like this function is never called? We should remove unused functions.
Author
Member

I removed the unused functions

I removed the unused functions
mschill marked this conversation as resolved
@@ -891,1 +1073,4 @@
Size size = GraphicsHttextbox.Size;
mytextbox.LostFocus += new System.EventHandler(this.GraphicsHt_lostfocus);
//mytextbox.
Member

Remove commented out code

Remove commented out code
Author
Member

Removed comment.

Removed comment.
mschill marked this conversation as resolved
@@ -1932,0 +2160,4 @@
set { _DisplaySymBolBtn = value; }
}
}
public static class RichTextBoxExtensions // RO Editor add symbols C2022 - 003
Member

A new class like this or extending an existing class should be in it's own cs file so it can be found easily. --- also, otherwise it may be difficult to tell when it will work or not.

A new class like this or extending an existing class should be in it's own cs file so it can be found easily. --- also, otherwise it may be difficult to tell when it will work or not.
Member

still outstanding?

still outstanding?
mschill marked this conversation as resolved
@@ -1932,0 +2170,4 @@
richTextBox.SelectedRtf = RtfPrefixForSymbols + sym + @"}";
richTextBox.SelectedRtf = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033\uc1 }";
richTextBox.Select(position, 0);
//richTextBox.Select(position, 1); //left here for reference
Member

Remove commented out code

Remove commented out code
Author
Member

I removed the commented out code.

I removed the commented out code.
mschill marked this conversation as resolved
@@ -126,6 +126,10 @@
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
<Reference Include="Volian.Base.Library, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
Member

Is this reference needed?

Not seeing anything added that references the Base library? (unless I am missing something)

If nothing is added requiring this, then should not add an added dependency.

Is this reference needed? Not seeing anything added that references the Base library? (unless I am missing something) If nothing is added requiring this, then should not add an added dependency.
Author
Member

I remove the reference

I remove the reference
mschill marked this conversation as resolved
@@ -2155,2 +2160,3 @@
s2 = s2.Replace(@"\u160?", "<HSP>"); // convert hard spaces bug fix: B2016-206
s2 = s2.Replace(@"\", @"\u9586?"); // convert backslashes to a backslash symbol
if (!Regex.IsMatch(s2, pattern)) // RO Editor add symbols C2022 - 003
Member

Not if sure this makes sense --- will this ever get executed?

what if you have something that contains both special characters and a backslash in the text?

Not if sure this makes sense --- will this ever get executed? what if you have something that contains both special characters and a backslash in the text?
Author
Member

It is needed. If a special letter (Unicode) comes through this code it will mess-up one way or another. Maybe it needs to be refined to handle the special char and a separate back slash.

It is needed. If a special letter (Unicode) comes through this code it will mess-up one way or another. Maybe it needs to be refined to handle the special char and a separate back slash.
Member

I would say that is the case --- if there are are matches on the backslash not followed by a "u" those need to be replaced.

Likely would have to get matches and then loop through those specific matches doing a replace on those,

I would say that is the case --- if there are are matches on the backslash not followed by a "u" those need to be replaced. Likely would have to get matches and then loop through those specific matches doing a replace on those,
Member

Not seeing any changes here - not sure if I am missing something?

"Replace backslashes if not a \u is anywhere in the string" likely need changes to "Replace the specific backslashes the are not followed by a u". Think if you had something like:
"if A \u0026 B replace the C\D."
currently nothing would be replaced vs the \ between C\D being the only thing replaced.

Not seeing any changes here - not sure if I am missing something? "Replace backslashes if not a \u is anywhere in the string" likely need changes to "Replace the specific backslashes the are not followed by a u". Think if you had something like: "if A \u0026 B replace the C\D." currently nothing would be replaced vs the \ between C\D being the only thing replaced.
Owner

I see that we want to convert a backslash when it's not part of a Unicode character, but if the text in variable "s2" has both a regular backslash and a symbol, this logic would not replace that regular backslash because Regex would find the Unicode for the symbol.

I see that we want to convert a backslash when it's not part of a Unicode character, but if the text in variable "s2" has both a regular backslash and a symbol, this logic would not replace that regular backslash because Regex would find the Unicode for the symbol.
Member

I believe a regex replace will work.

Your pattern would need to have a negative lookahead for u.

Here is an example of a regex with a lookahead:

https://stackoverflow.com/questions/49841621/c-sharp-regular-expression-look-ahead-s

lines 2157 - 2165 should be able to be replaced with something similar to:

		// replace backslashes not followed by a u with \u9586?
		s2 = Regex.Replace(s2, @"\\(?!u)", @"\u9586?"); 

I ran a test in a separate test project in Visual Studio but I would suggest running a few more tests. What I used for my test was basically the above code I gave:

		string input = @"if A \u0026 B replace the C\D.";
		string output = System.Text.RegularExpressions.Regex.Replace(input, @"\\(?!u)", @"\u9586?");

& then I checked what was in output.

I believe a regex replace will work. Your pattern would need to have a negative lookahead for u. Here is an example of a regex with a lookahead: https://stackoverflow.com/questions/49841621/c-sharp-regular-expression-look-ahead-s lines 2157 - 2165 should be able to be replaced with something similar to: // replace backslashes not followed by a u with \u9586? s2 = Regex.Replace(s2, @"\\(?!u)", @"\u9586?"); I ran a test in a separate test project in Visual Studio but I would suggest running a few more tests. What I used for my test was basically the above code I gave: string input = @"if A \u0026 B replace the C\D."; string output = System.Text.RegularExpressions.Regex.Replace(input, @"\\(?!u)", @"\u9586?"); & then I checked what was in output.
mschill marked this conversation as resolved
@@ -1,18 +1,19 @@
using DevComponents.DotNetBar;
Member

what is this needed for?

what is this needed for?
Author
Member

I did not add it. I checked with the Master and it is included.

I did not add it. I checked with the Master and it is included.
Member

sorry missed it since the lines were changed. It was previously on line 11. - this is good. I will resolve this item.

sorry missed it since the lines were changed. It was previously on line 11. - this is good. I will resolve this item.
mschill marked this conversation as resolved
@@ -13,3 +14,2 @@
using Volian.Base.Library;
using JR.Utils.GUI.Forms;
using System.Linq;
using XYPlots;
Member

what is this needed for?

what is this needed for?
Author
Member

I did not add it. I checked with the Master and XYPlots is included.

I did not add it. I checked with the Master and XYPlots is included.
Member

sorry missed it since the lines were changed. It was previously on line 10. - this is good. I will resolve this item.

sorry missed it since the lines were changed. It was previously on line 10. - this is good. I will resolve this item.
mschill marked this conversation as resolved
@@ -14,2 +15,2 @@
using JR.Utils.GUI.Forms;
using System.Linq;
using XYPlots;
using static System.Net.Mime.MediaTypeNames;
Member

what is this needed for?

what is this needed for?
Author
Member

Not sure how the line got there. I will remove it.

Not sure how the line got there. I will remove it.
mschill marked this conversation as resolved
@@ -724,2 +724,4 @@
}
}
public DevComponents.DotNetBar.GalleryContainer BuildSymbolGalleryForRO()
Member

This function doesn't appear to be called from anywhere / used anywhere -- should this be in here / changed?

Also, should there be any changes to the StepTabRibbon Designer or Resx PROMS files?

It looks like Dotnetbar was used in the RO Editor not StepTabRibbon - so are theseearlier attempts that shouldn't be part of the final product (unless I am missing something - which could be possible)?

---but as is it looks like there shouldn't be any changes to any of the 3 StepTabRibbon files?

This function doesn't appear to be called from anywhere / used anywhere -- should this be in here / changed? Also, should there be any changes to the StepTabRibbon Designer or Resx PROMS files? It looks like Dotnetbar was used in the RO Editor not StepTabRibbon - so are theseearlier attempts that shouldn't be part of the final product (unless I am missing something - which could be possible)? ---but as is it looks like there shouldn't be any changes to any of the 3 StepTabRibbon files?
Author
Member

I removed the function

I removed the function
mschill marked this conversation as resolved
plarsen added 1 commit 2025-12-24 14:19:04 -05:00
mschill requested changes 2026-01-02 07:09:08 -05:00
Dismissed
mschill left a comment
Member

I resolved the comments that have had changes.

Can see outstanding open comments at:

#676

I will leave it up to John / Devin if they want to address some of the remaining items.

Remaining items:

ROEditor.cs:

  • Spacing / code format changes - unecessary changes to this makes future changes/bug fixing more difficult
  • There was some code related to the setting of "nd" that was removed that I am not sure should have been?
  • There are two places where there is commented out code that should be removed. Again see link above to pinpoint

ctlXMLEdit.cs

  • There is some added loop code that can be done more efficiently to save executions/performance - I can show how to do this on Tuesday if it is not already known. At a minimum, I would use a Stringbuilder for result1 instead of creating/destroying a string in a loop one character at a time.
  • public static class RichTextBoxExtensions should be in it's own file instead of being in with ctlXMLEdit class / file

ROFSTLookup.cs

  • "Replace backslashes if not a \u is anywhere in the string" likely need changes to "Replace the specific backslashes the are not followed by a u". Think if you had something like:
    "if A \u0026 B replace the C\D."
    currently nothing would be replaced vs the \ between C\D being the only thing replaced.
I resolved the comments that have had changes. Can see outstanding open comments at: https://git.volian.com/Volian/SourceCode/pulls/676 I will leave it up to John / Devin if they want to address some of the remaining items. Remaining items: ROEditor.cs: * Spacing / code format changes - unecessary changes to this makes future changes/bug fixing more difficult * There was some code related to the setting of "nd" that was removed that I am not sure should have been? * There are two places where there is commented out code that should be removed. Again see link above to pinpoint ctlXMLEdit.cs * There is some added loop code that can be done more efficiently to save executions/performance - I can show how to do this on Tuesday if it is not already known. At a minimum, I would use a Stringbuilder for result1 instead of creating/destroying a string in a loop one character at a time. * public static class RichTextBoxExtensions should be in it's own file instead of being in with ctlXMLEdit class / file ROFSTLookup.cs * "Replace backslashes if not a \u is anywhere in the string" likely need changes to "Replace the specific backslashes the are not followed by a u". Think if you had something like: "if A \u0026 B replace the C\D." currently nothing would be replaced vs the \ between C\D being the only thing replaced.
@@ -1972,6 +1975,7 @@ namespace RODBInterface
elem.SetAttribute("RecID", RecID);
elem.SetAttribute("ParentID", node.GetAttribute("RecID"));
elem.SetAttribute("Table", node.GetAttribute("Table"));
AccPageID = Regex.Replace(AccPageID, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // RO Editor add symbols C2022 - 003
Owner

This should not be needed because the AccPageID should never have symbol character.

  • the RO Editor code should prevent the user from entering a symbol in this field
  • the code should not allow use to save an AccPageID if there is a symbol or anything other than regular text (incase in the Windows Clipboard was used to past text in the field)
This should not be needed because the AccPageID should never have symbol character. - the RO Editor code should prevent the user from entering a symbol in this field - the code should not allow use to save an AccPageID if there is a symbol or anything other than regular text (incase in the Windows Clipboard was used to past text in the field)
Member

not sure if I am missing something but it looks like changes / reg-ex to AccPageID are still in here?

not sure if I am missing something but it looks like changes / reg-ex to AccPageID are still in here?
@@ -675,0 +709,4 @@
string result1 = "";
string Str = "";
char[] chrAry = hwnd.Text.ToCharArray();
foreach (int chr in chrAry)
Owner

I agree with possibly useing LINCQ

I agree with possibly useing LINCQ
jjenko left a comment
Owner

Waiting for items to get resolved from both reviews

Waiting for items to get resolved from both reviews
plarsen added 1 commit 2026-01-06 13:16:46 -05:00
mschill requested changes 2026-01-06 14:44:53 -05:00
Dismissed
mschill left a comment
Member

I resolved the comments that have had changes.

Looks like string concat was changed to a stringbuilder in the loop.

Can see outstanding open comments at:

#676

I will leave it up to John / Devin if they want to address some of the remaining items.

Remaining items:

ROEditor.cs:

  • Spacing / code format changes - unnecessary changes to this makes future changes/bug fixing more difficult

I resolved the comments that have had changes.

Can see outstanding open comments at:

#676

I will leave it up to John / Devin if they want to address some of the remaining items.

Remaining items:

ROEditor.cs:

  • Spacing / code format changes - unnecessary changes to this makes future changes/bug fixing more difficult
  • There is one place where there are 2 lines of commented out code that should be removed. Again see link above to pinpoint - is close to the end of the file.

ctlXMLEdit.cs

  • public static class RichTextBoxExtensions should be in it's own file instead of being in with ctlXMLEdit class / file

ROFSTLookup.cs

  • "Replace backslashes if not a \u is anywhere in the string" likely need changes to "Replace the specific backslashes the are not followed by a u". Think if you had something like:
    "if A \u0026 B replace the C\D."
    currently nothing would be replaced vs the \ between C\D being the only thing replaced.
I resolved the comments that have had changes. Looks like string concat was changed to a stringbuilder in the loop. Can see outstanding open comments at: https://git.volian.com/Volian/SourceCode/pulls/676 I will leave it up to John / Devin if they want to address some of the remaining items. Remaining items: ROEditor.cs: - Spacing / code format changes - unnecessary changes to this makes future changes/bug fixing more difficult I resolved the comments that have had changes. Can see outstanding open comments at: https://git.volian.com/Volian/SourceCode/pulls/676 I will leave it up to John / Devin if they want to address some of the remaining items. Remaining items: ROEditor.cs: * Spacing / code format changes - unnecessary changes to this makes future changes/bug fixing more difficult * There is one place where there are 2 lines of commented out code that should be removed. Again see link above to pinpoint - is close to the end of the file. ctlXMLEdit.cs * public static class RichTextBoxExtensions should be in it's own file instead of being in with ctlXMLEdit class / file ROFSTLookup.cs * "Replace backslashes if not a \u is anywhere in the string" likely need changes to "Replace the specific backslashes the are not followed by a u". Think if you had something like: "if A \u0026 B replace the C\D." currently nothing would be replaced vs the \ between C\D being the only thing replaced.
@@ -1973,2 +1976,4 @@
elem.SetAttribute("ParentID", node.GetAttribute("RecID"));
elem.SetAttribute("Table", node.GetAttribute("Table"));
//AccPageID = Regex.Replace(AccPageID, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // RO Editor add symbols C2022 - 003
string pattern = @"\\u([0-9]{1,4})\?";
Owner

This portion of the code should simply revert back to the original. All that needs done to resolve this item is to remove lines 1978, 1979, and 1980.

This portion of the code should simply revert back to the original. All that needs done to resolve this item is to remove lines 1978, 1979, and 1980.
@@ -2154,1 +2156,4 @@
var pattern = @"\\u([0-9]{1,4})\?"; // RO Editor add symbols C2022 - 003
if (Regex.IsMatch(s2, pattern))
Owner

I don't think this "if" statement is needed. we want to replace \u160? with " no matter what.

I don't think this "if" statement is needed. we want to replace \u160? with "<HSP> no matter what.
Member

I sent an email Friday - but so it doesn't get lost / we have it here also / we remember to test this when this item goes for testing: It appears this may need some further work to get it to work with parent child.
I was working on a separate CSM item (2026-002 When parens are inside a parent / child, printing a double parens)
and didn’t realize but the RO Editor I had compiled was the C2022-003 code (I had pulled it down locally to do my code review because the number of changes in the ROEditor.cs file were too large so it was having trouble comparing in the website.)

Anyway, for one of the Setpoints with parent child – I clicked inside the Setpoint box, pressed ctrl-a then ctrl-c
I then clicked inside the child value box for one of the units (I was intending to use ctl-v to paste the text then modify it)
But I ended up getting an exception as soon as I clicked in the child values box.

I sent an email Friday - but so it doesn't get lost / we have it here also / we remember to test this when this item goes for testing: It appears this may need some further work to get it to work with parent child. I was working on a separate CSM item (2026-002 When parens are inside a parent / child, printing a double parens) and didn’t realize but the RO Editor I had compiled was the C2022-003 code (I had pulled it down locally to do my code review because the number of changes in the ROEditor.cs file were too large so it was having trouble comparing in the website.) Anyway, for one of the Setpoints with parent child – I clicked inside the Setpoint box, pressed ctrl-a then ctrl-c I then clicked inside the child value box for one of the units (I was intending to use ctl-v to paste the text then modify it) But I ended up getting an exception as soon as I clicked in the child values box.
plarsen added 1 commit 2026-01-12 13:35:17 -05:00
@@ -2154,3 +2156,3 @@
s2 = s2.Replace(@"\u160?", "<HSP>"); // convert hard spaces bug fix: B2016-206
s2 = s2.Replace(@"\", @"\u9586?"); // convert backslashes to a backslash symbol
s2 = s2.Replace(@"\(?!u)", @"\u9586?"); // convert backslashes to a backslash symbol
Member

see previous comment regarding:

	// replace backslashes not followed by a u with \u9586?
	s2 = Regex.Replace(s2, @"\\(?!u)", @"\u9586?"); 

note that a String.Replace and a Regex.Replace are different / work differently.

You can't do the same negative lookahead or pattern matching with a String.Replace that you can with a Regex

see previous comment regarding: // replace backslashes not followed by a u with \u9586? s2 = Regex.Replace(s2, @"\\(?!u)", @"\u9586?"); note that a String.Replace and a Regex.Replace are different / work differently. You can't do the same negative lookahead or pattern matching with a String.Replace that you can with a Regex
mschill marked this conversation as resolved
plarsen added 1 commit 2026-01-12 16:26:58 -05:00
plarsen added 1 commit 2026-01-13 11:44:50 -05:00
@@ -1932,0 +2028,4 @@
set { _DisplaySymBolBtn = value; }
}
}
//public static class RichTextBoxExtensions // RO Editor add symbols C2022 - 003
Owner

please remove the commented out code

please remove the commented out code
Author
Member

Commented out code has been removed.

Commented out code has been removed.
plarsen added 1 commit 2026-01-13 15:24:20 -05:00
plarsen added 1 commit 2026-01-14 07:02:34 -05:00
mschill requested changes 2026-01-14 07:13:24 -05:00
Dismissed
mschill left a comment
Member

Looks like only 2 items remain. 1 major, 1 minor.

major item:

See email I sent last Friday with screenshot & full info - "Anyway, for one of the Setpoints with parent child – I clicked inside the Setpoint box, pressed ctrl-a then ctrl-c
I then clicked inside the child value box for one of the units (I was intending to use ctl-v to paste the text then modify it)
But I ended up getting an exception as soon as I clicked in the child values box."

minor item:

ROEditor.cs: Spacing / code format changes - unnecessary changes to this makes future changes/bug fixing more difficult

Looks like only 2 items remain. 1 major, 1 minor. **major item:** See email I sent last Friday with screenshot & full info - "Anyway, for one of the Setpoints with parent child – I clicked inside the Setpoint box, pressed ctrl-a then ctrl-c I then clicked inside the child value box for one of the units (I was intending to use ctl-v to paste the text then modify it) But I ended up getting an exception as soon as I clicked in the child values box." **minor item:** ROEditor.cs: Spacing / code format changes - unnecessary changes to this makes future changes/bug fixing more difficult
Member

I believe the major issue is related to - if you search ctlXMLEdit.cs -- you will notice a number of places where Textboxes are being used instead of your new RoRichTextBox and I believe it can't cast one object to the other.

This especially comes up in methods tied to events where there are several with
sender as TextBox
or
(TextBox) sender

I believe the major issue is related to - if you search ctlXMLEdit.cs -- you will notice a number of places where Textboxes are being used instead of your new RoRichTextBox and I believe it can't cast one object to the other. This especially comes up in methods tied to events where there are several with sender as TextBox or (TextBox) sender
plarsen added 1 commit 2026-01-14 08:44:13 -05:00
mschill requested changes 2026-01-14 09:26:16 -05:00
Dismissed
mschill left a comment
Member

see question regarding ctlxml edit --- textbox vs RoRichTextbox.

Also found an additional place where commented out code item in ROEditor.cs

As FYI - is minor, but ROEditor.cs still has the save spacing / misrecognized changes issue.

see question regarding ctlxml edit --- textbox vs RoRichTextbox. Also found an additional place where commented out code item in ROEditor.cs As FYI - is minor, but ROEditor.cs still has the save spacing / misrecognized changes issue.
@@ -356,2 +357,3 @@
private TextBox _CurrentTextBox; // currently selected TextBox field
private roRichTextBox _CurrentTextBox; // currently selected TextBox field
public static string[] PCChildren; //C2021-026 list of Parent/Child Children
//private StepTabRibbon _MyStepTabRibbon;
Member

Commented out code?

Commented out code?
Member

still here

still here
Author
Member

Comment removed.

Comment removed.
mschill marked this conversation as resolved
@@ -1214,3 +1282,4 @@
roRichTextBox tb = sender as roRichTextBox;
string dfTxt = "";
try
{
Member

is it possible the objects at lines 1291/1299/1307 (dfTxt = (o as TextBox).Text;) could be RoRichTextboxes and not just Textboxes?

is it possible the objects at lines 1291/1299/1307 (dfTxt = (o as TextBox).Text;) could be RoRichTextboxes and not just Textboxes?
mschill marked this conversation as resolved
plarsen added 1 commit 2026-01-14 13:46:44 -05:00
mschill left a comment
Member

Looks like only remaining items are

  1. the ones with ROEditor.cs
    a. the ones with commented out code
    b. the one with spacing / misrecognized changes

  2. The testing word doc attached --- not seeing anything for testing the parent/child boxes the whole way through to make sure non-default / different unit value items with symbols pull correctly into PROMs / resolve properly. Alsi, not seeing any testing for the image (graphics related) boxes that had changes to their events?

Looks like only remaining items are 1. the ones with ROEditor.cs a. the ones with commented out code b. the one with spacing / misrecognized changes 2. The testing word doc attached --- not seeing anything for testing the parent/child boxes the whole way through to make sure non-default / different unit value items with symbols pull correctly into PROMs / resolve properly. Alsi, not seeing any testing for the image (graphics related) boxes that had changes to their events?
plarsen added 1 commit 2026-01-14 16:39:17 -05:00
plarsen added 2 commits 2026-01-28 14:45:28 -05:00
mschill left a comment
Member

looks like the only original item still outstanding is minor:
the one with ROEditor.cs with spacing / misrecognized changes

There were a couple new items found though with the latest added code:

  • several places strings are being looped through character by character
  • several places with commented out code
  • several places where comments appear related to other code / were likely copy/pasted from other code and not re-written to apply to the RO Editor.
looks like the only original item still outstanding is minor: the one with ROEditor.cs with spacing / misrecognized changes There were a couple new items found though with the latest added code: * several places strings are being looped through character by character * several places with commented out code * several places where comments appear related to other code / were likely copy/pasted from other code and not re-written to apply to the RO Editor.
@@ -589,0 +598,4 @@
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
string clpBrd = Clipboard.GetText();
char[] chrAry = clpBrd.ToCharArray();
Member

Looping through each character in a string is likely to be time consuming and heavy processing

could use LINQ instead: clpBrd.Any(c => c > 166);

Looping through each character in a string is likely to be time consuming and heavy processing could use LINQ instead: clpBrd.Any(c => c > 166);
mschill marked this conversation as resolved
@@ -319,0 +322,4 @@
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
string clpBrd = Clipboard.GetText();
char[] chrAry = clpBrd.ToCharArray();
Member

Looping through each character in a string is likely to be time consuming and heavy processing

could use LINQ instead: clpBrd.Any(c => c > 166);

Looping through each character in a string is likely to be time consuming and heavy processing could use LINQ instead: clpBrd.Any(c => c > 166);
mschill marked this conversation as resolved
@@ -280,0 +284,4 @@
{
string clpBrd = Clipboard.GetText();
char[] chrAry = clpBrd.ToCharArray();
foreach (int chr in chrAry)
Member

Looping through each character in a string is likely to be time consuming and heavy processing

could use LINQ instead: clpBrd.Any(c => c > 166);

Looping through each character in a string is likely to be time consuming and heavy processing could use LINQ instead: clpBrd.Any(c => c > 166);
mschill marked this conversation as resolved
@@ -424,0 +428,4 @@
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
string clpBrd = Clipboard.GetText();
char[] chrAry = clpBrd.ToCharArray();
Member

Looping through each character in a string is likely to be time consuming and heavy processing

could use LINQ instead: clpBrd.Any(c => c > 166);

Looping through each character in a string is likely to be time consuming and heavy processing could use LINQ instead: clpBrd.Any(c => c > 166);
mschill marked this conversation as resolved
@@ -1314,0 +1317,4 @@
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
string clpBrd = Clipboard.GetText();
char[] chrAry = clpBrd.ToCharArray();
Member

Looping through each character in a string is likely to be time consuming and heavy processing

could use LINQ instead: clpBrd.Any(c => c > 166);

Looping through each character in a string is likely to be time consuming and heavy processing could use LINQ instead: clpBrd.Any(c => c > 166);
mschill marked this conversation as resolved
@@ -1929,5 +2016,60 @@ namespace ctlXMLEditLib
return curTZ.GetDaylightChanges(year);
}
}
//private static void AddFontTable(StringBuilder selectedRtfSB, Font myFont, bool isFixed)
Member

Should not include commented out code.

Should not include commented out code.
mschill marked this conversation as resolved
@@ -0,0 +22,4 @@
{
get
{
//B2020-100 RHM Use SelectionFont rather than the font from the format file.
Member

not sure this comment should be here since this is new code and doesn't seam related to SelectionFont?

not sure this comment should be here since this is new code and doesn't seam related to SelectionFont?
Member

Comment still here?

Comment still here?
@@ -0,0 +47,4 @@
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
string clpBrd = Clipboard.GetText();
char[] chrAry = clpBrd.ToCharArray();
Member

Looping through each character in a string is likely to be time consuming and heavy processing

could use LINQ instead: clpBrd.Any(c => c > 166);

Looping through each character in a string is likely to be time consuming and heavy processing could use LINQ instead: clpBrd.Any(c => c > 166);
mschill marked this conversation as resolved
@@ -0,0 +89,4 @@
}
selectedRtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + myFont.FontFamily.Name + @";}");
if (!isFixed)
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // C2017-036 get best available proportional font for symbols - B2025-039 add Blue for Colored Replace Words
Member

believe these comments may need rewritten as this is technically new code and replace words should not come into play in RO Editor.

believe these comments may need rewritten as this is technically new code and replace words should not come into play in RO Editor.
mschill marked this conversation as resolved
@@ -0,0 +91,4 @@
if (!isFixed)
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // C2017-036 get best available proportional font for symbols - B2025-039 add Blue for Colored Replace Words
else
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 FreeMono;}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
Member

believe these comments may need rewritten as this is technically new code and this seems to reference PROMS functionality instead of RO Editor functionality..

believe these comments may need rewritten as this is technically new code and this seems to reference PROMS functionality instead of RO Editor functionality..
mschill marked this conversation as resolved
@@ -0,0 +93,4 @@
else
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 FreeMono;}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
selectedRtfSB.Append("\r\n");
// use styles to construct rtf commands to insert into next line (where \b, etc is)
Member

same with comment

same with comment
mschill marked this conversation as resolved
@@ -723,6 +723,7 @@ namespace Volian.Controls.Library
}
}
}
Member

One side question --- not sure so figured I would check --- why are there changes to StepTabRibbon (StepTabRibbon.cs, StepTabRibbon.designer.cs, StepTabRibbon.resx)?

Just wanted to check since this is used by PROMS and there shouldn't have been any changes to PROMS ribbon (I believe RO Editor is using DevComponents.DotNetBar.RibbonControl)?

One side question --- not sure so figured I would check --- why are there changes to StepTabRibbon (StepTabRibbon.cs, StepTabRibbon.designer.cs, StepTabRibbon.resx)? Just wanted to check since this is used by PROMS and there shouldn't have been any changes to PROMS ribbon (I believe RO Editor is using DevComponents.DotNetBar.RibbonControl)?
Owner

I think these differences are from debugging to see how the PROMS editor handled inserting a symbol character.
suggest restoring to the development version of the StepTabRibbon files

I think these differences are from debugging to see how the PROMS editor handled inserting a symbol character. suggest restoring to the development version of the StepTabRibbon files
Member

Still valid - StepTabRibbon.cs was changed back but StepTabRibbon.designer.cs & StepTabRibbon.resx were not.

Still valid - StepTabRibbon.cs was changed back but StepTabRibbon.designer.cs & StepTabRibbon.resx were not.
plarsen added 1 commit 2026-01-29 19:36:14 -05:00
mschill left a comment
Member

Branch needs updated as it is out of date with the development branch.

Also, StepTabRibbon.cs was changed back but StepTabRibbon.designer.cs & StepTabRibbon.resx were not.

A few minor items like:

  • string concatenation vs formatting
  • spacing issues
  • a comment needing updated/fixed in RORichTextBox.cs
Branch needs updated as it is out of date with the development branch. Also, StepTabRibbon.cs was changed back but StepTabRibbon.designer.cs & StepTabRibbon.resx were not. A few minor items like: - string concatenation vs formatting - spacing issues - a comment needing updated/fixed in RORichTextBox.cs
@@ -97,3 +98,3 @@
private System.Windows.Forms.Label lblW3;
private System.Windows.Forms.Label lblW4;
private System.Windows.Forms.TextBox tbSingleTxtWid;
private System.Windows.Forms.TextBox tbSingleTxtWid;
Member

this line (line 100), 104, 223, & 227 are examples of what I was referring to with changes changing spacing / format.

this line (line 100), 104, 223, & 227 are examples of what I was referring to with changes changing spacing / format.
@@ -589,0 +600,4 @@
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Member

minor thing but concatenating together string like this takes memory - would recommend using

$"Symbols are not allowed in the field. Clipbroad: {clpBrd}"
or string.format

minor thing but concatenating together string like this takes memory - would recommend using $"Symbols are not allowed in the field. Clipbroad: {clpBrd}" or string.format
@@ -319,0 +327,4 @@
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Member

minor thing but concatenating together string like this takes memory - would recommend using

$"Symbols are not allowed in the field. Clipbroad: {clpBrd}"
or string.format

minor thing but concatenating together string like this takes memory - would recommend using $"Symbols are not allowed in the field. Clipbroad: {clpBrd}" or string.format
@@ -280,0 +288,4 @@
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Member

minor thing but concatenating together string like this takes memory - would recommend using

$"Symbols are not allowed in the field. Clipbroad: {clpBrd}"
or string.format

minor thing but concatenating together string like this takes memory - would recommend using $"Symbols are not allowed in the field. Clipbroad: {clpBrd}" or string.format
@@ -424,0 +432,4 @@
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Member

minor thing but concatenating together string like this takes memory - would recommend using

$"Symbols are not allowed in the field. Clipbroad: {clpBrd}"
or string.format

minor thing but concatenating together string like this takes memory - would recommend using $"Symbols are not allowed in the field. Clipbroad: {clpBrd}" or string.format
@@ -1314,0 +1322,4 @@
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Member

minor thing but concatenating together string like this takes memory - would recommend using

$"Symbols are not allowed in the field. Clipbroad: {clpBrd}"
or string.format

minor thing but concatenating together string like this takes memory - would recommend using $"Symbols are not allowed in the field. Clipbroad: {clpBrd}" or string.format
@@ -0,0 +49,4 @@
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Member

minor thing but concatenating together string like this takes memory - would recommend using

$"Symbols are not allowed in the field. Clipbroad: {clpBrd}"
or string.format

minor thing but concatenating together string like this takes memory - would recommend using $"Symbols are not allowed in the field. Clipbroad: {clpBrd}" or string.format
mschill added 1 commit 2026-01-30 14:39:29 -05:00
Author
Member

Will send another pull request.

Will send another pull request.
plarsen closed this pull request 2026-01-30 14:54:39 -05:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Volian/SourceCode#676