Eclipseのユーザーインターフェイスのうち、大半を占めるのがビューとエディタです。特にビューはワークベンチ内に常に表示されるため、ユーザーが日常作業で必要とする情報や機能を提供することが目的となります。
今回はビューのサンプルとして、ファイルシステムの内容をツリー表示するビューを作成してみます。完成後の様子は図1のようになります。アイコン類はEclipse 3.1に付属のものを利用しました。
ツリービューアを使用したビューの実装
まずは前回「いちばん簡単なEclipseプラグイン」と同様に、[ファイル]→[新規]→[プロジェクト]から[プラグイン・プロジェクト]を選択し、プラグイン・プロジェクトを作成します。プロジェクト名は「jp.sf.amateras.view」としました。テンプレートは特に指定する必要はありません(図2)。
空のプラグイン・プロジェクトを作成したらplugin.xmlを開き、以下の手順でビューを追加します。
1.[拡張]タブで[追加]をクリックし、[新規拡張]ダイアログから[org.eclipse.ui.views]を追加します。
2.追加した拡張ポイントを右クリックし、[新規]→[view]を追加します。
3.追加したエントリを選択し、右側の入力欄を以下のように入力します。
ここまでの操作でplugin.xmlは以下のようになります。必要に応じて確認してください。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
さて、ここからはビューの実装に移ります。マニフェスト・エディタ(「拡張エレメント詳細」)の「class*」の部分のリンクをクリックすることでビューの実装クラスを作成するためのウィザードが起動します。ビューの実装クラスはorg.eclipse.ui.part.ViewPartクラスを継承して作成します。
まずはcreatePartControl()メソッドでビューのユーザーインターフェイスを構築します。ここではツリー形式のビューを作成するためにJFaceのツリービューアを利用します(リスト2)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ビューア(Viewer)はモデル、コンテンツプロバイダ(ContentProvider)、ラベルプロバイダ(LabelProvider)から構成されます。モデルはコンテンツプロバイダによって供給され、ラベルプロバイダによって表示方法が決定されます(図5)。そのため、ビューア自身はモデルの実装を一切知る必要はありませんし、モデルもビューアを意識する必要はありません。
モデルとしては任意のJavaオブジェクトを利用可能ですが、ここではjava.io.Fileオブジェクトをモデルとして使用しています。また、(1)ではツリービューアでディレクトリを先頭にまとめて表示するためのViewerSorterを設定しています。
コンテンツプロバイダ(ContentProvider)はリスト3のように実装してください。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ラベルプロバイダ(LabelProvider)はリスト4のように実装してください。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
この状態でビューの動作を確認してみます。
ランタイム・ワークベンチを起動し、[ウィンドウ]→[ビューの表示]→[その他]から[その他]→[エクスプローラ]を選択してビューを表示してみてください。冒頭で紹介したように、エクスプローラに似たツリービューが現れます(図6)。
Copyright © ITmedia, Inc. All Rights Reserved.