diff --git a/doc/changelog.d/6836.fixed.md b/doc/changelog.d/6836.fixed.md new file mode 100644 index 00000000000..9b724195151 --- /dev/null +++ b/doc/changelog.d/6836.fixed.md @@ -0,0 +1 @@ +Fixed blue checkboxes issue diff --git a/src/ansys/aedt/core/extensions/hfss3dlayout/resources/configure_layout/master_ui.py b/src/ansys/aedt/core/extensions/hfss3dlayout/resources/configure_layout/master_ui.py index 3631d897d52..21fd5dc1432 100644 --- a/src/ansys/aedt/core/extensions/hfss3dlayout/resources/configure_layout/master_ui.py +++ b/src/ansys/aedt/core/extensions/hfss3dlayout/resources/configure_layout/master_ui.py @@ -91,6 +91,7 @@ def __init__(self, withdraw: bool = False): port=get_port(), version=get_aedt_version(), aedt_process_id=get_process_id(), student_version=is_student() ) self.export_options = ExportOptions() + self.export_option_vars = {} super().__init__( self.EXTENSION_TITLE, diff --git a/src/ansys/aedt/core/extensions/hfss3dlayout/resources/configure_layout/tab_main.py b/src/ansys/aedt/core/extensions/hfss3dlayout/resources/configure_layout/tab_main.py index 90d76ebcc53..e578cfec34d 100644 --- a/src/ansys/aedt/core/extensions/hfss3dlayout/resources/configure_layout/tab_main.py +++ b/src/ansys/aedt/core/extensions/hfss3dlayout/resources/configure_layout/tab_main.py @@ -108,14 +108,18 @@ def create_sub_frame1(parent, master): row = row + 1 options = master.export_options.model_dump() + + # Initialize checkbox variables if not already created + if not master.export_option_vars: + for name in options: + master.export_option_vars[name] = tk.BooleanVar(master=master.root, value=options[name]) + for idx, name in enumerate(options): col = idx % 2 - chk = ttk.Checkbutton(parent, name=name, text=name, style="PyAEDT.TCheckbutton") - chk.grid(row=row, column=col, **{"sticky": "nsew"}) - if options[name]: - chk.state(["selected"]) - else: - chk.state(["!selected"]) + chk = ttk.Checkbutton( + parent, name=name, text=name, variable=master.export_option_vars[name], style="PyAEDT.TCheckbutton" + ) + chk.grid(row=row, column=col, padx=5, pady=2, sticky="w") row = row if col == 0 else row + 1 @@ -174,8 +178,5 @@ def callback_export(master): def update_options(master): """Update export options based on the selected checkboxes.""" - options = master.export_options.model_dump() - for name in options: - chk = master.root.nametowidget(f".notebook.main.frame1.{name}") - flag = True if chk.instate(["selected"]) else False - setattr(master.export_options, name, flag) + for name, var in master.export_option_vars.items(): + setattr(master.export_options, name, var.get())