広告
公式ドキュメントの和訳です。
イベントは、特定の動作が、Fusion内で発生したとき、あなたが、通知を受けるための機能です。イベントは、ユーザー定義したFusionコマンドを作成するとき、重要なコンポーネントです。あなたが、ユーザーが、あなたのコマンドに関連付けられるボタンをクリックする、知っているプログラムでできることは、イベントです。そして、その次に、(プレビュー、入力の確認、選択など)多くの動作を実行する間、イベントに基づいています。最後に、あなたのプログラムは、コマンドを実行するために、イベントを通して通知します。そして、最終的な結果を作成します。
イベントを実装するために、あなたは、コードに「handler」関数を追加して、そのハンドラをイベントに接続する必要があります。Fusionでは、Fusionでイベントが発生する動作が発生するたびに、あなたのhandler関数を呼び出します。イベントを実装する概念は同じですが、実際の習慣は、言語ごとに、大きく異なります。イベントを設定するための詳細は、それぞれのサポートされている言語を扱うトピックで提供されています。;Python、JavaScriptとC++。現在、イベントとJavaScriptにはいくつかの制限があります。それで、JavaScriptで作業するときに、サポートされていないイベントがいくつかあります。これらは、そのイベントのためのドキュメントにおいて確認できます。
知っておくべきことの1つは、イベント・ハンドラとハンドラをイベントに接続するために必要なコードを持っている、すべてのイベントを助けるための「構文」部分で、イベントのサポートの追加を、かなり分かりやすくすることができることです。あなたは、ヘルプから、このコードをコピー&ペーストして、いくつかの変数名に、小さな編集を加えることができます。そして、あなたは、イベントを実装するでしょう。
- イベントへの最初のアクセスは、イベントをサポートするオブジェクトのプロパティによるものです。例えば、UserInterfaceオブジェクトは、commandCreated、commandStartingといくつかの他のイベントをサポートしています。これらは、UserInterfaceオブジェクトの同じ名前のプロパティを通して呼び出されます。イベントは、以下に示すように、オブジェクトのヘルプ・トピック内の「Events」セクションで一覧にされています。
- イベント・プロパティによって返されるオブジェクトは、Event基底クラスから派生するオブジェクトです。Eventから派生する、何らかのオブジェクトは、イベントを、ハンドラに接続するために呼び出す「add」メソッドをサポートしています。また、それらは、ハンドルを取り外すための「remove」メソッドをサポートしています。それらは、イベントの名前を返す「name」プロパティをサポートしています。そして、それらは、イベントを発生しているオブジェクトを返す「sender」プロパティをサポートしています。例えば、commandStartingイベントで返されるApplicationCommandEventオブジェクトは、イベントのsenderとしてのUserInterfaceオブジェクトを返します。
- ハンドラを実装するとき、handler型は、イベントの型と一致する必要があります。例えば、commandStartingイベントの場合には、イベントタイプは、ApplicationCommandEventで、そして、ハンドラは、ApplicationCommandEventHandlerです。すべてのハンドラは、「notify」という名前の一つのメソッドをサポートしています。notifyメソッドは、イベントが発生し、そして、あなたが、イベントを扱うことができるnotifyメソッドに反応するとき、Fusionによって呼び出されます。
- notifyメソッドは、EventArgsから派生するオブジェクトが提供する一つの引数を持っています。このオブジェクトは、発生するイベントに関する情報を提供します。EventArgsから派生したすべてのオブジェクトは、firingEventプロパティをサポートしています。それは、イベントを発生しているイベントオブジェクトを返します。commandStartingイベントのこの例では、ApplicationCommandEventオブジェクトを返すでしょう。また、EventArgsから派生するほとんどのオブジェクトは、イベントの型に固有の追加の情報を提供する、他のプロパティをサポートしています。commandStartingイベントのnotifyメソッドの場合、ApplicationCommandEventArgsオブジェクトが返されます。そして、それは、アプリケーション・コマンド・イベントに固有のcommandDefinition、commandIdとisCanceledプロパティをサポートしています。これらは、コマンドが、開始して、あなたが、それをキャンセルできる情報について提供しています。
広告