""" Script de démonstration pour tester l'interface GUI minimale """ import sys from PyQt5.QtWidgets import QApplication from PyQt5.QtCore import QTimer from minimal_gui import MinimalGUI def demo_mode_transitions(gui): """Démonstration des transitions de mode""" modes = ["shadow", "assist", "auto", "shadow"] current_mode_idx = [0] def next_mode(): if current_mode_idx[0] < len(modes): mode = modes[current_mode_idx[0]] gui.update_mode_indicator(mode) gui.show_notification( f"Transition vers le mode {mode.upper()}", "info" ) current_mode_idx[0] += 1 # Changer de mode toutes les 3 secondes timer = QTimer() timer.timeout.connect(next_mode) timer.start(3000) return timer def demo_suggestion(gui): """Démonstration de la superposition de suggestion""" # Simuler une décision d'action decision = { "action_type": "click", "target_element": "bouton_valider", "bbox": (500, 300, 120, 40), "confidence": 0.95, "description": "Cliquer sur le bouton 'Valider' pour soumettre le formulaire" } # Attendre 2 secondes puis afficher la suggestion QTimer.singleShot(2000, lambda: show_suggestion_demo(gui, decision)) def show_suggestion_demo(gui, decision): """Afficher la suggestion et traiter le retour""" feedback = gui.show_suggestion(decision, animated=True) print(f"Retour utilisateur: {feedback}") def main(): """Point d'entrée principal""" app = QApplication(sys.argv) # Créer l'interface GUI gui = MinimalGUI() gui.show() # Démonstration des transitions de mode mode_timer = demo_mode_transitions(gui) # Démonstration de la suggestion (après 2 secondes) # demo_suggestion(gui) # Lancer l'application sys.exit(app.exec_()) if __name__ == "__main__": main()