« 標準マーカーの属性 | トップページ | マーカーのアイコン »

2004.03.01

新規マーカーの作成

自分なりの新しいマーカーを定義するには,プラグイン・マニフェストに新規マーカー拡張ポイントを利用して定義すればよい。記述内容は今までの中でもかなり単純な部類に入る。

  <extension point="org.eclipse.core.resources.markers"
      id="mymarker"
      name="My Marker">
    <super type="org.eclipse.core.resources.problemmarker"/>
    <super type="org.eclipse.core.resources.textmarker"/>
    <persistent value="true"/>
    <attribute name="myattribute"/>
  </extension>

新規マーカーは,org.eclipse.core.resources.markers拡張ポイントを利用する。id属性はマーカーを特定するためのIDを任意に指定するのだが,プレフィックスとしてプラグインのIDが付加される。例えば,上記の定義がyoichiro.mypluginというIDのプラグインのプラグイン・マニフェストに定義されれば,
  ・yoichiro.myplugin.mymarker
というIDになる。name属性には,このマーカーの名前を値として記述する。

新規マーカーは,他のマーカーを継承して定義する。多重継承が許されているので,上記のようにsuper要素を複数記述することができる。普通はIMarkerインタフェースに定義されている標準マーカーを継承すればよい。ほかには,JDTで定義されているマーカーを継承することもあるだろう。super要素のtype属性に,継承元のマーカーのIDを記述する

定義するマーカーが,一時的なものか,永続化(Eclipseを再起動してもマーカーが消えない)されるものかを,persistent要素で決定する。value属性にtrueを指定すれば永続化falseを指定すれば一時的なマーカーになる。

最後に,attribute要素を使って,マーカーが持つことができる属性を定義する。上記では,myattribute属性をmymarkerマーカーが持つことができると定義している。

これで新規マーカーの定義は完成。マーカーは特別何かクラスを作成する必要はないので,上記だけでOK。
  IResource resource = ...;
  resource.createMarker("yoichiro.myplugin.mymarker");
で,上記の新規マーカーのオブジェクトを作成することができる。

|

« 標準マーカーの属性 | トップページ | マーカーのアイコン »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/12631/249427

この記事へのトラックバック一覧です: 新規マーカーの作成:

« 標準マーカーの属性 | トップページ | マーカーのアイコン »