#!/usr/bin/env python3 """ Demostración del diseño minimalista de 3 paneles Calculadora MAV - PySide6 """ import sys import time def show_demo_instructions(): """Muestra las instrucciones de la demostración""" print("🎯 DEMOSTRACIÓN: Calculadora MAV - Diseño Minimalista") print("=" * 60) print() print("📋 DISEÑO DE 3 PANELES:") print(" ┌─────────────┬─────────────┬─────────────┐") print(" │ PANEL 1 │ PANEL 2 │ PANEL 3 │") print(" │ ENTRADA │ RESULTADOS │ LATEX │") print(" │ │ (1:1) │ (colapsable)│") print(" └─────────────┴─────────────┴─────────────┘") print() print("✨ CARACTERÍSTICAS PRINCIPALES:") print(" • Correspondencia 1:1 entre líneas de entrada y salida") print(" • Tema oscuro minimalista") print(" • Resaltado de sintaxis en tiempo real") print(" • Panel LaTeX con MathJax para ecuaciones") print(" • Motor algebraico SymPy sin cambios") print() print("🎮 EJEMPLOS PARA PROBAR:") print(" # Comentario - aparece en panel LaTeX") print(" x**2 + y**2 = r**2") print(" solve(x**2 - 4, x)") print(" a = 5*x + 3") print(" diff(x**3, x)") print(" Matrix([[1, 2], [3, 4]])") print() print("⌨️ ATAJOS DE TECLADO:") print(" • Ctrl+Enter / Shift+Enter: Evaluar") print(" • F12: Mostrar/ocultar panel LaTeX") print(" • Ctrl+N: Nueva sesión") print() def run_demo(): """Ejecuta la demostración""" show_demo_instructions() try: response = input("¿Ejecutar la aplicación? (s/N): ").strip().lower() if response in ['s', 'sí', 'si', 'y', 'yes']: print("\n🚀 Iniciando Calculadora MAV...") # Verificar dependencias primero try: from PySide6.QtWidgets import QApplication print("✅ PySide6 disponible") except ImportError: print("❌ PySide6 no está instalado") print(" Ejecuta: pip install -r requirements.txt") return 1 # Iniciar aplicación from main_calc_app_pyside6 import main as run_app # Precarga con contenido de demostración print("📝 Precargando contenido de demostración...") demo_content = """# Demostración Calculadora MAV x**2 + y**2 = r**2 solve(x**2 - 4, x) a = 5*x + 3 diff(a, x)""" # Ejecutar aplicación run_app() else: print("👋 ¡Hasta luego!") except KeyboardInterrupt: print("\n\n🚪 Demostración cancelada") return 0 except Exception as e: print(f"\n❌ Error: {e}") return 1 return 0 if __name__ == "__main__": sys.exit(run_demo())