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
Owner

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
Owner

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;
Owner

remove commented out code

remove commented out code
Author
Owner

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;
Owner

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
Owner

Removed

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

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
Owner

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

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

still outstanding?

still outstanding?
Owner

still outstanding

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

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
Owner

I removed function

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

Remove commented out code,

Remove commented out code,
Author
Owner

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();
Owner

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
Owner

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
Owner

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
Owner

These lines have been removed.

These lines have been removed.
Owner

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?
Owner

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?
Owner

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);
Owner

remove commented out code

remove commented out code
Author
Owner

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
Owner

remove commented out code

remove commented out code
Author
Owner

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);
Owner

remove commented out code

remove commented out code
Owner

//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
Owner

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);
Owner

remove commented out code

remove commented out code
Author
Owner

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)
Owner

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
Owner

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)
Owner

remove commented out code

remove commented out code
Author
Owner

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
Owner

Remove commented out code

Remove commented out code
Owner

This appears to still be in there.

This appears to still be in there.
Owner

Still in there - now line 3453/4.

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

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">
Owner

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.
Owner

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}"
Owner

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
Owner

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
Owner

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
Owner

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.
Owner

Looks good now.

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

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
Owner

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
Owner

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
Owner

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;
Owner

Remove commented out code

Remove commented out code
Author
Owner

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
Owner

Remove commented out code

Remove commented out code
Author
Owner

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)
Owner

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
Owner

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

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

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/
Owner

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");
Owner

Remove commented out code

Remove commented out code
Author
Owner

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
Owner

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
Owner

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)
Owner

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
Owner

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)
Owner

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
Owner

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)
Owner

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
Owner

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.
Owner

Remove commented out code

Remove commented out code
Author
Owner

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
Owner

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.
Owner

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
Owner

Remove commented out code

Remove commented out code
Author
Owner

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">
Owner

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
Owner

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
Owner

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
Owner

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.
Owner

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,
Owner

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.
Owner

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;
Owner

what is this needed for?

what is this needed for?
Author
Owner

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.
Owner

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;
Owner

what is this needed for?

what is this needed for?
Author
Owner

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.
Owner

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;
Owner

what is this needed for?

what is this needed for?
Author
Owner

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()
Owner

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
Owner

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
Owner

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.
jjenko reviewed 2026-01-02 11:31:32 -05:00
@@ -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)
Owner

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?
jjenko reviewed 2026-01-02 11:35:25 -05:00
@@ -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 requested changes 2026-01-02 11:49:34 -05:00
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
Owner

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.
jjenko reviewed 2026-01-06 14:47:12 -05:00
@@ -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.
jjenko reviewed 2026-01-06 15:01:40 -05:00
@@ -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.
Owner

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
mschill reviewed 2026-01-12 13:53:40 -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
Owner

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
jjenko reviewed 2026-01-13 14:27:05 -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
Owner

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
Owner

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
Owner

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
Owner

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;
Owner

Commented out code?

Commented out code?
Owner

still here

still here
Author
Owner

Comment removed.

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

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 requested changes 2026-01-14 15:54:00 -05:00
mschill left a comment
Owner

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 requested changes 2026-01-28 16:03:53 -05:00
mschill left a comment
Owner

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();
Owner

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();
Owner

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)
Owner

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();
Owner

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();
Owner

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)
Owner

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.
Owner

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?
Owner

Comment still here?

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

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
Owner

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
Owner

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)
Owner

same with comment

same with comment
mschill marked this conversation as resolved
mschill reviewed 2026-01-29 09:21:18 -05:00
@@ -723,6 +723,7 @@ namespace Volian.Controls.Library
}
}
}
Owner

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
Owner

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 requested changes 2026-01-30 06:45:00 -05:00
mschill left a comment
Owner

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;
Owner

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 + "'");
Owner

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 + "'");
Owner

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 + "'");
Owner

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 + "'");
Owner

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 + "'");
Owner

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 + "'");
Owner

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
Owner

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

Sign in to join this conversation.
No Reviewers
No Label
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Volian/SourceCode#676