// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。

EclipseSDKの ヘルプ >> Eclipseについて などを見ると、Eclipseのバージョンや名前、説明が表示されますね。さらにフィーチャーへのリンクのアイコンが並んでいて、その一つをクリックすると、そのフィーチャーのバージョンや名前、説明などが表示されます。

#ref(product_about.png)

そこに書いてある情報を設定する方法を調べました。調べたというかEclipseのプラグインの中身を見てみただけですが。

Eclipseはこのような製品情報を設定するための拡張ポイントorg.eclipse.core.runtime.productsというのがあり、そこにいろいろなプロパティ値をセットすることで、情報を追加していきます。その拡張ポイントが定義されているプラグインは、さがしたところorg.eclipse.sdkプラグインにあるみたいです。そのプラグインには、
 plugin.xml
 plugin.properties
 about.mappings
 about.html
 about.ini
 about.properties
などのファイルがあり、これらで値を設定しています。順に見ていきましょう。


*** org.eclipse.core.runtime.products 拡張ポイント [#jf575688]
org.eclipse.sdk にプロダクト拡張ポイントが定義されています。
-plugin.xml
  <extension id="ide" point="org.eclipse.core.runtime.products"> 
    <product name="%productName" application="org.eclipse.ui.ide.workbench" description="%productBlurb"> 
      省略
      <property name="aboutImage" value="eclipse_lg.gif"/> 
      <property name="aboutText" value="%productBlurb"/> 
    </product> 
  </extension>
プロパティaboutImageはEclipseについてのダイアログに表示される左部の画像です。
プロパティaboutTextはダイアログに表示される製品情報の文字列を指定するプロパティです。%productBlurbとなってますが、これは外部のproperties形式のファイルから値を読み込むという意味です。で、%productBlurbはplugin.propertiesにありました。

-plugin.properties
 productBlurb=Eclipse SDK\n\
 \n\
 Version: 3.1.1\n\
 Build id: {0}\n\
 \n\
 (c) Copyright Eclipse contributors and others 2000, 2005.  All rights reserved.\n\
 Visit http://www.eclipse.org/platform\n\
 \n\
 This product includes software developed by the\n\
 Apache Software Foundation http://www.apache.org/

ここまででプロダクト拡張ポイントのaboutTextプロパティは、productBlurbの右辺(?)の値がセットされることがわかりました。たしかに上の画面キャプチャと同じですね。{0}はプレースホルダになっていてabout.mappingsの
 0=M20050929-0840
に置換されます。

「Eclipseについて」のダイアログについてはこれだけです。まあ、割と単純でした。つぎはそのダイアログに並んでいる小さなアイコンのうち、Eclipseのアイコンをクリックしたときに表示される、フィーチャーの情報を設定する方法です。

#ref(feature.png)



***フィーチャーの設定 [#nfe35681]
フィーチャーの設定は以下の通りです。
-about.ini
 # Property "aboutText" contains blurb for "About" dialog (translated)
 aboutText=%blurb
 
 # Property "featureImage" contains path to feature image (32x32)
 featureImage=eclipse32.gif
これで、フィーチャーのaboutTextはblurbという変数であること、フィーチャーのアイコンを表示する(画像はeclipse32.gif)ということが設定されました。さてblurbの値はabout.propertiesにあります。

-about.properties
 blurb=Eclipse Project SDK\n\
 \n\
 Version: {featureVersion}\n\
 Build id: {0}\n\
 \n\
 (c) Copyright Eclipse contributors and others 2000, 2005.  All rights reserved.\n\
 Visit http://www.eclipse.org/eclipse
{0}は先のabout.mappingsの値がセットされます。{featureVersion}はフィーチャのバージョンがセットされます。

さて、ここで疑問がでてきました。product拡張ポイントは、当たり前ですがプラグイン内のplugin.xmlで定義しています。で、featureはそのプラグインとは関係のない、別の場所に配置されています。そしてabout.iniなどはプラグイン側に置かれています。そのフィーチャーとプラグインはなんの関係もないのに「featureのダイアログ開いたら、プラグイン内のabout.iniから値をとってくる」てことをやってるように見えます。ナゾですね。どうやって関連付いているんだろう。。。

どうも、フィーチャーとのIDとプラグインのIDが関係があるっぽく、フィーチャーの説明を表示しようとしたときに、同じIDのプラグイン内を検索する、てことが行われてるっぽい。あってるかなあ。。




***関連リンク [#r48c43cc]
-[[IBM Eclipse RCP アプリケーションを独自ブランド化する - Japan>http://www-06.ibm.com/jp/developerworks/opensource/library/os-eclipse-brand/index.shtml]]



----
この記事は
#vote(おもしろかった,そうでもない)
-デフォルトは同じIDで、Brandingで指定していればそのプラグイン内を検索してるっぽいなぁ -- [[きの]] &new{2006-12-20 12:48:38 (水)};

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS