Inhoud

# HTML-filters en formulieren

U kunt nu alle besturingselementen en formuliergebeurtenissen gebruiken in HTML-documenten. Er zijn inmiddels vele gebeurtenissen geweest (bijvoorbeeld de focus gebeurtenissen), die in het geheel niet veranderd zijn. Ze zullen nog steeds worden geïmporteerd en geëxporteerd als ONFOCUS, ONBLUR, etc. voor JavaScript en als SDONFOCUS, SDONBLUR, etc. voor LibreOffice Basic.

Generieke namen die bestaan uit de Listener-interface en de methodenaam van de gebeurtenis worden gebruikt voor alle andere gebeurtenissen: Een gebeurtenis die geregistreerd is als XListener::methode wordt geëxporteerd als

SDEvent-XListener-method = "/* gebeurtenis-code */"

De XListener- en methodecomponenten van deze optie zijn hoofdlettergevoelig

Gebeurtenisbehandeling van besturingselementen wordt uitgevoerd met behulp van de LibreOffice API. Als u een gebeurtenis aan een controleveld toekent, registreert een object zichzelf intern als een "Listener" voor een specifieke controleveld gebeurtenis. Om dit te doen moet het object een specifieke interface gebruiken, bijvoorbeeld de XFocusListener Interface, zodat het kan reageren op focus-gebeurtenissen. Indien de gebeurtenis voorkomt activeert het controleveld een speciale methode van de Listener interface, bijvoorbeeld focusGained, als het controleveld de focus ontvangt. Het intern geregistreerde object activeert dan de JavaScript of LibreOffice BASIC-code die was toegewezen aan de gebeurtenis.

Het HTML-filter gebruikt nu juist deze Listener-interfaces en methodenamen zodat het gebeurtenissen kan importeren en exporteren zoals gewenst. Daarom kunt u een focusgebeurtenis beter registreren via

<INPUT TYPE=text ONFOCUS="/* code */"

dan via

<INPUT TYPE=text SDEvent-XFocusListener-focusGained="/* code */"

registratie. Gebeurtenissen kunnen daarom worden geregistreerd zoals gewenst, met inbegrip van degene die niet worden aangeboden in de keuzelijsten. Om de scripttaal van gebeurtenissen te definiëren kunt u de volgende regel in de documentkoptekst schrijven:

<META HTTP-EQUIV="content-script-type" CONTENT="...">

Als CONTENT kunt u bijvoorbeeld, gebruiken "text/x-StarBasic" voor LibreOffice BASIC of "text/JavaScript" voor JavaScript. Als er geen item wordt gemaakt, wordt JavaScript aangenomen.

Tijdens exporteren zal de standaard scripttaal worden gedefinieerd gebaseerd op de eerste module die gevonden wordt in macrobeheer. Daarom kan (voor gebeurtenissen) maar één taal worden gebruikt per document.