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 が前提となります。

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

ご支援をお願いします!