SXXXXXXX_PyMsc/doc/pymsc_refactor_plan.md

1.7 KiB

PyMSC GUI Refactor & Adapter Plan

Questo documento descrive il piano di lavoro step-by-step che sto implementando per rendere la GUI di pymsc modulare, testabile e ARTOS-compliant.

Obiettivo

  • Introdurre un adapter (Adapter1553) che separi la GUI dal backend 1553.
  • Rifattorizzare componenti GUI in moduli riusabili.
  • Procedere step-by-step: ogni step è corredato di test automatici che verificano il comportamento.

Step attuali

  1. Creare Adapter1553 (shim minimale): fatto — espone get_value, set_value, list_messages, register_callback. Test: tests/test_adapter_1553.py.

  2. Integrare l'adapter nella GUI: prossimo passo dopo verifica dei test.

  3. Estrarre componenti GUI riusabili (components/): checkbox, combobox, spinbox, message viewer, tooltip, scrollable frame.

  4. Sostituire accessi diretti a grifo_def_msg con chiamate all'adapter nelle pagine (grifo_gui_page*.py) in modo incrementale.

  5. Aggiornare script_manager per usare BusMonitorCore.recorder tramite adapter, mantenendo il formato JSON e la logica di validazione.

  6. Implementare meccanismo thread-safe di aggiornamento UI (worker queue + after).

Testing

  • Ogni step ha unit test specifici. Per l'adapter ho creato test che utilizzano un FakeBusMonitor per evitare dipendenze esterne.
  • Dopo l'adapter, procederemo con tests per i componenti GUI (headless when possible) e logica di script manager.

Prossimi passi immediati

  1. Eseguire i test unitari creati per l'adapter e correggere eventuali problemi.
  2. Se i test passano, iniziare l'integrazione dell'adapter nella pagina Page02 come prova di concetto (spinbox/combobox).

Documenterò ogni passo e aggiornerò questo file con risultati e decisioni.