目次

# HTML フィルターおよびフォーム

HTMLドキュメントには、すべてのコントロール要素とフォームイベントを使用できます。 これまでにフォーカスイベントなどのさまざまなイベントがあり、これらは変更されていません。 これらのイベントは、JavaScriptではONFOCUS、ONBLURなどとして、LibreOffice BasicではSDONFOCUS、SDONBLURなどとして今後もインポートされ、エクスポートされます。

その他のすべてのイベントに関しては、リスナーインタフェースおよびイベントのメソッド名から構成される一般名が使用されます。XListener::method として登録されているイベントは

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

このオプションの XListener- とメソッドコンポーネントでは、大文字と小文字が区別されることに注意してください。

コントロールのイベント処理では、LibreOffice APIが使用されます。コントロールにイベントを割り当てると、オブジェクトが特定のコントロールイベントに対する「リスナ」として自身を内部で登録します。このためには、オブジェクトがフォーカスイベントに反応することを可能にする特殊なインタフェース（XFocusListenerインタフェースなど）を使用する必要があります。イベントの発生時、コントロールがフォーカスを受け取ると、このListenerインタフェースの特殊なメソッドを呼び出します。次に、内部的に登録されたこのオブジェクトは、イベントに割り当てられたJavaScriptまたはLibreOffice BASICコードを呼び出します。

ここで HTML フィルターは、これらのリスナーインタフェースとメソッドの名前を正確に使用するので、イベントを適宜にインポートおよびエクスポートできます。フォーカスイベントは、次の経路で登録できます。

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

次の経路では登録できません。

<INPUT TYPE=text SDEvent-XFocusListener-focusGained="/* code */" 経由でも

レジスタ。したがって、イベントはリストボックスに含まれていないものでも必要に応じて登録できます。イベントのスクリプト言語を定義するために、ドキュメントヘッダー内に次の行を書き込むことができます。

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

CONTENTに関しては、特にLibreOffice Basic用には「text/x-StarBasic」を、JavaScript用には「text/JavaScript」を使用できます。特に何も書いていない場合には、JavaScriptが前提となります。

エクスポート時に、マクロ管理機能にある最初のモジュールに基づいて、標準スクリプト言語が定義されます。イベントでは、ドキュメントごとにひとつの言語だけを使用できます。