This commit is contained in:
2026-01-20 20:54:36 +01:00
parent a174c7f200
commit 133a0d3e0f

View File

@@ -13,6 +13,7 @@ class XMLExtractorApp:
self.input_file = None
self.tree = None
self.additional_fields = {}
self.popup_window = None
# Define which fields to show for each kind
self.kind_fields_map = {
@@ -147,7 +148,7 @@ class XMLExtractorApp:
# Additional fields button
additional_btn = tk.Button(self.root, text="Additional Fields",
command=self.open_additional_fields,
command=self.toggle_additional_fields,
font=("Arial", 10),
bg="#2196F3", fg="white",
padx=15, pady=8)
@@ -166,6 +167,15 @@ class XMLExtractorApp:
font=("Arial", 9), fg="blue")
self.status_label.pack(pady=5)
def toggle_additional_fields(self):
# If popup exists and is open, close it
if self.popup_window and self.popup_window.winfo_exists():
self.popup_window.destroy()
self.popup_window = None
else:
# Otherwise open it
self.open_additional_fields()
def open_additional_fields(self):
# Get the selected kind value
selected_display = self.kind_var.get()
@@ -176,10 +186,14 @@ class XMLExtractorApp:
# Create popup window
popup = tk.Toplevel(self.root)
self.popup_window = popup
popup.title("Additional Fields")
popup.geometry("500x600")
popup.resizable(False, False)
# Handle window close event
popup.protocol("WM_DELETE_WINDOW", lambda: self.close_popup(popup))
# Title
title = tk.Label(popup, text=f"Additional Fields - {selected_display}",
font=("Arial", 14, "bold"))
@@ -276,9 +290,13 @@ class XMLExtractorApp:
elif field_name in self.additional_fields:
del self.additional_fields[field_name]
popup.destroy()
self.close_popup(popup)
self.status_label.config(text="Additional fields saved", fg="green")
def close_popup(self, popup):
popup.destroy()
self.popup_window = None
def browse_file(self):
filename = filedialog.askopenfilename(
title="Select LXXPLOT File",