HTML-filter och -formulär

Du kan använda alla kontrollelement och formulärhändelser i HTML-dokument. Det är många händelser fram till dagens datum (till exempel fokushändelser) som inte har ändrats. De kommer även fortsättningsvis att importeras och exporteras som ONFOCUS, ONBLUR osv. för JavaScript och som SDONFOCUS, SDONBLUR osv. för LibreOffice Basic.

För alla andra händelser används generiska namn, som består av Listener-Interface och metodnamn på händelserna: En händelse som är registrerad som XListener::method exporteras som

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

Observera att XListener och metodkomponenter för det här alternativet är versalkänsliga.

Händelsehantering av kontroller utförs med LibreOffice API. Om du kopplar en kontroll till en händelse, registreras ett objekt internt som en "lyssnare" efter en viss händelse. För att kunna göra det måste objektet använda ett gränssnitt, till exempel XFocusListener, så att objektet kan reagera på fokushändelser. När händelsen inträffar kommer kontrollen att anropa en viss metod i Listener-gränssnittet när kontrollen får fokus. Det objekt som registrerats internt anropar sedan JavaScript- eller LibreOffice Basic-koden som kopplats till händelsen.

HTML-filtret använder nu samma lyssningsgränssnitt och metodnamn så att händelser kan importeras och exporteras. Du kan registrera en fokushändelse genom

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

snarare än genom

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

registrera. Händelser kan därför registreras på det sätt som krävs, inklusive de som inte finns i listrutorna. För att definiera skriptspråket för händelser skriver du följande rad i dokumentets huvud:

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

För CONTENT kan du använda bl.a. "text/x-StarBasic" för LibreOffice Basic eller ett "text/JavaScript" för JavaScript. Om du inte anger någonting används JavaScript.

När du exporterar dokumentet kommer standardskriptspråket att definieras av den första makromodul som påträffas i dokumentet. Det går bara att använda ett språk per dokument för händelser.

Stötta oss!