Top / Eclipse / プラグイン開発のTIPS集 / RCPの製品情報などの画面を追加する

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

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 拡張ポイント

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のアイコンをクリックしたときに表示される、フィーチャーの情報を設定する方法です。

feature.png

フィーチャーの設定

フィーチャーの設定は以下の通りです。

  • 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のプラグイン内を検索する、てことが行われてるっぽい。あってるかなあ。。

関連リンク


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  
  • デフォルトは同じIDで、Brandingで指定していればそのプラグイン内を検索してるっぽいなぁ -- きの? 2006-12-20 12:48:38 (水)

Top / Eclipse / プラグイン開発のTIPS集 / RCPの製品情報などの画面を追加する

現在のアクセス:9683


添付ファイル: filefeature.png 848件 [詳細] fileproduct_about.png 929件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-07-31 (火) 23:14:51 (6338d)