変換ビューのメニューの拡張

以下のコード・サンプルでは、変換ビューのメニューを拡張する方法を示しています。サンプルでは切断メニュー項目が追加され、これをクリックするとホスト接続が切断されて、アプリケーションの切断および停止イベントが実行されます。必要なのは、ビューのライフ・サイクル全体の間で適用されるビューのメニューにアクションを追加することだけです。

変換ビュー・クラスのメニューを拡張するには、以下の手順に従います (このクラスの Java™ ソース・ファイルは、プロジェクトの <プロジェクト名>.views パッケージにあります):
  1. アクションは少なくとも変換ビュー・クラスの 2 つのメソッドでアクセスする必要があるため、変換ビュー・クラスの private メンバーとして宣言します。
    private com.ibm.hats.rcp.ui.actions.DisconnectAction disconnectAction;
  2. ZIETrans で提供されているデフォルト・アクションをビューのメニューで使用できるようにする場合は、変換ビュー・クラスの createViewActions() メソッドをオーバーライドして、super.createViewActions() を呼び出すようにします。
    protected void createViewActions() {		 		 
    		 		 super.createViewActions();
           	 		 
    		 		 //create an action and append the action to the view's menu.
    		 		 disconnectAction = new DisconnectAction("Disconnect",getSessionService());		 		 
    		 		 getViewSite().getActionBars().getMenuManager().add(new Separator());
    		 		 getViewSite().getActionBars().getMenuManager().add(disconnectAction);
    		 }
  3. Override the updateViewActions() メソッドにより、メニューを更新したときに新規アクションが使用可能または使用不可になるようにします。
    protected void updateViewActions() {		 		 
    		 		 super.updateViewActions();
           	 		 
    		 		 //enable the action based on the session state.
    		 		 disconnectAction.setEnabled(getSessionService().getSessionServiceState().
                                                         isOperational());
    		 }

「切断」アクションの追加後、変換ビュー内のメニュー・ボタンをクリックすると、メニューに「切断」が表示されます。

図 1. 変換ビュー・メニュー上の「切断」
変換ビュー・メニュー上の「切断」