# 2. L'albero del menu e la ricerca

L'albero e' quello del client legacy: ogni voce ha il suo **numero** accanto (1.1, 1.10, 2.1…),
perche' nel gestionale le funzioni si chiamano per numero al telefono. La casella «Cerca nel menu»
accetta testo o numero: scritta la parola, l'albero mostra solo i rami che portano a una voce che la
contiene, gia' aperti, con la parola evidenziata.

Il menu si usa tutto da tastiera, come l'albero del client legacy. Arrivati sul menu — anche tornando da
una funzione — la voce dell'ultima funzione avviata e' gia' scelta, con i rami aperti fino a lei e il
fuoco sopra: non serve cliccare. Poi:

| Tasto | Cosa fa |
|---|---|
| `↑` `↓` | voce sopra / sotto fra quelle visibili; su una funzione il pannello di avvio la mostra subito |
| `→` | apre il ramo; se e' gia' aperto va alla prima voce dentro |
| `←` | chiude il ramo; su una voce interna torna al ramo che la contiene |
| `Home` `Fine` | prima / ultima voce visibile |
| `Invio` | su un ramo lo apre o lo chiude; su una funzione la **avvia** con le scelte del pannello (come il doppio clic) |
| `Spazio` | sceglie la funzione e porta il fuoco sui tipi di lavoro del pannello |
| cifre | vanno alla voce con quel numero (`1` `2` di seguito = voce 12), come nel legacy |
| `*` | apre tutti i rami allo stesso livello |

Le lettere restano del pannello di avvio (`I M R C E S` scelgono il tipo di lavoro), ESC e i tasti
funzione restano del programma. Con una funzione aperta il menu e' in consultazione: ci si muove, ma
Invio non avvia nulla.

Col mouse vale lo stesso del legacy (`SbhMenuView.cpp:2208-2231`): un clic su una funzione la sceglie e
apre il pannello di avvio; il **doppio clic** la avvia subito con le scelte che il pannello ha in quel
momento (tipo di lavoro proposto o gia' scelto, modalita', ruolo e stampante ricordati), senza passare
da **Avvia**. Se la voce non puo' partire (nessun dispositivo compatibile) resta il pannello, che dice
perche'. Il doppio clic su un ramo lo apre o lo chiude; in consultazione non avvia nulla.

✔ Verifica: doppio clic su «1.1.1.1 Condizioni Pagamento» e la funzione parte in Inserimento,
Definitiva, sull'uscita predefinita, senza fermarsi sul pannello.

✔ Verifica: tornati al menu da una funzione, senza toccare il mouse, `↓` e `↑` muovono il fuoco a
partire dalla voce appena usata.

✔ Verifica: `Invio` su una funzione la fa partire senza passare dal pulsante **Avvia**.

![L'albero del modulo B20](https://gsdoc.genesyssoftware.eu/uploads/images/gallery/2026-10/scaled-1680-/lalbero-del-modulo-b20.png)

✔ Verifica: accanto a ogni voce c'e' il suo numero.

✔ Verifica: sopra l'albero c'e' il titolo «Funzioni».

![La ricerca «Condizioni»](https://gsdoc.genesyssoftware.eu/uploads/images/gallery/2026-10/scaled-1680-/la-ricerca-condizioni.png)

✔ Verifica: scritto «Condizioni», il titolo diventa «Risultati».

✔ Verifica: la parola e' evidenziata in ogni voce trovata (almeno tre: Tabelle, Stampa, Export).

✔ Verifica: i rami sono aperti fino a «1 Condizioni Pagamento», senza dover cliccare i padri.