Rational Developer for System z


レッスン 1: CustomOpenActionGroup Java クラスの作成

このレッスンでは、カスタマイズされたオープン・メニューの処理に必要な Java クラスを作成する手順を説明します。
作成するコンテキスト・メニューは、アクション、セパレーター、および少数のアクションの集合からなるアクション・グループの集合です。この演習では、コンテキスト・メニューを構成する MainActionGroup クラスを作成します。また、デフォルトのオープン・グループ・オプションをオーバーライドする別のクラス OpenActionGroup も作成します。

これらのクラスを作成するには、次のようにします。

  1. MainActionGroup クラスにはカスタムのオープン・グループが必要であるため、OpenActionGroup クラスから開始します。「パッケージ・エクスプローラー」ビューで、演習 5 から変更した com.ibm.carma.plugin.view Eclipse プラグイン・プロジェクトを右クリックして、「新規」>「パッケージ」を選択します。
  2. 表示される「新規 Java パッケージ (New Java Package)」ダイアログ・ボックスで、パッケージの名前として menu と入力し、「終了」をクリックします。
  3. 次に、Java クラスを作成します。menu パッケージを右クリックして、「新規」>「クラス」を選択します。「新規 Java クラス (New Java Class)」ダイアログ・ボックスが開きます。
  4. クラスの名前として CustomOpenActionGroup と入力します。
  5. 「スーパークラス (Superclass)」テキスト・フィールドの右側の「参照」ボタンをクリックします。表示される「スーパークラスの選択 (Superclass Selection)」ダイアログ・ボックスで、フィルター・テキスト OpenActionGroup を入力します。com.ibm.carma.ui.view パッケージの一部であるクラスを選択して、「OK」をクリックします。
  6. 「終了」をクリックして、「新規 Java クラス (New Java Class)」ダイアログ・ボックスを閉じ、クラスを作成します。
  7. コンテキスト・メニューのオープン・セクションのカスタム・コンテンツを提供するように、fillContextMenu メソッドをオーバーライドします。コンテキスト・メニューのオープン・セクションで、「オープン」「アプリケーションから開く」の以外のすべてのメニュー選択を表示する必要があります。表示するための最も簡単な方法は、OpenActionGroup セクションからデフォルトを取得して、「オープン」「アプリケーションから開く」のメニュー選択を削除することです。

    次の疑似コードはこの例です。

    get the default items;
    for each item
    {
       if(item is open or open with) 
       {
          remove it from the list;
       }
    }
    次のサンプル・コードを使用して、この機能を実装します。
    public void fillContextMenu(IMenuManager menu)
    {
       super.fillContextMenu(menu);
       IContributionItem[] myItems = menu.getItems();
       for(int i = 0; i < myItems.length; i++)
       {
          IContributionItem item = myItems[i];
          if(item.getId() != null)
          {
             if(item.getId().equals(OpenAction.ID) || item.getId().equals("com.ibm.carma.ui.openWithSubMenu"))
             {
                menu.remove(item);
             }
          }
       }
    }
  8. 必要なパッケージとクラスを自動的にインポートします。次のすべてがインポートされていることを確認します。
    import org.eclipse.jface.action.IContributionItem;
    import org.eclipse.jface.action.IMenuManager;
    
    import com.ibm.carma.ui.action.OpenAction;
    import com.ibm.carma.ui.view.OpenActionGroup;
  9. ソースを保存し、すべてのエラーをデバッグします。

ご利用条件 | フィードバック



このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)