# -*- coding: utf-8 -*- """ Logger Dock: Real-time system logs display using external TkinterLogger module. """ import tkinter as tk from tkinter import ttk, scrolledtext import logging from pymsc.gui.docking.title_panel import TitlePanel class LoggerDock(TitlePanel): """ Logger dockable panel with scrollable text display. Shows real-time logs from the ARTOS system using external TkinterLogger. """ def __init__(self, parent: tk.Widget, **kwargs): """ Args: parent: Parent widget """ super().__init__(parent, title="System Logger", closable=False, **kwargs) def populate_content(self): """Create the scrollable log text widget.""" # Remove outer padding from the content frame try: self.content_frame.configure(padding=0) except Exception: pass # Always create a new widget in this panel self.log_text = scrolledtext.ScrolledText( self.content_frame, wrap=tk.WORD, height=10, font=('Consolas', 9), bg='#ffffff', fg='#000000' ) self.log_text.pack(fill=tk.BOTH, expand=True, padx=0, pady=0) def get_log_widget(self): """Return the log widget for external handlers to use.""" return self.log_text