# 14. La barra dei comandi

La toolbar del client legacy sopra le maschere (`TBR_FORM`, `SbhFormChildFrame.cpp:599`): conferma,
invio, esci; campo e pagina precedente/successiva; F1-F8; cerca (F9) e guida del campo; poi stampa,
esporta, funzioni della griglia, manuale e informazioni. Ogni pulsante fa **esattamente** quello che fa
il suo tasto e si accende solo se il campo in input lo ammette (nel legacy `SbhFormRegion::UpdateCmd`
e `ResolveCmd`, `SbhFormRegion.cpp:610-750`); le funzioni del client si accendono come le loro voci
nelle Opzioni. Il tooltip dice il nome e il tasto, con la rimappatura della §12 («Esci · Esc», o
«Esci · F11»). Il clic non toglie il cursore al campo. I Maiusc+F e Rifiuta compaiono solo quando il
campo li ammette; le etichette dei tasti sono fisse, come nel legacy (il COBOL non ne manda).

Script: `npx playwright test --config=playwright.sbh.config.ts sbh-web-barra-comandi`
(`frontend/e2e/sbh-web-barra-comandi.spec.ts`), su **BE0 › Tabella I V A** in interrogazione.

Dove sta la sceglie l'utente dal menu **⋯** della barra, e resta nel browser (`sbh-web.barra-comandi`,
per tutte le schede di sessione): **fissa in alto** (il predefinito), **fissa in basso**, **mobile**
(una finestrella da trascinare per la maniglia a sinistra, anche con le frecce; doppio clic la rimette
in alto a destra; la **X** la chiude), **segue il cursore** (compatta, solo i tasti accesi, sotto il
campo in input o sopra se sotto non c'e' posto: si sposta con un'animazione breve quando cambia il
campo, niente animazione con «riduci movimento» del sistema). Spenta, si riaccende da **Opzioni ›
Vista › Barra dei comandi** o con **Alt+Maiusc+B**, e torna com'era. Sta sopra le maschere e le
NEW-FORM, dentro lo schermo della sessione.

![La barra fissa in alto](https://gsdoc.genesyssoftware.eu/uploads/images/gallery/2026-10/scaled-1680-/la-barra-fissa-in-alto.png)

✔ Verifica: fissa in alto, sopra le maschere; Esci e Invio accesi, il tooltip di Esci dice «Esci · Esc».

![Il menu della barra](https://gsdoc.genesyssoftware.eu/uploads/images/gallery/2026-10/scaled-1680-/il-menu-della-barra.png)

✔ Verifica: aperto il menu ⋯, il cursore resta nel campo in input e «Fissa in alto» e' spuntata.

![La barra mobile, trascinata](https://gsdoc.genesyssoftware.eu/uploads/images/gallery/2026-10/scaled-1680-/la-barra-mobile-trascinata.png)

✔ Verifica: mobile, trascinata in basso a sinistra si sposta col puntatore e la posizione si ricorda nel
browser; trascinata oltre il bordo si ferma dentro lo schermo della sessione; il cursore resta nel campo.

![La barra che segue il cursore](https://gsdoc.genesyssoftware.eu/uploads/images/gallery/2026-10/scaled-1680-/la-barra-che-segue-il-cursore.png)

✔ Verifica: segue il cursore, compatta, accanto al campo in input senza coprirlo, solo tasti accesi.

✔ Verifica: Alt+Maiusc+B la spegne, la voce delle Opzioni dice «Spenta» e la riaccende com'era.

✔ Verifica: la **X** rossa della barra fa quello che fa Esc: la funzione si chiude e si torna al menu.