2026-07-23 13:16:03 +00:00
|
|
|
|
|
|
|
|
# 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: <b>Detenido (Stopped)</b>", 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)
|