コマンドは、データの操作をカプセル化するオブジェクトです。コントローラは、操作を直接実行するのではなく、ユーザー・アクションへの応答としてコマンドを生成します。このプロセスは、Commandデザイン・パターンの実装です。
実際にデータ構造を変更するメソッドは、Command
クラスのdoit
メソッドおよびundo
メソッドです。ユーザー・インタフェース・イベントによりコマンドが作成され、コマンド・プロセッサに渡されると、そこでコマンドが実行されます。UNDOスタックに保存される場合もあります。
Ide
クラスにより一連の標準コマンドIDが定義され、それぞれが一意のアクションに関連付けられ、そのアクションがさらにUI要素に関連付けられます。コマンドIDは、保存、切取りまたは実行などの一般的な操作を識別します。コマンドIDの解釈は、操作するデータの構造によって異なります。 各メニュー項目、ツールバー・アイコンおよびキーボード・ショートカットは、コマンドIDを含むIdeAction
インスタンスに関連付けられています。Ideクラスは、標準ユーザー・インタフェース(UI)項目に関連付けられたコマンドIDを定義します。 新規UI項目を追加する拡張機能では、その機能に対する新しいCommand
クラスを実装し、IdeクラスのcreateCmdID
メソッドをコールして、新しいコマンドIDを取得し、クラスを登録する必要があります。
コマンドは、コマンド・プロセッサのcreateCommand
メソッドにより作成されます。このメソッドには、コマンド・クラスの名前およびコンテキストが必要です。このメソッドは、ユーザー・アクションがコントローラの認識するコマンドIDに解決された場合に、コントローラによってコールされます。たとえば、HTMLエディタ拡張機能は、テキスト挿入を実行するコマンド・クラスを実装します。 エディタのコントローラでは、Ide.PASTE_CMD_ID
コマンドIDを受け取ると、そのコマンド・クラスのインスタンスを作成して、クリップボードおよびドキュメントのテキスト・バッファに対する参照を渡します。
コマンド・クラスは2つの主要メソッドを定義します。
doit
. このメソッドは要求された操作を実行します。コマンドに対してコマンド・プロセッサが起動された場合にコールされます。undoの後にコールされ、「再実行」する場合もあります。
undo
. このメソッドは要求された操作と反対の操作を実行します。
UNDO機能は、次のいずれかのコマンドのタイプにより表されます。
NO_CHANGE
. これらのコマンドでは、サブジェクトの構造を変更しないため、元に戻すことはできません。起動後に破棄されます。
NORMAL
. これらのコマンドは元に戻すことができます。起動後に、ドキュメントのUNDOスタックにプッシュされます。
NO_UNDO
. これらのコマンドは、サブジェクトの状態を変更すると、元に戻すことができなくなります。起動後破棄され、UNDOスタックはフラッシュされます。
ユーザー・インタフェース・イベントについて
コンテキストについて
IDEアクションについて
コントローラについて
IDEアクションの更新について
IDEアクションの処理について
oracle.ide.Ide
oracle.ide.IdeAction
oracle.ide.Addin.Command
Copyright © 1997, 2004, Oracle. All rights reserved.