From 5d92f725984a3e5ae8000e3763befa4c6fc0edc1 Mon Sep 17 00:00:00 2001 From: mikael-lovqvists-claude-agent Date: Fri, 27 Mar 2026 19:53:44 +0000 Subject: [PATCH] Fix ref list not updating when hierarchical checkbox is toggled Co-Authored-By: Claude Sonnet 4.6 --- plugins/layout_replicator/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/layout_replicator/__init__.py b/plugins/layout_replicator/__init__.py index a248160..c91040b 100644 --- a/plugins/layout_replicator/__init__.py +++ b/plugins/layout_replicator/__init__.py @@ -182,6 +182,7 @@ class Layout_Replicator_Dialog(wx.Dialog): self.Centre() self.source_choice.Bind(wx.EVT_CHOICE, lambda e: self._refresh_ref_list()) + self.hierarchical_cb.Bind(wx.EVT_CHECKBOX, lambda e: self._refresh_ref_list()) if sheets: self.source_choice.SetSelection(0) @@ -194,7 +195,12 @@ class Layout_Replicator_Dialog(wx.Dialog): if idx == wx.NOT_FOUND: return sheet = self.source_choice.GetString(idx) - fps = sorted(get_sheet_fps(self.board, sheet), key=lambda f: f.GetReference()) + if self.hierarchical_cb.IsChecked(): + prefix = get_sheet_prefix(self.board, sheet) + fps = get_sheet_fps_hierarchical(self.board, prefix) if prefix else [] + else: + fps = get_sheet_fps(self.board, sheet) + fps = sorted(fps, key=lambda f: f.GetReference()) self._ref_fps = fps for i, fp in enumerate(fps): self.ref_list.InsertItem(i, fp.GetReference())