Preference ページを作る
今のままだと LG3D を起動するにしても、LG3D をインストールしたディレクトリが決めうちなのが問題です。
そこで、Preference ページを作ってインストールしたディレクトリを設定できるようにしてみます。
まずは Extensions タブから Extension Point を新たに設定します。もう、何度もやっているので、ここだけは覚えました ^^;;
左側の All Extensions の [Add...] をクリックして、Preference ページの Extensions である org.eclipse.ui.preferencePages を追加します。
そして、追加した org.eclipse.ui.preferencePages の上で右クリックして [New] -> [page] を選択します。
ページが追加できたので、今度は右側の Extension Element Details を埋めました。
id: jp.gr.java_conf.skrb.lg3d.wrpe.page1 name: Project Looking Glass class: jp.gr.java_conf.skrb.lg3d.wrpe.preference.LG3DPreferencePage
だいたい、今までの経験だと (少ないですけど...) name が実際に Preferences の項目名になるはずです。
LG3DPreferencePage もスケルトンを作ってくれました。
package jp.gr.java_conf.skrb.lg3d.wrpe.preference; import org.eclipse.jface.preference.PreferencePage; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; public class LG3DPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { public LG3DPreferencePage() { super(); } public LG3DPreferencePage(String title) { super(title); } public LG3DPreferencePage(String title, ImageDescriptor image) { super(title, image); } @Override protected Control createContents(Composite parent) { return null; } public void init(IWorkbench workbench) { } }
おぉ、@Override アノテーションが使われていますよ。すごいですねっ、これは。
ということは IWorkbenchPreferencePage インタフェースで定義されているのでしょうか。さっそく、Javadoc だ。
予想に反して、違いました ^^;;;; IWorkbenchPreferencePage インタフェースは init が定義されているようです。
それじゃ、PreferencePage クラスを見てみます。ありました、ありました。ちゃんと createContents メソッドがあります。
よく考えてみたら、@Override アノテーションは書きかえたことを示すのですから、インタフェースで定義されたメソッドにはつかないですね ^^;;
LG3DPreferencePage クラスがあるので、そのまま実行できるはずです。
というわけで実行!