プラグイン(7) プロパティページの骨格
プロパティページを試しに作ってみる。ビューとかどうやって作るんだろ…
プロジェクトを作る
PDEで File > New > Project
- Plug-in Project
- Project name: org.ashikunep.irenka.studio.properties
- Next
- Plug-in Content
- uncheck: Generate an activator, ...
- Next
- Templates
Available Templates: Plug-in with a property page- uncheck: Create a plug-in using one of the templates
- Finish
プロパティページ作るテンプレートがすでに用意されてるよorz
今後のために、今回はテンプレートつかわね。
拡張ポイントを使ってみる
META-INF/MANIFEST.MF > Extensions
Add > Extension Wizards に Property Page なるものがあるがとりあえず無視。困ったら使うよ。
Add > Extension Point (Tab)
- Extension Point Selection
- uncheck: Show only extension points from the required plug-ins
- Extension Point filter: propertyPages
- select: org.eclipse.ui.propertyPages
- Finish
- (popup) New plug-in dependency
- Yes
マニフェストエディタに戻るので、次のように設定。
- Extension Element Details
- id: org.ashikunep.irenka.studio.properties.samplePropertyPage
- name: Sample property page
- class: org.ashikunep.irenka.studio.properties.SamplePropertyPage
Ctrl+Sでセーブ
振る舞いを書く
マニフェストエディタからクラスを作れる。
"class*:"をクリック
- Java Class
- Finish
org.eclipse.ui.IWorkbenchPropertyPage インターフェースを実装した org.ashikunep.irenka.studio.properties.SamplePropertyPage クラスができる。が、コンパイルできない。どうやらプラグインの依存関係をしっかり解決していないようだ。
META-INF/MANIFEST.MF > Dependencies
- Add
- org.eclipse.core.runtime
これはたまたま知ってたけど、型名からプラグインを逆算するのってどうやるんだろ。
ともあれ、こんな感じのクラスになる。
public class SamplePropertyPage extends PropertyPage implements IWorkbenchPropertyPage { @Override protected Control createContents(Composite parent) { return null; } }