フォーカスが変わった場合、アクティブ・ビューのコントローラは、メニューおよびツールバーの項目、キーボード・ショートカットに関連付けられたアクション(IdeActionのインスタンス)を更新することができます。コントローラは、関連アクションを使用可能または使用不可にすることで更新します。
アクションの更新プロセスはたびたび行われ、複雑になる場合があります。集中的な計算および複製を避けるために、更新プロセスは慎重に実装してください。
プロセスは2つの部分から構成されています。
プロセスは、アクティブ・コントローラのcheckCommandsメソッドのコールで開始します。このメソッドは、スーパーバイザに対してcheckCommandsメソッドをコールし、そのコントローラに定義されているアクションがある場合は、これに対しupdateをコールします。アクティブ・コントローラ、およびIdeオブジェクトを含むそのすべてのスーパーバイザにより、更新するアクションが選択されます。checkCommandsに渡される引数は、現行コンテキストおよびアクティブ・コントローラです。アクティブ・コントローラが渡されるのは、updateメソッドに対するすべてのコールを行えるようにするためです。これにより、アクティブ・コントローラでスーパーバイザをオーバーライドできます。
アクションはアクティブ・コントローラのupdateメソッドに渡されます。これは基本的には、アクションのコマンドIDに基づく分岐文です。updateメソッドが指定したアクションのコマンドIDに対して定義されている場合、このメソッドがそのsetEnabledメソッドをコールすることによりアクションを更新し、trueを返します。それ以外の場合、アクションはスーパーバイザに渡され、そこで更新されるか、またはさらに上のスーパーバイザに更新が委任されます。
ユーザー・インタフェース・イベントについて
コンテキストについて
IDEアクションについて
コマンドについて
コントローラについて
IDEアクションの処理について
oracle.ide.Ide
oracle.ide.IdeAction
oracle.ide.addin.Wizard