B2026-043-Fix-Error-for-Set_At_All_Level-in-the-Applicability-tab-evaluate-having-the-button-grayed-out-for-the-RNO-column-when-clicked-executes-function #765

Owner

B2026-043 Fix Error for Set_At_All_Level button in the Applicability tab evaluates having the button grayed out for the RNO column when-clicked executes function. In the fix I had to move the Set_At_All_Level button above the set of check boxes.

B2026-043 Fix Error for Set_At_All_Level button in the Applicability tab evaluates having the button grayed out for the RNO column when-clicked executes function. In the fix I had to move the Set_At_All_Level button above the set of check boxes.
plarsen self-assigned this 2026-05-05 07:20:49 -04:00
djankowski was assigned by plarsen 2026-05-05 07:20:49 -04:00
jjenko was assigned by plarsen 2026-05-05 07:20:49 -04:00
mschill was assigned by plarsen 2026-05-05 07:20:49 -04:00
mvickers was assigned by plarsen 2026-05-05 07:20:49 -04:00
plarsen added 2 commits 2026-05-05 07:20:50 -04:00
plarsen requested review from jjenko 2026-05-05 07:20:50 -04:00
mschill requested changes 2026-05-05 07:42:27 -04:00
Dismissed
mschill left a comment
Owner

Let me know if any questions.

Mostly just some commented out code that should be cleaned up ---- but could be a small issue with the gpSubItem being dynamically added to gpItem when both are static that could arise if garbage collection happens to occur while running.

Let me know if any questions. Mostly just some commented out code that should be cleaned up ---- but could be a small issue with the gpSubItem being dynamically added to gpItem when both are static that could arise if garbage collection happens to occur while running.
@@ -1,3 +1,4 @@
using System.Drawing;
Owner

Is this using necessary to be added?

Is this using necessary to be added?
Owner

if commenting out , should remove

if commenting out , should remove
@@ -36,2 +37,3 @@
this.gpItem = new DevComponents.DotNetBar.Controls.GroupPanel();
this.btnApplicabilitychg2 = new DevComponents.DotNetBar.ButtonItem();
this.gpSubItem = new DevComponents.DotNetBar.Controls.GroupPanel();
//this.btnApplicabilitychg2 = new DevComponents.DotNetBar.ButtonItem();
Owner

Should not keep commented out code.

Should not keep commented out code.
mschill marked this conversation as resolved
@@ -113,3 +115,3 @@
this.gpItem.Margin = new System.Windows.Forms.Padding(4);
this.gpItem.Name = "gpItem";
this.gpItem.Padding = new System.Windows.Forms.Padding(13, 12, 13, 37);
//this.gpItem.Padding = new System.Windows.Forms.Padding(13, 20, 13, 37);
Owner

Should not keep commented out code.

Should not keep commented out code.
@@ -171,2 +199,3 @@
private DevComponents.DotNetBar.Controls.GroupPanel gpItem;
private DevComponents.DotNetBar.ButtonItem btnApplicabilitychg2;
private DevComponents.DotNetBar.Controls.GroupPanel gpSubItem;
//private DevComponents.DotNetBar.ButtonItem btnApplicabilitychg2;
Owner

Should not keep commented out code.

Should not keep commented out code.
@@ -59,6 +60,8 @@ namespace Volian.Controls.Library
foreach (string name in names)
AddItemMode(name.Trim(), (++i).ToString());
AddItemMode("None", "0");
gpItem.Controls.Add(gpSubItem);
Owner

gpSubItem is a pre-existing control - i.e. it is created in the Designer.
gpItem is also a pre-existing control.

Not sure that these should Adding one to another one like this (like it was a dynamic / built on the fly control) here.

Would be difficult to test for --- but
What happens if gpSubItem gets destroyed / garbage collected and you try to add it to gpItem
unlike dynamic controls (like the checkboxes / buttons created here in the code behind, this is not being dynamically created each time the code behind executes.)?

Thinking it (gpSubItem) should either entirely be created dynamically in the code behind or never removed/re-added from the parent control (gpItem) to avoid any issues with garbage collection....

Also, another possibility ---- instead of adding / removing, is it possible to use properties on gpSubItem like Visible and Enabled?

gpSubItem is a pre-existing control - i.e. it is created in the Designer. gpItem is also a pre-existing control. Not sure that these should Adding one to another one like this (like it was a dynamic / built on the fly control) here. Would be difficult to test for --- but What happens if gpSubItem gets destroyed / garbage collected and you try to add it to gpItem unlike dynamic controls (like the checkboxes / buttons created here in the code behind, this is not being dynamically created each time the code behind executes.)? Thinking it (gpSubItem) should either entirely be created dynamically in the code behind or never removed/re-added from the parent control (gpItem) to avoid any issues with garbage collection.... Also, another possibility ---- instead of adding / removing, is it possible to use properties on gpSubItem like Visible and Enabled?
mschill marked this conversation as resolved
@@ -131,11 +134,17 @@ namespace Volian.Controls.Library
private void AddItemMode(string name, string value)
{
CheckBox cb = new CheckBox();
//cb.BackColor = Color.Beige;
Owner

Should not keep commented out code.

Should not keep commented out code.
@@ -136,3 +143,3 @@
cb.Tag = value;
cb.Dock = DockStyle.Top;
gpItem.Controls.Add(cb);
//cb.Dock = DockStyle.Left;
Owner

Should not keep commented out code.

Should not keep commented out code.
@@ -137,2 +144,3 @@
cb.Dock = DockStyle.Top;
gpItem.Controls.Add(cb);
//cb.Dock = DockStyle.Left;
//gpItem.Controls.Add(cb);
Owner

Should not keep commented out code.

Should not keep commented out code.
plarsen added 2 commits 2026-05-05 22:25:50 -04:00
mschill requested changes 2026-05-06 06:18:49 -04:00
Dismissed
mschill left a comment
Owner

I believe this still has the same issue as before with the gpsubItem being created in the constructor --- i.e. it is statically part of the class and will be created in the constructor and could potentially be garbage collected as it is removed from the control.

Look at
private void AddItemMode(string name, string value)
as an example - how a new Checkbox cb is created and added to the control on the fly.

I would suggest creating and adding the button in a sub procedure that is called right before the line:
AddItemMode("All", "-1");

I believe this still has the same issue as before with the gpsubItem being created in the constructor --- i.e. it is statically part of the class and will be created in the constructor and could potentially be garbage collected as it is removed from the control. Look at private void AddItemMode(string name, string value) as an example - how a new Checkbox cb is created and added to the control on the fly. I would suggest creating and adding the button in a sub procedure that is called right before the line: AddItemMode("All", "-1");
mschill reviewed 2026-05-06 06:20:25 -04:00
@@ -113,3 +110,3 @@
this.gpItem.Margin = new System.Windows.Forms.Padding(4);
this.gpItem.Name = "gpItem";
this.gpItem.Padding = new System.Windows.Forms.Padding(13, 12, 13, 37);
//this.gpItem.Padding = new System.Windows.Forms.Padding(13, 20, 13, 37);
Owner

Should not keep commented out code

Should not keep commented out code
Author
Owner

removed

removed
mschill marked this conversation as resolved
mschill reviewed 2026-05-06 06:20:42 -04:00
@@ -170,3 +168,3 @@
private DevComponents.DotNetBar.Controls.GroupPanel gpMode;
private DevComponents.DotNetBar.Controls.GroupPanel gpItem;
private DevComponents.DotNetBar.ButtonItem btnApplicabilitychg2;
//private DevComponents.DotNetBar.ButtonItem btnApplicabilitychg2;
Owner

should not keep commented out code

should not keep commented out code
Author
Owner

Removed

Removed
mschill marked this conversation as resolved
plarsen added 1 commit 2026-05-06 07:53:20 -04:00
plarsen added 1 commit 2026-05-07 11:27:41 -04:00
plarsen added 1 commit 2026-05-07 11:31:59 -04:00
plarsen added 1 commit 2026-05-07 13:29:00 -04:00
mschill requested changes 2026-05-07 14:42:53 -04:00
Dismissed
mschill left a comment
Owner

overall looks good - just 1 or 2 unused lines to remove.

overall looks good - just 1 or 2 unused lines to remove.
@@ -37,1 +38,3 @@
DocVersionConfig dcfg = _MyDisplayTabItem.MyItemInfo.MyDocVersion.MyConfig as DocVersionConfig;
//B2026-043 Fix "Set All At Level" button.
DevComponents.DotNetBar.Controls.GroupPanel gpSubItem = InitializegpSubItem();
gpSubItem.Controls.Clear();
Owner

just a minor thing - but shouldn't need to clear it since it was just created.

just a minor thing - but shouldn't need to clear it since it was just created.
mschill marked this conversation as resolved
@@ -498,6 +545,7 @@ namespace Volian.Controls.Library
public DisplayApplicability()
{
InitializeComponent();
//InitializegpSubItem(); //B2026-043 Fix "Set All At Level" button.
Owner

should remove commented out code

should remove commented out code
mschill marked this conversation as resolved
plarsen added 1 commit 2026-05-07 14:53:29 -04:00
mschill approved these changes 2026-05-07 14:56:26 -04:00
mschill left a comment
Owner

Looks good to me. Ready for QA.

Looks good to me. Ready for QA.
jjenko approved these changes 2026-05-07 15:07:16 -04:00
jjenko left a comment
Owner

changes look good

changes look good
jjenko merged commit be8bb9c4e1 into Development 2026-05-07 15:07:29 -04:00
Member

2.3.2605.715 tested and works as expected.

2.3.2605.715 tested and works as expected.
Sign in to join this conversation.
No Reviewers
No Label
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Volian/SourceCode#765