# Capitolo 3: Guida all'Interfaccia Principale

L'interfaccia utente (GUI) del Radar Target Simulator è progettata per fornire un controllo centralizzato su tutte le fasi della simulazione, dalla creazione degli scenari all'analisi dei risultati. Questa sezione descrive in dettaglio ogni componente della finestra principale.

## 3.1. Panoramica Generale

La finestra principale è suddivisa in diverse aree funzionali, ciascuna con un ruolo specifico.

*(Placeholder per l'immagine)*

**Descrizione dell'Immagine:** `panoramica_gui.png`
*Qui ti aspetti di vedere uno screenshot a schermo intero dell'applicazione. Usa un editor di immagini per aggiungere delle etichette numerate che puntano alle seguenti sezioni:*
1.  *Etichetta "1" che punta al **PPI Display**.*
2.  *Etichetta "2" che punta al **Pannello di Controllo Scenari** (in alto a destra).*
3.  *Etichetta "3" che punta al **Pannello di Lavoro a Schede** (sotto il controllo scenari).*
4.  *Etichetta "4" che punta al **Pannello di Connessione** (sopra il PPI).*
5.  *Etichetta "5" che punta al **Pannello dei Log** (in basso).*
6.  *Etichetta "6" che punta alla **Barra di Stato** (in fondo).*

---

## 3.2. Il PPI Display

Il Plan Position Indicator (PPI) è il componente visivo centrale dell'applicazione.

*   **Scopo:** Fornisce una rappresentazione grafica in tempo reale dello scenario tattico, mostrando la posizione dell'ownship, dei target simulati e dei target reali ricevuti dal radar.
*   **Caratteristiche:**
    *   **Griglia Polare:** Mostra anelli di range (in miglia nautiche) e linee di azimut (in gradi).
    *   **Controlli Radar:** Permettono di cambiare il range massimo visualizzato e di attivare/disattivare l'animazione della linea di scansione dell'antenna.
    *   **Modalità di Visualizzazione:** Offre le modalità `North-Up` e `Heading-Up` (vedi Capitolo 2.3 per i dettagli).
    *   **Opzioni di Visualizzazione:** Consente di mostrare/nascondere selettivamente i punti e le tracce (trail) dei target simulati e reali.
    *   **Legenda:** Identifica i simboli grafici per l'ownship, i target simulati e i target reali.

## 3.3. Pannello di Controllo Scenari

Questa sezione, situata in alto a destra, è dedicata alla gestione dei file di scenario.

*   **Selettore Scenario:** Un menu a tendina per caricare rapidamente uno scenario esistente. La selezione di uno scenario lo carica immediatamente nell'area di editing.
*   **Pulsanti di Gestione:**
    *   **New...:** Apre una finestra di dialogo per creare un nuovo scenario vuoto, chiedendone il nome.
    *   **Save:** Salva le modifiche correnti sovrascrivendo il file dello scenario attualmente selezionato.
    *   **Save As...:** Salva le modifiche correnti in un nuovo file di scenario, chiedendone il nome.
    *   **Delete:** Rimuove permanentemente il file dello scenario attualmente selezionato.

## 3.4. Pannello di Lavoro Principale (a schede)

Questo pannello a schede organizza le diverse fasi del lavoro.

### 3.4.1. Scheda "Editing scenario"

È l'area di lavoro predefinita per la creazione e modifica delle traiettorie. Contiene la **Lista dei Target** (`TargetListFrame`), una tabella che mostra i parametri iniziali di ogni target dello scenario corrente. Da qui è possibile:
*   **Add:** Aggiungere un nuovo target allo scenario, aprendo l'Editor di Traiettoria.
*   **Remove:** Rimuovere il target selezionato.
*   **Edit Trajectory...:** Aprire l'Editor di Traiettoria per modificare il target selezionato.

### 3.4.2. Scheda "Simulation"

Questa scheda contiene i controlli per l'esecuzione della simulazione in tempo reale.

*(Placeholder per l'immagine)*

**Descrizione dell'Immagine:** `pannello_simulazione.png`
*Qui ti aspetti uno screenshot che mostra in dettaglio la scheda "Simulation", evidenziando:*
1.  *I pulsanti "Start Live" / "Stop Live".*
2.  *Lo slider di progresso della simulazione.*
3.  *La sezione "Ownship State".*
4.  *La tabella "Active Targets".*

---

*   **Live Simulation Engine:**
    *   **Start Live / Stop Live:** Pulsanti per avviare e fermare la simulazione.
    *   **Speed / Update(s):** Controlli per accelerare la simulazione e definire la frequenza di invio degli aggiornamenti al radar.
    *   **Reset Sim:** Riporta la simulazione allo stato iniziale (T=0) senza fermarla.
    *   **Reset Radar:** Invia un comando di reset al radar per cancellare tutte le tracce esistenti.
    *   **Slider di Progresso:** Mostra l'avanzamento della simulazione e permette di "cercare" (seek) un punto specifico nel tempo trascinando il cursore (solo a simulazione in pausa).
*   **Ownship State:** Un pannello di sola lettura che visualizza i dati di navigazione più recenti dell'ownship (posizione, altitudine, heading, velocità) ricevuti dal sistema reale.
*   **Active Targets:** Una tabella che, durante la simulazione, mostra i dati geografici calcolati in tempo reale per i target *simulati*.

## 3.5. Pannello di Connessione

Posizionato sopra il PPI, questo pannello gestisce la connessione con il sistema radar.

*   **Indicatori di Stato:** Mostra il tipo di connessione configurata (SFP, TFTP, Seriale) e i parametri principali (es. indirizzo IP e porte).
*   **Settings...:** Apre la finestra di configurazione dettagliata della connessione (vedi Capitolo 5).
*   **Connect / Disconnect:** Stabilisce o interrompe la comunicazione con il device under test.

## 3.6. Log e Barra di Stato

### Pannello dei Log

Situato nella parte inferiore della finestra, visualizza i messaggi di log generati dall'applicazione. È uno strumento essenziale per il debug e per monitorare le operazioni in background. I messaggi sono colorati in base al loro livello di severità (es. INFO, WARNING, ERROR).

### Barra di Stato

La barra in fondo alla finestra fornisce informazioni di stato rapide:
*   **Indicatori di Connessione (Target/LRU):** Due LED grafici (rosso per disconnesso, verde per connesso) mostrano lo stato della comunicazione.
*   **Messaggio di Stato:** Un'area di testo che mostra lo stato corrente ("Ready", "Simulation running", etc.) o messaggi temporanei.
*   **Rate / Latency:** Visualizza le metriche di comunicazione in tempo reale, come i pacchetti al secondo (pkt/s) e la latenza stimata.
*   **Uso Risorse:** Mostra l'utilizzo corrente di CPU e memoria da parte dell'applicazione.