migrazione verso gitea
This commit is contained in:
45
docs/flows/main_flow.md
Normal file
45
docs/flows/main_flow.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# `main.py`
|
||||
|
||||
## Scopo
|
||||
|
||||
`main.py` è il punto di ingresso dell'applicazione desktop. Inizializza il loop
|
||||
asincrono condiviso, crea il client database condiviso e costruisce il launcher
|
||||
con i pulsanti che aprono i moduli operativi.
|
||||
|
||||
## Flusso principale
|
||||
|
||||
```{mermaid}
|
||||
flowchart TD
|
||||
A["Avvio di main.py"] --> B["Configura policy asyncio su Windows"]
|
||||
B --> C["Ottiene loop globale con get_global_loop()"]
|
||||
C --> D["Imposta il loop come default"]
|
||||
D --> E["Costruisce DSN SQL Server"]
|
||||
E --> F["Crea AsyncMSSQLClient condiviso"]
|
||||
F --> G["Istanzia Launcher"]
|
||||
G --> H["Mostra finestra principale"]
|
||||
H --> I{"Click su un pulsante"}
|
||||
I --> J["open_reset_corsie_window()"]
|
||||
I --> K["open_layout_window()"]
|
||||
I --> L["open_celle_multiple_window()"]
|
||||
I --> M["open_search_window()"]
|
||||
I --> N["open_pickinglist_window()"]
|
||||
```
|
||||
|
||||
## Schema di chiamata
|
||||
|
||||
```{mermaid}
|
||||
flowchart LR
|
||||
Launcher["Launcher.__init__"] --> Reset["open_reset_corsie_window"]
|
||||
Launcher --> Layout["open_layout_window"]
|
||||
Launcher --> Ghost["open_celle_multiple_window"]
|
||||
Launcher --> Search["open_search_window"]
|
||||
Launcher --> Pick["open_pickinglist_window"]
|
||||
Pick --> PickFactory["create_pickinglist_frame"]
|
||||
```
|
||||
|
||||
## Note
|
||||
|
||||
- `db_app` viene creato una sola volta e poi passato a tutte le finestre.
|
||||
- Alla chiusura del launcher viene chiamato `db_app.dispose()` sul loop globale.
|
||||
- `open_pickinglist_window()` costruisce la finestra in modo nascosto e la rende
|
||||
visibile solo a layout pronto, per ridurre lo sfarfallio iniziale.
|
||||
Reference in New Issue
Block a user