エクステンションとは、UJMLアプリケーションと連携して動作するネイティブのコードのことを指します。
エクステンションはUIE Playerによって提供されていない関数やイベントを提供するネイティブの(非UJMLの)コードです。 エクステンションメンバーのアクセスにはドットノーテーションを用います。 関連項目: 識別子。 例: 'foo.bar'. エクステンションによって提供されている関数は次の形式で使用します: 'ExtensionName.FunctionName'。 またエクステンションによって提供されているイベントは次の形式で使用します: 'ExtensionName.EventName'。
エクステンション関数は通常のUJML関数と同様、パラメータと戻り値にUJMLのデータ型を使用して呼びます。 関連項目: データ、 関数の使用方法。 エクステンションイベントのシンタックスは通常のイベントのシンタックスと異なります。 またエクステンションイベントには、イベントの発生時にエクステンションからパラメータを渡す機能が備わっています。 関連項目: エクステンションイベント、 イベントの処理。
エクステンションはエクステンション宣言ファイルという、外部のファイルで宣言します。 関連項目: エクステンション宣言ファイル。 エクステンション宣言ファイルにはujmlルート要素を記述します。 ujmlルート要素には子要素としてextensions 要素を 記述し、extensions 要素には1つまたは複数のextension 要素を記述します。 関連項目: UJML ファイルのレイアウト、 ujml、 extensions、 extension。 extension要素はUJMLエクステンションのリンク可能関数とイベントの宣言(「プロトタイプ」) を記述します。
エクステンション宣言ファイルは通常、エクステンションの開発者によって作成され、エクステンションと共に提供されます。
エクステンション宣言ファイルはuses要素を使用してアプリケーションやパーティションファイルに 付属させます。 関連項目: アプリケーションファイル、 パーティションファイル、 uses。 uses要素には1つまたは複数のuse要素を 記述します。それぞれのuse要素はエクステンション宣言ファイルとエクステンション名を指定します。 これを行うことにより、アプリケーションやパーティション内のUJMLコードから名前つきエクステンションの使用が可能になります。
特定のデバイスにおいて、エクステンションが必ず提供されているとは限りません。 存在しないエクステンションの使用を試みると、UJMLは実行中のアプリケーションをアンロードします。 特定のエクステンションの有無を確認するには、エクステンション名を使用して _isExtensionAvailable()関数を呼びます。 関連項目: _isExtensionAvailable() function。
エクステンションはシングルトンオブジェクト、つまりデバイスメモリ内に1つしか存在し得ません。 論理的なインスタンスを生成する場合、エクステンションはUJMLコード内で自身のインスタンスを 参照するためのハンドル('handle')を提供します。 エクステンション関数とイベントは、この目的のためにハンドルという、特殊な値を返すことがあります。 関連項目: handle Data Type。
エクステンションから返され、値の設定されていないハンドル変数は'null'という値を持っています。 エクステンションがサポートしている場合、イベントの発生を特定のハンドルに制限することが可能です。 関連項目: エクステンションイベント。 エクステンションには、パラメータとしてハンドル値を必要とするものもあります。 そのような場合はnullハンドルを渡すと適切な動作が得られますが、 動作の内容は個々のエクステンションとその状態に依存します。
ハンドルには、ペインタブルハンドルという、デバイスの画面に描画を行うものがあります。 ハンドルによる画面への描画を行うには、ステートトランジションのdisplaydisplay-handle要素を記述します。 関連項目: display-handle、 display、 ステートトランジション、 ビジュアル要素。 display-handle要素にヌルハンドルを使用すると、そのハンドルは 無視され、画面描画は一切行われません。
ペインタブルエクステンションハンドルのz-orderは、参照元のdisplay-handleのz-orderによって 決定します。 関連項目: Z-Order、 ビジュアル要素。
エクステンションの使用はUJMLにおける高等テクニックの1つです。そのため、本マニュアルではエクステンションの 基礎のみを紹介しています。特定のエクステンションに関する情報は、そのエクステンションに同梱されている マニュアルをご参照ください。
|
項目 |
説明 |
|
エクステンションイベントハンドラのシンタックスは、通常のイベントハンドラのシンタックスと若干異なる。 |
|
Copyright (c) 2000-2005 by UIEvolution, Inc. All rights reserved.
|
|
この項目に関するフィードバックをお寄せください。 Send feedback!
|