Eclipse実践プラグイン開発 8

クラスを作成し、パースペクティブを作成

クラスを作成し、パースペクティブを作成

「概要」ページの「すべての拡張」から「org.eclipse.ui.perspectives」-「サンプル・パースペクティブ」を選択し、「拡張エレメント詳細」の「class」リンクをクリックして、 examples.hello2.perspectives.SamplePerspectiveFactoryクラスを作成します。

次にSamplePerspectiveFactoryクラスに以下のようにコードを記述します。

 

public class SamplePerspectiveFactory implements IPerspectiveFactory {

  public void createInitialLayout(IPageLayout layout) {
     // エディタエリアの取得
     String editorArea = layout.getEditorArea();
     // エディタエリアを非表示に設定
     layout.setEditorAreaVisible(false);

     // エディタの左側にブックマーク・ビューを生成
     IFolderLayout left = layout.createFolder("left_folder",
           IPageLayout.LEFT, (float) 0.2f, editorArea);
     left.addView(IPageLayout.ID_BOOKMARKS);

     // エディタの上側にプロパティ・ビューを生成
     IFolderLayout top = layout.createFolder("top_folder",
     IPageLayout.TOP, (float) 0.3f, editorArea);
     top.addView(IPageLayout.ID_PROP_SHEET);

     // エディタの中央にアウトライン・ビューを生成
     IFolderLayout middle = layout.createFolder("middle_folder",
           IPageLayout.TOP, (float) 0.4f, editorArea);
     middle.addView(IPageLayout.ID_OUTLINE);

     // エディタの下側に問題・ビューを生成
     IFolderLayout bottom = layout.createFolder("bottom_folder",
           IPageLayout.BOTTOM, (float) 0.3f, editorArea);
     bottom.addView(IPageLayout.ID_PROBLEM_VIEW);
  }

}

以上で独自のパースペクティブを作成することができました。ワークベンチ・ランタイムを起動し、「ウィンドウ」メニューから「パースペクティブを開く」-「その他」をクリックします。表示された「パースペクティブの選択」から「サンプル・パースペクティブ」を選択し、作成した「サンプル・パースペクティ ブ」を開いてみてください(図1)。

これまでに、独自のパースペクティブを作成する手順について説明しました。次に拡張ポイントとパースペクティブ・ファクトリ・クラスについて説明したいと思います。

 

 

拡張ポイント

拡張する拡張ポイントは"org.eclipse.ui.perspectives"で、extension要素の構造を図2にまとめました。


図2:"org.eclipse.ui.perspectives"のextension要素の構造
 

perspective要素のclass属性は、org.eclipse.ui.IPerspectiveFactoryインターフェースをインプリメントしたクラスであるパースペクティブ・ファクトリ・クラスを指定する必要があります。

 

パースペクティブ・ファクトリ・クラス

パースペクティブ・ファクトリ・クラスでは、パースペクティブの画面レイアウトを実装します。インプリメントできるインターフェースは、org.eclipse.ui.IPerspectiveFactoryインターフェースです(図3)。

IPerspectiveFactoryインターフェース
図3:IPerspectiveFactoryインターフェース
 

パースペクティブの画面をレイアウトする方法は、「独自のパースペクティブの作成」で作成したSamplePerspectiveFactoryク ラスで記述したように、createInitialLayoutメソッドのパラメータorg.eclipse.ui.IPageLayoutインターフェースのcreateFolderメソッドを呼び出し、レイアウトの枠を表すorg.eclipse.ui.IFolderLayoutインターフェースを生成します。そしてIFolderLayoutインターフェースのaddViewメソッドでパースペクティブにビューを追加します。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る