Guida di LibreOffice 24.8
È possibile usare tutti gli elementi di controllo ed eventi nei documenti HTML. Ci sono diversi eventi al corrente (ad esempio, l'evento fuoco), che non sono stati modificati. Questi saranno ancora importati ed esportati come ONFOCUS, ONBLUR, e così via in JavaScript, e come SDONFOCUS, SDONBLUR, e così via in LibreOffice Basic.
Per tutti gli altri eventi vengono usati nomi generici composti dall'interfaccia Listener e da nomi di metodi dell'evento: un evento registrato come XListener::method viene esportato come
SDEvent-XListener-method = "/* event-code */"
Ricordare che i componenti XListener e method di questa opzione distinguono tra maiuscole e minuscole.
La gestione eventi dei controlli viene eseguita utilizzando l'API di LibreOffice. Assegnando un evento a un controllo, un oggetto si registra internamente come "listener" per un determinato evento del controllo. Per far questo, l'oggetto deve utilizzare una specifica interfaccia, ad esempio l'interfaccia XFocusListener, in modo che possa reagire agli eventi del fuoco. Al verificarsi dell'evento, quando riceve il fuoco il controllo richiama uno speciale metodo dell'interfaccia Listener. L'oggetto registrato internamente richiama quindi il codice JavaScript o LibreOffice Basic assegnato all'evento.
Il filtro HTML utilizza esattamente tali interfacce Listener e nomi di metodo per importare ed esportare gli eventi, a seconda delle necessità. È possibile registrare un evento del fuoco anche con
<INPUT TYPE=text ONFOCUS="/* code */"
anziché tramite il registro
<INPUT TYPE=text SDEvent-XFocusListener-focusGained="/* code */"
Gli eventi possono quindi essere registrati in base alle proprie preferenze, inclusi quelli non offerti nelle caselle di riepilogo. Per definire il linguaggio di script degli eventi, è possibile scrivere la riga seguente nell'intestazione del documento:
<META HTTP-EQUIV="content-script-type" CONTENT="...">
Per CONTENT, è possibile utilizzare anche "text/x-StarBasic" per LibreOffice Basic o "text/JavaScript" per JavaScript. Se non è indicato nulla, si parte da JavaScript.
Durante l'esportazione, il linguaggio di script predefinito verrà definito sulla base del primo modulo trovato in gestione macro. Per gli eventi è possibile utilizzare un solo linguaggio per documento.