SXXXXXXX_PyMsc/doc/pymsc_refactor_plan.md

47 lines
1.7 KiB
Markdown

# 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.