#!/usr/bin/env python3 """Test the darker header text for Arc theme.""" # ruff: noqa: E402 #!/usr/bin/env python3 """Test the darker header text for Arc theme.""" import sys import tkinter as tk from pathlib import Path from tkinter import ttk # Ensure the 'src' directory is on sys.path so 'thechart' package is importable SRC_DIR = Path(__file__).resolve().parent.parent / "src" if str(SRC_DIR) not in sys.path: sys.path.insert(0, str(SRC_DIR)) from thechart.core.constants import LOG_LEVEL from thechart.core.logger import init_logger from thechart.ui import ThemeManager logger = init_logger(__name__, testing_mode=(LOG_LEVEL == "DEBUG")) def test_arc_darker_headers(): """Test the darker header text for Arc theme.""" print("Testing darker header text for Arc theme...") root = tk.Tk() root.title("Arc Theme Darker Headers Test") root.geometry("600x400") # Initialize theme manager theme_manager = ThemeManager(root, logger) # Apply Arc theme success = theme_manager.apply_theme("arc") print(f"Arc theme applied: {success}") # Get colors for Arc theme colors = theme_manager.get_theme_colors() header_colors = theme_manager._get_contrasting_colors(colors) print("Arc theme colors:") print(f" Base BG: {colors['bg']}, FG: {colors['fg']}") print( f" Header BG: {header_colors['header_bg']}, FG: {header_colors['header_fg']}" ) # Create a test treeview with headers frame = ttk.Frame(root) frame.pack(fill="both", expand=True, padx=20, pady=20) # Create treeview with Modern.Treeview style tree = ttk.Treeview( frame, columns=("col1", "col2", "col3"), show="headings", style="Modern.Treeview", ) # Configure headers tree.heading("col1", text="Date") tree.heading("col2", text="Medicine") tree.heading("col3", text="Notes") # Configure columns tree.column("col1", width=120, anchor="center") tree.column("col2", width=150, anchor="center") tree.column("col3", width=300, anchor="w") # Add some sample data tree.insert("", "end", values=("2025-08-05", "Aspirin", "Morning dose")) tree.insert("", "end", values=("2025-08-06", "Vitamin D", "With breakfast")) tree.insert("", "end", values=("2025-08-07", "Fish Oil", "Evening dose")) tree.pack(fill="both", expand=True) # Add info label info_text = ( f"Arc Theme Headers: {header_colors['header_bg']} background / " f"{header_colors['header_fg']} text (should be darker than before)" ) info_label = ttk.Label(root, text=info_text) info_label.pack(pady=10) print("\nArc theme test window created.") print("Check if table headers now have darker text.") print("Close the window when done testing.") root.mainloop() if __name__ == "__main__": test_arc_darker_headers()