Initial commit
This commit is contained in:
113
test_logs_panel_visual.py
Normal file
113
test_logs_panel_visual.py
Normal file
@@ -0,0 +1,113 @@
|
||||
"""
|
||||
Test visuel du LogsPanel - Démontre toutes les fonctionnalités
|
||||
"""
|
||||
|
||||
import sys
|
||||
sys.path.insert(0, 'geniusia2')
|
||||
|
||||
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QPushButton, QHBoxLayout
|
||||
from PyQt5.QtCore import QTimer
|
||||
from gui.logs_panel import LogsPanel
|
||||
|
||||
class TestWindow(QMainWindow):
|
||||
"""Fenêtre de test pour le LogsPanel"""
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.setWindowTitle("Test LogsPanel - Amélioration GUI et Logs")
|
||||
self.setGeometry(100, 100, 500, 600)
|
||||
|
||||
# Widget central
|
||||
central_widget = QWidget()
|
||||
self.setCentralWidget(central_widget)
|
||||
|
||||
# Layout principal
|
||||
main_layout = QVBoxLayout()
|
||||
central_widget.setLayout(main_layout)
|
||||
|
||||
# Créer le panneau de logs
|
||||
self.logs_panel = LogsPanel()
|
||||
main_layout.addWidget(self.logs_panel)
|
||||
|
||||
# Boutons de test
|
||||
button_layout = QHBoxLayout()
|
||||
|
||||
add_log_btn = QPushButton("Ajouter Log Info")
|
||||
add_log_btn.clicked.connect(lambda: self.logs_panel.add_log(
|
||||
"J'observe vos actions dans Calculator", "👀", "info"
|
||||
))
|
||||
button_layout.addWidget(add_log_btn)
|
||||
|
||||
add_success_btn = QPushButton("Ajouter Success")
|
||||
add_success_btn.clicked.connect(lambda: self.logs_panel.add_log(
|
||||
"Pattern détecté: Calculer 9/9", "🎯", "success"
|
||||
))
|
||||
button_layout.addWidget(add_success_btn)
|
||||
|
||||
add_warning_btn = QPushButton("Ajouter Warning")
|
||||
add_warning_btn.clicked.connect(lambda: self.logs_panel.add_log(
|
||||
"Application non autorisée", "⚠️", "warning"
|
||||
))
|
||||
button_layout.addWidget(add_warning_btn)
|
||||
|
||||
add_error_btn = QPushButton("Ajouter Error")
|
||||
add_error_btn.clicked.connect(lambda: self.logs_panel.add_log(
|
||||
"Impossible de se connecter", "❌", "error"
|
||||
))
|
||||
button_layout.addWidget(add_error_btn)
|
||||
|
||||
main_layout.addLayout(button_layout)
|
||||
|
||||
# Boutons de contrôle
|
||||
control_layout = QHBoxLayout()
|
||||
|
||||
add_many_btn = QPushButton("Ajouter 35 Logs (Test limite 30)")
|
||||
add_many_btn.clicked.connect(self.add_many_logs)
|
||||
control_layout.addWidget(add_many_btn)
|
||||
|
||||
clear_btn = QPushButton("Effacer Tous")
|
||||
clear_btn.clicked.connect(self.logs_panel.clear)
|
||||
control_layout.addWidget(clear_btn)
|
||||
|
||||
main_layout.addLayout(control_layout)
|
||||
|
||||
# Ajouter quelques logs initiaux
|
||||
self.add_initial_logs()
|
||||
|
||||
def add_initial_logs(self):
|
||||
"""Ajoute quelques logs initiaux pour démonstration"""
|
||||
self.logs_panel.add_log("Système démarré en mode Shadow", "👀", "info")
|
||||
self.logs_panel.add_log("J'observe vos actions dans Calculator", "👀", "info")
|
||||
self.logs_panel.add_log("Tiens ! Vous avez fait 3 fois la même chose", "🎯", "success")
|
||||
self.logs_panel.add_log("J'apprends: Calculer 9/9 (5 observations)", "📚", "info")
|
||||
self.logs_panel.add_log("Mode Suggestions activé", "✅", "success")
|
||||
|
||||
def add_many_logs(self):
|
||||
"""Ajoute beaucoup de logs pour tester la limite de 30"""
|
||||
for i in range(35):
|
||||
self.logs_panel.add_log(f"Message de test #{i+1}", "📝", "info")
|
||||
|
||||
# Vérifier le nombre de logs
|
||||
count = self.logs_panel.get_log_count()
|
||||
print(f"Nombre de logs après ajout de 35: {count}")
|
||||
print(f"✓ Limite de 30 respectée: {count == 30}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QApplication(sys.argv)
|
||||
|
||||
window = TestWindow()
|
||||
window.show()
|
||||
|
||||
print("="*60)
|
||||
print("Test Visuel du LogsPanel")
|
||||
print("="*60)
|
||||
print("\nFonctionnalités à tester:")
|
||||
print("1. Ajout de logs avec différents niveaux (info, success, warning, error)")
|
||||
print("2. Scroll automatique quand on est en bas")
|
||||
print("3. Pas de scroll automatique si on scrolle manuellement vers le haut")
|
||||
print("4. Limite de 30 messages (les plus anciens sont supprimés)")
|
||||
print("5. Effacement de tous les logs")
|
||||
print("\nUtilisez les boutons pour tester les fonctionnalités!")
|
||||
print("="*60)
|
||||
|
||||
sys.exit(app.exec_())
|
||||
Reference in New Issue
Block a user