From ccca044a5826cea77685a5699700f121bc4c68fa Mon Sep 17 00:00:00 2001
From: JamesJCode <13408010-JamesJCode@users.noreply.gitlab.com>
Date: Fri, 10 Jan 2025 11:26:43 +0000
Subject: [PATCH] Multichannel: Reserve hidden strings, re-order placement
 options

---
 .../dialog_multichannel_repeat_layout.fbp     | 132 +++++++++---------
 ...dialog_multichannel_repeat_layout_base.cpp |  12 +-
 .../dialog_multichannel_repeat_layout_base.h  |   2 +-
 3 files changed, 73 insertions(+), 73 deletions(-)

diff --git a/pcbnew/dialogs/dialog_multichannel_repeat_layout.fbp b/pcbnew/dialogs/dialog_multichannel_repeat_layout.fbp
index 22db66d610..73980a7c94 100644
--- a/pcbnew/dialogs/dialog_multichannel_repeat_layout.fbp
+++ b/pcbnew/dialogs/dialog_multichannel_repeat_layout.fbp
@@ -572,6 +572,71 @@
                     <property name="window_style"></property>
                   </object>
                 </object>
+                <object class="sizeritem" expanded="true">
+                  <property name="border">5</property>
+                  <property name="flag">wxALL</property>
+                  <property name="proportion">0</property>
+                  <object class="wxCheckBox" expanded="true">
+                    <property name="BottomDockable">1</property>
+                    <property name="LeftDockable">1</property>
+                    <property name="RightDockable">1</property>
+                    <property name="TopDockable">1</property>
+                    <property name="aui_layer">0</property>
+                    <property name="aui_name"></property>
+                    <property name="aui_position">0</property>
+                    <property name="aui_row">0</property>
+                    <property name="best_size"></property>
+                    <property name="bg"></property>
+                    <property name="caption"></property>
+                    <property name="caption_visible">1</property>
+                    <property name="center_pane">0</property>
+                    <property name="checked">0</property>
+                    <property name="close_button">1</property>
+                    <property name="context_help"></property>
+                    <property name="context_menu">1</property>
+                    <property name="default_pane">0</property>
+                    <property name="dock">Dock</property>
+                    <property name="dock_fixed">0</property>
+                    <property name="docking">Left</property>
+                    <property name="drag_accept_files">0</property>
+                    <property name="enabled">1</property>
+                    <property name="fg"></property>
+                    <property name="floatable">1</property>
+                    <property name="font"></property>
+                    <property name="gripper">0</property>
+                    <property name="hidden">1</property>
+                    <property name="id">wxID_ANY</property>
+                    <property name="label">Include footprints outside the reference rule area</property>
+                    <property name="max_size"></property>
+                    <property name="maximize_button">0</property>
+                    <property name="maximum_size"></property>
+                    <property name="min_size"></property>
+                    <property name="minimize_button">0</property>
+                    <property name="minimum_size"></property>
+                    <property name="moveable">1</property>
+                    <property name="name">m_cbIncludeOffRAComponents</property>
+                    <property name="pane_border">1</property>
+                    <property name="pane_position"></property>
+                    <property name="pane_size"></property>
+                    <property name="permission">protected</property>
+                    <property name="pin_button">1</property>
+                    <property name="pos"></property>
+                    <property name="resize">Resizable</property>
+                    <property name="show">1</property>
+                    <property name="size"></property>
+                    <property name="style"></property>
+                    <property name="subclass">; ; forward_declare</property>
+                    <property name="toolbar_pane">0</property>
+                    <property name="tooltip"></property>
+                    <property name="validator_data_type"></property>
+                    <property name="validator_style">wxFILTER_NONE</property>
+                    <property name="validator_type">wxDefaultValidator</property>
+                    <property name="validator_variable"></property>
+                    <property name="window_extra_style"></property>
+                    <property name="window_name"></property>
+                    <property name="window_style"></property>
+                  </object>
+                </object>
                 <object class="sizeritem" expanded="false">
                   <property name="border">5</property>
                   <property name="flag">wxALL</property>
@@ -606,7 +671,7 @@
                     <property name="gripper">0</property>
                     <property name="hidden">0</property>
                     <property name="id">wxID_ANY</property>
-                    <property name="label">Group items with their placement rule areas</property>
+                    <property name="label">Group items with their target rule areas</property>
                     <property name="max_size"></property>
                     <property name="maximize_button">0</property>
                     <property name="maximum_size"></property>
@@ -702,71 +767,6 @@
                     <property name="window_style"></property>
                   </object>
                 </object>
-                <object class="sizeritem" expanded="true">
-                  <property name="border">5</property>
-                  <property name="flag">wxALL</property>
-                  <property name="proportion">0</property>
-                  <object class="wxCheckBox" expanded="true">
-                    <property name="BottomDockable">1</property>
-                    <property name="LeftDockable">1</property>
-                    <property name="RightDockable">1</property>
-                    <property name="TopDockable">1</property>
-                    <property name="aui_layer">0</property>
-                    <property name="aui_name"></property>
-                    <property name="aui_position">0</property>
-                    <property name="aui_row">0</property>
-                    <property name="best_size"></property>
-                    <property name="bg"></property>
-                    <property name="caption"></property>
-                    <property name="caption_visible">1</property>
-                    <property name="center_pane">0</property>
-                    <property name="checked">0</property>
-                    <property name="close_button">1</property>
-                    <property name="context_help"></property>
-                    <property name="context_menu">1</property>
-                    <property name="default_pane">0</property>
-                    <property name="dock">Dock</property>
-                    <property name="dock_fixed">0</property>
-                    <property name="docking">Left</property>
-                    <property name="drag_accept_files">0</property>
-                    <property name="enabled">1</property>
-                    <property name="fg"></property>
-                    <property name="floatable">1</property>
-                    <property name="font"></property>
-                    <property name="gripper">0</property>
-                    <property name="hidden">1</property>
-                    <property name="id">wxID_ANY</property>
-                    <property name="label">Include components outside the target area</property>
-                    <property name="max_size"></property>
-                    <property name="maximize_button">0</property>
-                    <property name="maximum_size"></property>
-                    <property name="min_size"></property>
-                    <property name="minimize_button">0</property>
-                    <property name="minimum_size"></property>
-                    <property name="moveable">1</property>
-                    <property name="name">m_cbIncludeOffRAComponents</property>
-                    <property name="pane_border">1</property>
-                    <property name="pane_position"></property>
-                    <property name="pane_size"></property>
-                    <property name="permission">protected</property>
-                    <property name="pin_button">1</property>
-                    <property name="pos"></property>
-                    <property name="resize">Resizable</property>
-                    <property name="show">1</property>
-                    <property name="size"></property>
-                    <property name="style"></property>
-                    <property name="subclass">; ; forward_declare</property>
-                    <property name="toolbar_pane">0</property>
-                    <property name="tooltip"></property>
-                    <property name="validator_data_type"></property>
-                    <property name="validator_style">wxFILTER_NONE</property>
-                    <property name="validator_type">wxDefaultValidator</property>
-                    <property name="validator_variable"></property>
-                    <property name="window_extra_style"></property>
-                    <property name="window_name"></property>
-                    <property name="window_style"></property>
-                  </object>
-                </object>
               </object>
             </object>
             <object class="sizeritem" expanded="false">
diff --git a/pcbnew/dialogs/dialog_multichannel_repeat_layout_base.cpp b/pcbnew/dialogs/dialog_multichannel_repeat_layout_base.cpp
index e201f594a8..a82324b3b7 100644
--- a/pcbnew/dialogs/dialog_multichannel_repeat_layout_base.cpp
+++ b/pcbnew/dialogs/dialog_multichannel_repeat_layout_base.cpp
@@ -85,17 +85,17 @@ DIALOG_MULTICHANNEL_REPEAT_LAYOUT_BASE::DIALOG_MULTICHANNEL_REPEAT_LAYOUT_BASE(
 
 	bSizer13->Add( m_cbCopyOtherItems, 0, wxALL, 5 );
 
-	m_cbGroupItems = new wxCheckBox( this, wxID_ANY, _("Group items with their placement rule areas"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_cbIncludeOffRAComponents = new wxCheckBox( this, wxID_ANY, _("Include footprints outside the reference rule area"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_cbIncludeOffRAComponents->Hide();
+
+	bSizer13->Add( m_cbIncludeOffRAComponents, 0, wxALL, 5 );
+
+	m_cbGroupItems = new wxCheckBox( this, wxID_ANY, _("Group items with their target rule areas"), wxDefaultPosition, wxDefaultSize, 0 );
 	bSizer13->Add( m_cbGroupItems, 0, wxALL, 5 );
 
 	m_cbIncludeLockedComponents = new wxCheckBox( this, wxID_ANY, _("Remove locked items from target rule areas"), wxDefaultPosition, wxDefaultSize, 0 );
 	bSizer13->Add( m_cbIncludeLockedComponents, 0, wxALL, 5 );
 
-	m_cbIncludeOffRAComponents = new wxCheckBox( this, wxID_ANY, _("Include components outside the target area"), wxDefaultPosition, wxDefaultSize, 0 );
-	m_cbIncludeOffRAComponents->Hide();
-
-	bSizer13->Add( m_cbIncludeOffRAComponents, 0, wxALL, 5 );
-
 
 	fgSizer3->Add( bSizer13, 1, wxEXPAND, 5 );
 
diff --git a/pcbnew/dialogs/dialog_multichannel_repeat_layout_base.h b/pcbnew/dialogs/dialog_multichannel_repeat_layout_base.h
index 48f8a00170..4e01168cfd 100644
--- a/pcbnew/dialogs/dialog_multichannel_repeat_layout_base.h
+++ b/pcbnew/dialogs/dialog_multichannel_repeat_layout_base.h
@@ -41,9 +41,9 @@ class DIALOG_MULTICHANNEL_REPEAT_LAYOUT_BASE : public DIALOG_SHIM
 		wxCheckBox* m_cbCopyPlacement;
 		wxCheckBox* m_cbCopyRouting;
 		wxCheckBox* m_cbCopyOtherItems;
+		wxCheckBox* m_cbIncludeOffRAComponents;
 		wxCheckBox* m_cbGroupItems;
 		wxCheckBox* m_cbIncludeLockedComponents;
-		wxCheckBox* m_cbIncludeOffRAComponents;
 		wxStdDialogButtonSizer* m_sdbSizerStdButtons;
 		wxButton* m_sdbSizerStdButtonsOK;
 		wxButton* m_sdbSizerStdButtonsCancel;