# app/ui/control_tab.py from PySide6.QtWidgets import ( QGroupBox, QHBoxLayout, QLabel, QPushButton, QTextEdit, QVBoxLayout, QWidget, ) class ControlTab(QWidget): def __init__(self, parent=None): super().__init__(parent) self._init_ui() def _init_ui(self): layout = QVBoxLayout(self) # Server Control Group server_group = QGroupBox("Estado del Servidor LLM Local (llama.cpp / Gemma 4)", self) server_layout = QHBoxLayout(server_group) self.status_label = QLabel("Estado: Detenido (Stopped)", self) self.btn_toggle_server = QPushButton("Iniciar Servidor", self) server_layout.addWidget(self.status_label) server_layout.addWidget(self.btn_toggle_server) layout.addWidget(server_group) # Log Output Viewer log_group = QGroupBox("Registros del Sistema (System Logs)", self) log_layout = QVBoxLayout(log_group) self.log_viewer = QTextEdit(self) self.log_viewer.setReadOnly(True) self.log_viewer.append("[SYSTEM] Entorno PySide6 inicializado correctamente.") self.log_viewer.append("[SYSTEM] Esperando conexión con base de datos SQLite...") log_layout.addWidget(self.log_viewer) layout.addWidget(log_group)