Top / Eclipse / プラグイン開発のTIPS集 / イントロ(概要画面)を作る

イントロ画面(概要画面)とは、Eclipseを初めて起動したときに表示される、ワークベンチを覆う青い画面のことです。初めてアプリを使うヒトのための「ようこそ」画面ですね。

basicIntro.png

拡張ポイント

org.eclipse.ui.intro

後のorg.eclipse.ui.intro.config.CustomizableIntroPart?などを使う場合は、plugin.xmlで <import plugin="org.eclipse.ui.intro"/> を追加してください。

plugin.xmlのサンプル

<extension point="org.eclipse.ui.intro">
 <intro class="nu.mine.kino.plugin.samples.rcp.SampleIntroPart"
     icon="icons/sample.gif"
     id="nu.mine.kino.plugin.samples.rcp.intro1"/> <-イントロのID
 <introProductBinding
     introId="nu.mine.kino.plugin.samples.rcp.intro1" <-上のイントロのID
     productId="nu.mine.kino.plugin.samples.rcp.product"/> <-rcpのproductID
</extension>

拡張ポイントに対応するJavaのインタフェースは

org.eclipse.ui.intro.IIntroPart

ですがEclipseが

org.eclipse.ui.part.IntroPart : 自分でウィジェットを置いていく場合
org.eclipse.ui.intro.config.CustomizableIntroPart : コンテンツxhtmlを読み込んで表示する場合

などを提供してくれています。

やってみる

例1

ここまでで、nu.mine.kino.plugin.samples.rcp.productというRCPプロダクトにintroContent.xmlというイントロ画面を追加する、という意味になりました。またhome-page-id="root"でintroContent.xml内のid="root"が初めのxhtmlですよ、ということを意味しています。

というわけで、引き続きintroContent.xmlです。

引き続きcontent/root.xhtmlです。

phase1.png

例2

既存のイントロに、拡張ポイントを使ってコンテンツを追加する。

この拡張ポイントで、さっきのconfigのIDにext.xmlというコンテンツを追加する、という意味になります。さらにext.xmlは以下の通り:

まだなんか理解できていないですがpath="root/anchor1"のタグで、ページIDがrootで、その中のanchor1というアンカー(さっき後述といっていた)の場所に、content/extContent.xhtmlを追加で挿入する、という意味になります。また新たにconcept3というページIDを定義しています。

これでこのextContent.xhtmlの内容が、既存のイントロxhtml(root.xhtml)のanchor1の箇所に挿入されます。

phase2.png

これってxhtmlがxmlだからこんな芸当ができるんですよねぇ。こんなEclipse作ったIBMもすごいけど、やっぱxhtml(xml)って偉大ですね。。。。

TIPS

イントロ画面を再表示する

消したイントロ画面を再表示するには

IWorkbench.getIntroManager()
  .showIntro(IWorkbenchWindow preferredWindow,boolean standby)

をよべばよい。boolean standbyは、IIntroManagerのJavaDocによるとstandby - true to put the intro part in its partially visible standy mode, and false to make it fully visible なので、全画面を覆い隠したい場合はfalse,一部分に出したい場合はtrueみたいです。

ちなみに、ActionFactory?から取得できる org.eclipse.ui.internal.IntroAction?

workbenchWindow.getWorkbench().getIntroManager().showIntro(
        workbenchWindow, false);

となってましたね。

関連リンク

Eclipseのヘルプを「概要部分の定義」で検索してヒットするページは非常に参考になります。イントロを作る場合は必見です。


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

Top / Eclipse / プラグイン開発のTIPS集 / イントロ(概要画面)を作る

現在のアクセス:11192


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS