例: XYZ Plugin 用のドイツ語のフラグメントの作成

プラグインとフラグメントを操作する PDE ウィザードおよびエディターは、ほとんど同じものです。  ただし、その違いは重要なため、それを認識する必要があります。

最初に新規のフラグメント・プロジェクトを作成します。  

「フラグメントの新規作成 (New Fragment)」ウィザードの先頭ページで、 プロジェクト名 "com.example.german" を入力します。  「次へ (Next)」を押して、2 ページ目のデフォルト値を受け入れます。  (もう一度「次へ (Next)」を押します。)  「フラグメントのコード生成プログラム (Fragment Code Generators)」ページで、 テンプレートからフラグメントを作成するためのラジオ・ボタンを選択し、 「デフォルトのフラグメント生成プログラム (Default Fragment Generator)」ウィザードを選択します。  「次へ (Next)」を押すと、「単純なフラグメントのコンテンツ (Simple Fragment Content)」ページが表示されます。

このページには、2 つの追加フィールド「ターゲット・プラグイン ID (Target Plug-In ID)」と「バージョン (Version)」があり、 この点がプラグイン・ウィザードと少し異なっています。 今は特定のプラグインのフラグメントを作成しているので、 「ブラウズ (Browse)」ボタンを使用して、「ワークスペースのプラグイン (Workspace Plug-ins)」グループから "XYZ Plugin" を選択します (任意の外部プラグインを選択することもできます)。

プロジェクトが作成されると、 そのプロジェクトによりフラグメントのマニフェスト・エディターが開きます。

以下の例外を除き、このマニフェスト・エディターはプラグインのマニフェスト・エディターとほとんど同じです。

  1. 「概要 (Overview)」ページでは、"class" 属性がなくなっています。  フラグメントはターゲット・プラグインのライフ・サイクルに従うため、フラグメントにはプラグイン・クラスがありません。  その代わりに、「ターゲット・プラグイン ID (Target Plug-In ID)」フィールドと 「バージョン (Version)」フィールドが表示されます。

  2. 「依存性 (Dependencies)」ページはありません。  フラグメント・プロジェクトを選択し、「プロパティー (Properties)」->「ビルド・パス (Build path)」と選択すると、 フラグメントがターゲット・プラグインと同じビルド・パスを持っていることがわかります。

プラグインの例と類似のアクション・セットを追加しますが、今度はドイツ語で追加します。

  1. フラグメントのマニフェスト・エディターの「拡張 (Extensions)」ページに進みます。  「新規作成 (New)」を押して、「拡張 (Extension)」ウィザードを起動します。
  2. 「汎用ウィザード (Generic Wizards)」と「スキーマ・ベースの拡張 (Schema-based extension)」を選択します。 「次へ (Next)」をクリックします。 
  3. 拡張ポイントのリストから「アクション・セット (Actions Sets)」を選択します。 「終了 (Finish)」を押します。
  4. 新規のアクション・セットを選択します。ポップアップ・メニューから 、「新規作成 (New)」->「アクション・セット (actionSet)」と選択します。
  5. プロパティー・シートに移動し、label プロパティーを "Deutsche Aktionsmenge." に変更します。
  6. 「拡張エレメントの子 (Extension Element Children)」セクションに移動し、 ポップアップ・メニューから「新規作成 (New)」->「メニュー (menu)」と選択します。
  7. そのメニューの label プロパティーを "Beispiel Menu" に変更し、 id プロパティーを "beispielMenu." に変更します。
  8. もう一度メニュー・エレメントを選択し、ポップアップ・メニューから 「新規作成 (New)」->「セパレーター (separator)」と選択します。 プロパティーでその名前を "beispielGruppe" に変更し、それを保管します。
  9. 新規の「アクション」エレメントを作成します (ステップ 6 と同じ)。 label プロパティーを "Beispiel Aktion" に設定します。 「menubarPath」を "beispielMenu/beispielGruppe." に設定します。
  10. 編集のために class プロパティーを選択し、セル・エディター・ダイアログを表示します。 「新規クラスの生成 (Generate a new class)」ラジオ・ボタンを選択します。
  11. ブラウズしてクラス・コンテナーを見つけ、 "com.example.german" プロジェクト内の "GERMAN Fragment" を選択します。
  12. クラス名を "DeutscheBeispielAktion" に変更します。「終了 (Finish)」を押します。
  13. 新規のクラスで Java エディターが開いたら、"run" メソッドを探し出して以下を追加します。

System.out.println("Hallo, PDE welt!");

保管して Java エディターとフラグメントのマニフェスト・エディターを閉じます。

「実行 (Run)」ツールバー・ボタンを使用してフラグメントを実行すると、 ランタイムのプラットフォーム・インスタンスの "Deutsche Aktionsmenge" アクション・セットが 使用可能になっているはずです。  (アクション・セットのリストを表示する場合は、 「パースペクティブ (Perspective)」->「カスタマイズ... (Customize...) 」->「その他 (Other)」を使用します)。 アクション・セットをアクティブにすると、"Beispiel Menu" メニューがツールバーに表示されます。 そのメニュー項目を選択すると、コンソールに "Hallo, PDE welt!" が表示されます。 ランタイム・プラットフォームは、直接ドイツ語のフラグメントを見ているわけではありません。 実際には、プラットフォームからは フラグメントのアクション・セットが直接 XYZ Plugin からきているように見えるように、 ランタイム・プラットフォームのプラグイン・レジストリーによって、フラグメントの参照が解決されました。