Филтри за HTML и формуляри
В документи на HTML можете да ползвате всички събития на елементи за управление и формуляри. За момента съществуват множество събития (например за фокусиране), които не са били променяни. Те ще продължат да бъдат импортирани и експортирани като ONFOCUS, ONBLUR и т.н. за JavaScript и SDONFOCUS, SDONBLUR и т.н. за LibreOffice Basic.
За всички останали събития се използват общите имена, състоящи се от интерфейса Listener и името на метода на събитието. Събитие, регистрирано като XListener::method се експортира като
SDEvent-XListener-method = "/* код-за-събитието */"
Забележете, че компонентите XListener- и method на този израз са чувствителни към регистъра.
Обработката на събития от елементите за управление се извършва чрез LibreOffice API. Ако припишете събитие на елемент за управление, вътрешно се регистрира обект – „слушател“ (Listener) за конкретно събитие на елемента за управление. За тази цел обектът трябва да използва специален интерфейс – например интерфейса XFocusListener, чрез който може да реагира на събития, свързани с фокуса. Когато събитието се случи (елементът за управление получи фокуса), елементът за управление се обръща към специален метод на интерфейса Listener. Вътрешно регистрираният обект извиква кода на JavaScript или LibreOffice Basic, който е приписан на събитието.
Сега филтърът за HTML ползва точно тези интерфейси и имена на методи за импортиране и експортиране на събития по желания начин. Можете да регистрирате събитие за фокусиране чрез
<INPUT TYPE=text ONFOCUS="/* код */"
вместо
<INPUT TYPE=text SDEvent-XFocusListener-focusGained="/* код */"
По този начин можете да регистрирате събития по желание, включително тези, които не са изброени в списъчните полета. За да укажете скриптовия език на събитията, можете да напишете следния ред в заглавния блок на документа:
<META HTTP-EQUIV="content-script-type" CONTENT="...">
В атрибута CONTENT можете да зададете например "text/x-StarBasic" за LibreOffice Basic или "text/JavaScript" за JavaScript. Ако не е указано нищо, се подразбира JavaScript.
По време на експортирането подразбираният скриптов език ще бъде избран според първия открит модул с макроси. В рамките на един документ може да се ползва само един език за събития.