<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> | |
<!-- saved from url=(0110)http://ria03-se.oss.nttcom.co.jp/public/technology/eclipse/rcp_tutorial/rcp_tutorial_ja2/rcp_tutorial_ja2.html --> | |
<HTML><HEAD><TITLE>RCP Tutorial: Part 2</TITLE> | |
<META http-equiv=Content-Type content="text/html; charset=shift_jis"><LINK | |
href="rcp_tutorial_ja2.files/default_style.css" rel=stylesheet> | |
<STYLE type=text/css>.style1 { | |
FONT-WEIGHT: bold | |
} | |
</STYLE> | |
<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD> | |
<BODY vLink=#800080 link=#0000ff> | |
<DIV align=right><FONT face="Times New Roman, Times, serif" size=2>© 2005 by | |
Frank Gerhardt, Christian Wege; made available under the EPL v1.0<BR> | |
Translation copyright © Toru Kawashima, NTT COMWARE CORPORATION </FONT> | |
<TABLE cellSpacing=0 cellPadding=2 width="100%" border=0> | |
<TBODY> | |
<TR> | |
<TD vAlign=top align=left bgColor=#0080c0 colSpan=2><B><FONT | |
face=Arial,Helvetica><FONT color=#ffffff> Eclipse Corner | |
Article</FONT></FONT></B></TD></TR></TBODY></TABLE></DIV> | |
<DIV align=left> | |
<H1><IMG height=86 src="../index.files/Idea.jpg" width=120 | |
align=center></H1> | |
</DIV> | |
<H1 align=center>RCP Tutorial: Part 2 </H1> | |
<BLOCKQUOTE> | |
<P><B>Summary</B><BR> | |
±Ì Tutorial ÅÍ EclipseCon 2005 Åsíê½ Tutorial ðT}Å <A | |
href="rcp_tutorial_ja1.html">Part 1</A>, Part 2 ɪ¯ÄÐîµÜ·B<A | |
href="rcp_tutorial_ja1.html">Part 1</A> ÅÍÆÁÄàVvÈAvP[VðJµAzzµÄ®ìðmFµÜµ½B¡ñͳçÉÊÌAvP[Vð쬵ÄwvÌÇÁÆXVÌdgÝðÇÁÄÝÜ·B</P> | |
<P><b><img src="kawashima.jpg" width="65" height="100" align="right"></b>¦ ±ÌRecÍ | |
<A href="http://www.eclipsecon.org/2005/index.php" | |
target=_blank>EclipseCon 2005</A> Åsíê½ <A | |
href="http://www.eclipsecon.org/2005/event.php?id=15" target=_blank>Tutorial | |
08: Developing Eclipse Rich Client Applications</A> Ì<A | |
href="EclipseCon2005_Tutorial8.pdf" | |
target=_blank>eLXg</A>ð|óµ½àÌÅ·B´{Ìì ÍÌƨèÅ·F copyright 2005 by Frank Gerhardt, | |
Christian Wege; made available under the EPL v1.0</P> | |
<P><B>By Toru Kawashima, NTT COMWARE CO. </B><br> | |
<FONT size=-1>2005 / 4 / 25 </FONT></P> | |
</BLOCKQUOTE> | |
<HR width="100%"> | |
<H2>ͶßÉ</H2> | |
<P><A | |
href="rcp_tutorial_ja1.html">Part 1</A> ÅÍAHello RCP AvP[VÌì¬Æ\¢ÌmFA³çÉzz·é±ÆÉæÁÄAIDE | |
ƵÄÌ Eclipse ÅÍÈAAvP[VƵÄÌ Eclipse ð̱µÄ¢½¾¯½Æv¢Ü·B </P> | |
<P>¡ñÍAX¡GÈ[AvP[Vð쬵iÆ¢ÁÄà template ðpµÜ·ªjAwvVXeðÇÁµÜ·B³çÉ branding | |
ðÁ¡µ½ feature | |
ðÇÁµÜ·B»µÄAOñƯlÉzz̽ßÉAvP[VðpbP[WOµÜ·B³çÉAAbvf[gTCgâAbvf[g}l[WðpµÄÇÌæ¤ÉAbvf[g·é©ðÐîµÜ·B</P> | |
<P>¡ñàAEclipse ɯ«³êÄ¢é template ðpµÜ·B±Ì template Í Eclipse ÌR|[lgðÇÁµ½èAJÌ | |
Step ðfXg[V·éÌÉñíÉðɧ¿Ü·B</P> | |
<P> </P> | |
<H2>Product ƵÄÌ Rich Client Application - rcpmail</H2> | |
<P>OñÜÅÅAàÁÆàVvÈb`NCAgAvP[Vªì¬Å«Üµ½BÍव¡GÈàÌÉ`WµÄÝܵå¤B</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> rcpmail | |
ð쬵ÄÝÜµå¤ </P> | |
<UL> | |
<LI>PDE perspective ãÅVµ¢ plug-in project ðì¬ | |
<LI>Name: rcpmail | |
<LI>Next | |
<LI>"Would you like to create a rich client application?" > "Yes" | |
<LI>"RCP Mail Template" ðIð<BR>¦ev[gÌà¾ð©ÄÝÜµå¤ | |
<LI>Finish | |
<LI>rcpmail AvP[VðN® </LI></UL> | |
<BLOCKQUOTE> | |
<P><IMG height=281 src="rcp_tutorial_ja2.files/rcpmail1.gif" | |
width=422></P></BLOCKQUOTE> | |
<P>¶¬³ê½AvP[Vð©ÄÝܵå¤B</P> | |
<H3>Screen</H3> | |
<P>N®µ½æÊͳ«ÙÇÌ rcpdemo ÆÍáÁĢܷB±ÌæÊÍ Plug-in Manifest Editor ÉæÁÄ branding | |
³ê½v_NgÉÈÁĢܷB</P> | |
<P>Plug-in Manifest Editor Ì "extention" ^uÌ | |
<CODE>org.eclipse.core.runtime.product | |
</CODE>ð©ÄÝܵå¤B»±ÅÍAEBhEC[Wâ_CAOC[WAAoEg_CAOeLXgªè`³êĢܷB³çÉX^[gAbvÅN®·év_Ngàè`³êĢܷB</P> | |
<H3>úCAEg</H3> | |
<P>p[XyNeBuNXÉÍA¶é±ÆÌÅ«È¢c[irQ[^ÆÐÆÂ̶é±ÆÌÅ«éX^bNr [ªÁ¦çêĢܷB³çÉAÇÁ³ê½UIvfiTCYÈÇjÌvpeBàè`³êĢܷB</P> | |
<H3>About dialog</H3> | |
<P>j [©ç "about dialog" ðJ¢ÄÝܵå¤Bfeature \¦ÌÈ¢AWIÈ_CAOªoÄ«Ü·BRCP | |
ÍAbvf[g}l[WðÁĢȢÌÅA"features" ÉÖ·é\LðÁĢܹñBÅ·ÌÅA±±ÉÍ\¦³êÈ¢ÌÅ·B</P> | |
<P>±Ì "about dialog" ðJÆ¢¤s×Í Action ÈÌÅA<CODE>ActionBuilder</CODE> | |
NXÉæÁÄÇÁ³êÜ·B±Ì_CAOANVÍ<CODE>ApplicationActionBarAdvisor</CODE> NXÌÌ | |
Eclipse Ì <CODE>ActionFactory</CODE> ÉæÁĶ¬³êÜ·B</P> | |
<BLOCKQUOTE><PRE>aboutAction = ActionFactory.ABOUT.create(window); | |
register(aboutAction);</PRE></BLOCKQUOTE> | |
<P> </P> | |
<H2>Help ÌÇÁ </H2> | |
<P>wvVXeÍ RCP ÉIvVƵÄÇÁÅ«Ü·B»êÅÍ rcpmail ÉwvðÇÁ·éXebvðÇÁÄÝܵå¤B</P> | |
<H3>Help plug-in Ìì¬</H3> | |
<P>wvð쬷é½ßÉAwvRecðÜÞwvvOCð쬵ܷB</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
HelpvOCð쬵ÄÝܵå¤</P> | |
<UL> | |
<LI>New Plug-in Project ð쬵AName: rcphelp | |
<LI>ev[gIðæÊÜÅiÞ | |
<LI>"Custom plug-in wizard" ðIð | |
<LI>"Help Table of Contents" ð`FbNµA»Ì¼ðIðð | |
<LI>"Primary" ð`FbNµ Finish </LI></UL> | |
<H3>SDK Å Help plug-in ÌeXg</H3> | |
<P>wvvOCðeXg·é½ßÉAEclipse | |
ɯ«³êÄ¢éwvVXeÆRecðpµAwvvOCÉ»ÌRecð\¦³¹Ü·Brcpmail | |
ÍܾwvVXeðÁĢܹñÌÅAÜ¸Í Eclipse ãÅwvVXeª®ì·é±ÆðmFµÜ·B</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
wvðN®µÄÝܵå¤</P> | |
<UL> | |
<LI>wvvOCÌ Plug-in Manifest Editor Ì "Overview" ^uÅA"Launch an Eclipse | |
application" ðÀs | |
<LI>workbench ãÉAwvvOCª\¦³ê½±ÆðmF </LI></UL> | |
<BLOCKQUOTE> | |
<P><IMG height=279 src="rcp_tutorial_ja2.files/help1.gif" | |
width=347></P></BLOCKQUOTE> | |
<H3>Help UI Ì ÇÁ</H3> | |
<P>rcpmail ÉwvðÇÁ·é½ßÉAj [Æj [©çN®³êéANVÆwvVXe»ÌàÌðÇÁµÜ·BêÊÉAEclipse ÍUI | |
ðÇÁ·é½ßÌ2ÂÌû@ðñµÄ¢Ü·BJava | |
Å©ªÅLq·éû@ÆAg£|Cgðp·éû@Å·B±±ÅÍAÅÌû@ðg¢Ü·B2ÂÚÌû@ÍãÙÇÐîµÜ·B</P> | |
<P>¶¬µ½ rcpmail Í·Åɢ©Ìj [ÆANVªÝè³êĢܷB±êçªè`³êÄ¢é | |
<CODE>ApplicationActionBarAdvisor</CODE> NXãÌè`ðg£µÄÝܵå¤B</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
±±©çÌèð¨ÁÄwvj [ðÇÁµÄÝܵå¤</P> | |
<P>ܸA®«ðÇÁµÜ·B</P> | |
<BLOCKQUOTE><PRE>private IWorkbenchAction helpAciton;</PRE></BLOCKQUOTE> | |
<P>ÉA[Uªj [©çwvðN®µ½Æ«ÌANVðè`µÜ·B</P> | |
<BLOCKQUOTE><PRE>protected void makeActions(final IWorkbenchWindow window) { | |
... | |
helpAction = ActionFactory.HELP_CONTENTS.create(window); | |
register(helpAction); | |
... | |
}</PRE></BLOCKQUOTE> | |
<P>ÅãÉj [ÉwvÌj [ðÇÁµÜ·B</P> | |
<BLOCKQUOTE><PRE>protected void fillMenuBar(IMenuManager menuBar) { | |
... | |
helpMenu.add(helpAction); | |
}</PRE></BLOCKQUOTE> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> »êÅÍÌ Step Å | |
rcpmail ðN®µÄÝܵå¤B</P> | |
<UL> | |
<LI>rcpmail Ì "Dependencies" É rcphelp plug-in ðÇÁ | |
<LI>launch configuration ðJ¢ÄAvOCXgÉ rcphelp ðÇÁ | |
<LI>launch configuration ©çN® </LI></UL> | |
<P>àµAvP[VªN®µÈ©Á½çOð`FbNµÄÝÜ·B</P> | |
<UL> | |
<LI>launch configuration Ì "plug-ins" ^uðJ | |
<LI>"Add Required Plug-ins" ðÀs </LI></UL> | |
<P>±êÅ rcphelp vOCªÇÁ³êܵ½Bà¤êxN®µÄÝܵå¤B</P> | |
<P>j [Éwvª©Â©èܵ½©Bµ©µAܾwvªN®ªÅ«Ü¹ñBÀÍܾ«èÈ¢vOCª éÌÅ·B</P> | |
<P>RCP Í <CODE>org.eclipse.help</CODE> | |
Æ¢¤vOCðÜñŢܷB±êÍwvVXe»ÌàÌÅÍÈAwvVXeÌg£|Cgðè`µÄ¢é¾¯Å·BÌwvVXeÍ Eclipse | |
SDK É é¢Â©ÌvOCÅÀ³êÄ¢éÌÅ·BPDE | |
«ÅÍA±êçÌvOCðÇÁ·éKvª é±ÆÉÈèÜ·BïÌIÉÍÌvOCÅ·B</P> | |
<UL> | |
<LI><CODE>org.eclipse.help.appserver</CODE> | |
<LI><CODE>org.eclipse.help.base</CODE> | |
<LI><CODE>org.eclipse.help.ui</CODE> | |
<LI><CODE>org.eclipse.help.webapp</CODE> </LI></UL> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> "Add required | |
plug-ins" ðÀsµÄV½ÉvOCðÇÁµÄAvP[VðÀsµÄÝܵå¤B</P> | |
<P>µ©µAܾwvVXeªN®µÜ¹ñB±±ÅAG[bZ[WÆÆàÉOð©ÄÝܵå¤BÌæ¤ÈbZ[WªoͳêĢܷB</P> | |
<BLOCKQUOTE><PRE>org.eclipse.core.runtime.CoreException: Exception occurred starting application server. | |
at org.eclipse.help.internal.appserver.AppserverPlugin.startWebappServer (AppserverPlugin.java:142)</PRE></BLOCKQUOTE> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/note.gif" width=62> log: | |
<workspace-dir>\runtime-EclipseApplication\.metadata\.log</P> | |
<P>±ÌªÌ\[XR[hð©éÆAg£|CgÌg£ªëÁÄ¢é±Æªí©èÜ·B¿ÈÝÉA±Ì\[XR[hð©é½ßÉÍA»ÝÌ workspace | |
ÉvOCðC|[g·éKvª èÜ·B</P> | |
<BLOCKQUOTE><PRE>if (appServer == null) | |
throw new CoreException(new Status(IStatus.ERROR, PLUGIN_ID, | |
IStatus.OK, | |
AppserverResource.getString("Appserver.start", null))</PRE></BLOCKQUOTE> | |
<P>±Ì´ö𳪵ÄÝܵå¤B</P> | |
<BLOCKQUOTE> | |
<P><IMG height=183 src="rcp_tutorial_ja2.files/search1.gif" | |
width=391></P></BLOCKQUOTE> | |
<P>±±ÅÌÝèªÔáÁÄ¢éæ¤Å·B³ð½ÇÁÄ¢ÆAAPP_SERVER_EXTENSION_ID | |
Åwè³êÄ¢ég£|CgÌæ¤Å·B±Ìg£|CgªÇ±É éÌ©TµÄ©Ü·B</P> | |
<BLOCKQUOTE> | |
<P><IMG height=270 src="rcp_tutorial_ja2.files/search2.gif" | |
width=361></P></BLOCKQUOTE> | |
<P>õÌÊA<CODE>org.eclipse.tomcat</CODE> ª©Â©èܵ½BÀÍAEclipse ÌwvVXeÍ | |
Application Server ÆµÄ TOMCAT ðpµÜ·BæÁÄ TOMCAT ðp·é½ßÌvOCàÇÁ·éKvª èÜ·B</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
vOCðÇÁµÄÝܵå¤</P> | |
<UL> | |
<LI>launch configuration É <CODE>org.eclipse.tomcat</CODE> ð "Add required | |
plug-ins" ÅÇÁ | |
<LI><CODE>org.eclipse.ant</CODE> àÇÁ³êé | |
<LI>Às | |
<LI>j [©çwvðN® </LI></UL> | |
<P>±±ÜÅÅ©Ä«½æ¤ÉAEclipse | |
ðgÁ½JÅKvÈvOCð©Â¯éÆ¢¤±ÆÍܾܾ\ªÆÍ¢¦Ü¹ñB` [gAƵÄÍͶߩçKvÈvOCð¦µÄÇÁ·êηñŵܢܷªA±Ìæ¤É | |
Eclipse | |
Ìà\¢âg£|CgÉ¢IJ×ÄÝé±ÆàãXðɧÂÆvíêÜ·B©Æ¢ÁÄñ²×ȯêÎÈçÈ¢æ¤ÈçÎAJø¦Ì_©çÝÄà}ÉüP³êé±Æª]ÜêÜ·B</P> | |
<H3>connfig.ini ÌÏX</H3> | |
<P>zzpÉAvP[VðGNX|[g·é½ßÉÍAconfig.ini ðC³·éKvª èÜ·B±êÍÈPÈìÅs¦Ü·B</P> | |
<UL> | |
<LI>ÈÉàpµÄ¢È¢ RCP distribution ©ç cinfig.ini ð rcpmail ÉRs[ </LI></UL> | |
<P>Eclipse ð·ÅÉpµÄ¢éûÈ粶m̱ÆÆv¢Ü·ªAEclipse ÌvOCÌCXg[ÍAY·ét@Cð plug-in | |
fBNgÉRs[·é¾¯ÅAÁÉRtBO[Vt@CðìµÄ¢é±ÆÍ èܹñB±êÍ Eclipse | |
ÌRtBM [^ªN®É®IÉvOCXgð\¬µÄ¢é©çÅ·BæÁÄArcpmail à±Ì`ÅN®Å«éæ¤ÉµÄÝܵå¤B</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
RtBO[VðC³µÄÝܵå¤</P> | |
<UL> | |
<LI>config.ini Ì "osgi.bundles" Æ "eclipse.product" ÌÝèðȺÉÝè </LI></UL> | |
<BLOCKQUOTE><PRE>osgi.bundles=org.eclipse.core.runtime@2:start, | |
org.eclipse.update.configurator@3:start | |
eclipse.product=rcpmail.product</PRE></BLOCKQUOTE> | |
<UL> | |
<LI>launch configuration Ì "configuration" ^uÉıÌt@Cðev[gƵÄwè </LI></UL> | |
<BLOCKQUOTE> | |
<P><IMG height=88 src="rcp_tutorial_ja2.files/config1.gif" | |
width=421></P></BLOCKQUOTE> | |
<UL> | |
<LI>"plug-ins" ^uÅ <CODE>org.eclipse.update.configurator</CODE> ðÇÁ | |
<LI>N® </LI></UL> | |
<P>൱±ÅN®É¸sµ½êAâRtBO[VÝèðgÁĵÜÁ½Â\«ª èÜ·BEclipse runtime | |
ÍAßÄN®·éÆ«ÉÍKvÈvOCÌXgð쬵A»êðRtBO[VGAÉi[µÜ·BñÌN®©çͱÌLbV îñðpµÄN®µÜ·BPDE | |
application launcher ÅÍAN®ÉñRtBO[VGAðú»·éæ¤ÉÝèÅ«Ü·B</P> | |
<BLOCKQUOTE> | |
<P><IMG height=199 src="rcp_tutorial_ja2.files/config2.gif" | |
width=421></P></BLOCKQUOTE> | |
<P>¢ÂÅàN®Éú»·éKvÍ èܹñªAJÈÇAvOCÌÇÁíªpÉÉsíêéÆ«ÉÍÆÄàLøÅ·B</P> | |
<H3>RCP distribution ÖÌWJ</H3> | |
<P>rcpmail ÌWJÍ rcpdemo ÌæèàᱡGÉÈèÜ·Brcpdemo ÌÍ èܹñŵ½ªArcpmail Í RCP | |
distribution ÉÍÈ¢vOCðÜñÅ¢é©çÅ·Bµ©µA3.1M5 Ìo[W©ç Eclipse ÉÍ RCP export wizard | |
ªpӳ꽨©°ÅÈPÉèð¥ßéæ¤ÉÈèܵ½B</P> | |
<P>wizard ðN®·éOÉAproduct configuration t@CðpӵܷB±êÍܽÊÌ wizard Éæ趬ūܷB</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
RtBM [Vt@Cðpӵܵå¤</P> | |
<UL> | |
<LI>rcpmail vWFNgãÅENbNµÄ new product configuration ð쬵ܷ | |
<LI>File name: rcpmail.product | |
<LI>"Use a launch configuration" ð`FbN | |
<LI>¡Ìhbv_EXg©ç rcpmail ÌN®ÉgÁ½ launch configuration ðIðµÜ· | |
<LI>Finish </LI></UL> | |
<BLOCKQUOTE> | |
<P><IMG height=449 src="rcp_tutorial_ja2.files/productconfig1.gif" | |
width=307></P></BLOCKQUOTE> | |
<P>ÉAproduct configuration wizard ªN®µÄ«Ü·B"Overview" ^uÍv_Ng ID | |
âAvP[VÈÇÌî{Ýèª èÜ·BÅÍAÝèµÄ¢«Üµå¤B</P> | |
<P>"Configuration" ^uÍ launch configuration ©çoµ½KvÈvOCÌXgª èÜ·Bconfig.ini | |
t@Cà¯Å·B·ÅÉ config.ini Í èÜ·ÌÅ»êªIð³êĢܷB</P> | |
<P>"Branding" ^uÅÍAAvP[VÌ©h¦ðÏXÅ«Ü·B</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> WJµÄÝܵå¤</P> | |
<UL> | |
<LI>Ýèð©RÉÏXBÊÍN®µÄmF | |
<LI>"Overview" ^uÅ <CODE>zip</CODE> t@CðwèµÄ export | |
<LI>ì¬³ê½ <CODE>zip</CODE> ðWJ | |
<LI>WJµ½AvP[VðN® </LI></UL> | |
<P> </P> | |
<H2>rcpmail ÖÌ Update-Manager ÌÇÁ</H2> | |
<P>Update manager Í Eclipse x[XÌAvP[VÌ update ðzz·éÌÉÆÄàð§¿Ü·iEclipse | |
Ì\tgEFAÌXVÅyðµÄ¢éûརŵå¤jBRCP | |
ɨ¢ÄÍIvVÌÊuïƢ¦Ü·ª±ÌdgÝͺÐüêĨ«½¢àÌÅ·B»±ÅArcpmail É update manager | |
ðÇÁµÄ¢±ÆɵܷBUpdate Manager Í Eclipse Ì feature ƵÄpbP[W³êÜ·B</P> | |
<P>ñ©ÆµÄAfeature project ̼OÍ "...-feature" ƵĽ¼µÜ·BæÁÄ rcpmail Ì feature Í | |
rcpmail-feature ÆÈèÜ·Bµ©µAfeature ì¬EBU[hɨ¢ÄAfeature ID Í»êɽµÄ "rcpmail" | |
ÉÈèÜ·B±êÍAÇÌ feature à branding vOCðÂÅ ë¤ÉÖWµÄ¢Ü·BêÊÉÍAbranding vOCÌ ID Í | |
feature ID Ư¶ÉÈèÜ·Bfeature }jtFXgãÅÍÙÈÁ½ branding vOC ID | |
ðt^·é±ÆàÅ«Ü·B±Ì` [gAÌP[XÅÍA¡ é rcpmail vOCª brnading vOCÌÊuïÆÈèÜ·B</P> | |
<P>ÅͬAVK feature ̽ßÌ branding vOCð쬵ܵå¤B</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> branding | |
vOCð쬵ܵå¤</P> | |
<UL> | |
<LI>new plug-in project ðì¬ | |
<LI>Name: rcpmailbase | |
<LI>"Create a Java project" Ì`FbNð<STRONG>͸·</STRONG> | |
<LI>Finish </LI></UL> | |
<P>±Ì branding vOCÍÌ feature ðKvƵܷB</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> feature | |
vOCð쬵ܵå¤</P> | |
<UL> | |
<LI>new feature project ðì¬ | |
<LI>Name: rcpmailbase-feature | |
<LI>Feature ID: rcpmailbase | |
<LI>cèÍftHgÌÜÜ | |
<LI>vOCXgÌÌ launch configuration É évOC̤¿ "rcpmail" Æ "rcphelp" | |
<STRONG>ÈOð`FbN</STRONG> | |
<LI>rcpmailbase vOCðXgÉÇÁ | |
<LI>Finish </LI></UL> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
±±Å¡ÜÅ쬵½vOCðÜÞ feature ð쬵ܵå¤</P> | |
<UL> | |
<LI>new feature project ðì¬ | |
<LI>Name: rcpmail-feature | |
<LI>Feature ID: rcpmail | |
<LI>cèÍftHgÌÜÜ | |
<LI>vOCXgÌÅA"rcpmail" Æ "rcphelp" ð`FbN | |
<LI>Finish | |
<LI>}jtFXgGfB^[Ì "Included features" ^uÅ rcpmailbase feature ðÇÁ | |
<LI>"Dependencies" ^uÅXgðNA </LI></UL> | |
<P>wvVXeÌÌæ¤ÉAupdate manager dialog ðj [ÉÇÁµA¢Â©ÌvOCð launch | |
configuration ÉÇÁµÜ·B±±ÅAQlÉ Eclipse SDK Ìj [ð©ÄÝܵå¤iHelp > Software | |
Updates > Find and Installj</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> Eclipse | |
ÍǤÈÁÄ¢é©H </P> | |
<UL> | |
<LI>t@Cõ_CAOðJ | |
<LI>Containing text: "Find and Install" | |
<LI>File name pattern: "plugin.properties" | |
<LI>Scope: Workspace<BR>¦õÎÛÍ Workspace ÉC|[gµÄ¨Kvª èÜ· </LI></UL> | |
<BLOCKQUOTE> | |
<P><IMG height=102 src="rcp_tutorial_ja2.files/search3.gif" | |
width=349></P></BLOCKQUOTE> | |
<UL> | |
<LI><CODE>org.eclipse.ui.ide</CODE> Ì plugin.properties ðJ | |
<LI><CODE>UpdateActionSet.updates.label </CODE>Ìè`ðmF | |
<LI><CODE>org.eclipse.ui.ide</CODE> }jtFXgã̱Ìè`ðmF | |
<LI>¯ãÌj [Gg[ÉÇÁ³ê½ANVZbgÌè`ðmF | |
<LI>¯lÉȺÌè`ð rcpmail ÉRs[µÄKp </LI></UL> | |
<BLOCKQUOTE><PRE><extension | |
point="org.eclipse.ui.actionSets" > | |
<actionSet | |
label="UpdateActionSet.label" | |
visible="true" | |
id="rcpmail.softwareUpdates"> | |
<menu | |
label="%UpdateActionSet.menu.label" | |
id="rcpmail.updateMenu"> | |
</menu> | |
<action | |
label="%UpdateActionSet.updates.label" | |
icon="icons/usearch_obj.gif" | |
class="rcpmail.rcp.InstallWizardAction" | |
menubarPath="help/rcpmail.updateMenu" | |
id="rcpmail.newUpdates"> | |
</action> | |
</actionSet> | |
</extension></PRE></BLOCKQUOTE> | |
<UL> | |
<LI>¯lÉAplugin.properties ©çÏè`ÆACRðRs[ </LI></UL> | |
<P><CODE>org.eclipse.ui.ide | |
</CODE>Ì}jtFXgð©éÆA<CODE>org.eclipse.ui.internal.ide.update.InstallWizardAction</CODE> | |
ðQƵĢé±Æªí©èÜ·BæÙÇRs[µ½g£ÌÝèÅͱÌvOCàÌNXÉ˶µÄµÜ¢Ü·B©ªÅìÁ½vOCª Eclipse | |
àÌNXÉ˶·éÌÍÇãDܵȢÌÅA<CODE>InstallWizardAction</CODE> ðRs[µ rcpmail | |
[JÌNX𶬵ܷBæÌÝèÅÍ·ÅÉ action Ì class ÌÝ誻Ìæ¤ÉÈÁĢܷB</P> | |
<P>±ÌRs[µ½NXÍ <CODE>org.eclipse.update.ui</CODE> | |
vOCðQƵĢܷBæÁıêðvOCXgÉÇÁ·éKvª èÜ·B</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
vOCðÇÁµÄN®µÄÝܵå¤</P> | |
<UL> | |
<LI>rcpmail Ì dependencies XgÉ <CODE>org.eclipse.update.ui</CODE> ðÇÁµAÛ¶ | |
<LI>launch configuration ðJ¢Ä "Add required plug-ins" ðÀs | |
<LI>N®µÄACXg[EBU[hðN® </LI></UL> | |
<BLOCKQUOTE> | |
<P><IMG height=154 src="rcp_tutorial_ja2.files/rcpmail2.gif" | |
width=409></P></BLOCKQUOTE> | |
<H3>RCP destribution ÖÌWJ</H3> | |
<P>±±ÅÍ update manager ðpµÄXVÅ«éæ¤É rcpmail feature ðGNX|[gµÜ·B</P> | |
<P>feature ðXVÅ«éæ¤É·éÉÍAbvf[gTCgÌ feature.xml ðpӵܷB</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
Abvf[gTCgðõµÜµå¤ </P> | |
<UL> | |
<LI>"Overview" ^uðJ¢ÄAbvf[gTCgÌ URL ðüÍ<BR>URL: | |
"file:/<workspace-dir>/rcpmail-site/" | |
<LI>Abvf[g}l[WÉKvÈÌvOCð rcpmailbase feature ÉÇÁµÜ· | |
<UL> | |
<LI><CODE>org.eclipse.update.core</CODE> | |
<LI><CODE>org.eclipse.update.ui</CODE> </LI></UL></LI></UL> | |
<P>RCP export wizard ðpµÄAvP[VðGNX|[gµÜ·B¡ñÍAAbvf[g}l[WðpµÄXVÅ«éæ¤É | |
feature ƵÄ쬵īĢܷB»±ÅAproduct configuration ð feature pÌ product | |
configuration ÉÏX·éKvª èÜ·B±êÉæÁÄ product configuration | |
t@CÌvOCXgÌÇ©çJú³êAfeature ÌÇÌÝ·êÎæ¢æ¤ÉÈèÜ·Brcpmail ɨ¢ÄÍ rcpmailbase | |
feature 1¾¯Å·B</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
GNX|[gµÄÝܵå¤</P> | |
<UL> | |
<LI>rcpmail.product ðJ | |
<LI>"Overview" ^uÅ feature-based configuration ÉÏX | |
<LI>"Configuration" ^uÅ rcpmail feature ðÇÁ | |
<LI>product ð export µAðµAN® | |
<LI>CXg[EBU[hªN®<BR>¦ ½¾AAbvf[gTCgÍܾȢÌÅXVÍÀ{³êܹñ | |
<LI>About dialog àN®µÜ·ÌÅ feature ÍÆàÉ®ìµÄ¢é±ÆðmF </LI></UL> | |
<H3>update site Ìì¬</H3> | |
<P>Abvf[gTCgÍAAbvf[gâù¶ feature ÌVo[WAÜÁ½Vµ¢ feature | |
ðñµÜ·BAbvf[g}l[WðpµÄXVðÂ\É·é½ßÉÍÈÉæèAbvf[g³ê½ feature ªKvÅ·B</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
Abvf[gð쬵ÄÝܵå¤</P> | |
<UL> | |
<LI>rcpmail | |
ÌDZ©ÌR[hðC³<BR><CODE>ApplicationWorkbenchWindowAdvisor.preWindowOpen()</CODE> | |
Ì workbench window TCYðÏXµÄÝÜµå¤ | |
<LI>rcpmail vOCÌ}jtFXgÌo[Wð 1.0.1 ÉAbv | |
<LI>rcpmail feature Ì}jtFXgÌo[Wð 1.0.1 ÉAbv | |
<LI>rcpmail feature Ì "Overview" ^uÌ "Export" Ì Synchronize Å rcpmail | |
vOCÌo[WƯú </LI></UL> | |
<BLOCKQUOTE> | |
<P><IMG height=197 src="rcp_tutorial_ja2.files/manifest2.gif" | |
width=443></P></BLOCKQUOTE> | |
<P>±êÅ feature ªAbvf[gūܵ½B±êðpbP[WOµÄAbvf[gTCgÉAbvµÜ·BEclipse | |
ãÅAbvf[gTCgvWFNgÌì¬ÍÌæ¤ÉÈèÜ·B</P> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
Abvf[gTCgvWFNgð쬵ÄÝܵå¤</P> | |
<UL> | |
<LI>project wizard ðgÁÄAupdate site project ðì¬ | |
<LI>Name: rcpmail-site | |
<LI>rcpmail feature ðÇÁ | |
<LI>Save | |
<LI>Build all </LI></UL> | |
<P><IMG height=13 src="rcp_tutorial_ja2.files/tryit.gif" width=61> | |
É[U¤ÅXVµÄÝܵå¤</P> | |
<UL> | |
<LI>rcpmail ÌN® | |
<LI>CXg[EBU[hðpµÄXVµÜ· | |
<LI>rcpmail ðÄN®µÄÝéÆAworkbench window ÌTCYªÏíÁÄ¢Ü·Ë </LI></UL> | |
<P> </P> | |
<P>¢©ªÅµ½©HPart 2 ͱêÉÄI¹Å·B¨æêlŵ½B</P> | |
<P> </P> | |
<H2>\[XR[h</H2> | |
<P>±Ì` [gAÅ쬷éAvP[VÌ zip t@CÍA´{TCgÌ<A | |
href="http://www.eclipseteam.de/wiki/pub/Public/RCPTutorial/rcptutorial.zip">±¿ç</A>©çæ¾Å«Ü·B</P> | |
<P> </P> | |
<H2>¨íèÉ</H2> | |
<P>¡ñÍ <A | |
href="rcp_tutorial_ja1.html">Part 1</A> æè¿åÁÆ¡GÈAvP[VðgÁÄAwvÌÇÁâXV}l[WÌpÈÇðsÁīܵ½Bî{IÉpÓ³ê½dgÝðgÁÄÆ©ÌRecÌÝðJ·êÎ梱ƪ¨ª©è¢½¾¯½Æv¢Ü·B±Ì ½èÍAÊíÌ | |
Plug-in JÆ௶ÈÌÅA¢ë¢ëpªÅ«é©Æv¢Ü·B</P> | |
<P>³ÄA±ÌV[YÌÅIñ Part 3 ÅÍARCP ɨ¯é±ð JUnit ðpµÄÀ{µÄ¢«Ü·B</P> | |
<P>¦ Part 3 ÍßúöJ\èÅ·B </P> | |
<P> </P> | |
<H2>References</H2> | |
<UL> | |
<LI>RCP Tutorial: <A | |
href="rcp_tutorial_ja1.html">Part 1</A>, Part 2 | |
<LI><A href="http://www.eclipsecon.org/2005/index.php" | |
target=_blank>EclipseCon 2005</A> <A | |
href="http://www.eclipsecon.org/2005/event.php?id=15" target=_blank>Tutorial | |
08: Developing Eclipse Rich Client Applications</A> | |
<LI><A href="http://www.eclipseteam.de/" target=_blank>EclipseStream</A> | |
<LI><A href="http://www.eclipse.org/rcp/" target=_blank>Eclipse Rich Client | |
Platform </A> | |
<LI><A href="http://www.eclipsecon.org/2005/index.php" | |
target=_blank>EclipseCon 2005</A>, <A | |
href="http://www.eclipsecon.org/2005/themes.php?track=1" target=_blank>RCP | |
Tracks</A> | |
<LI>Rich Client Platform Tutorial, by Ed Burnette. <A | |
href="http://eclipse.org/articles/Article-RCP-1/tutorial1.html" | |
target=_blank>Part 1</A>, <A | |
href="http://eclipse.org/articles/Article-RCP-2/tutorial2.html" | |
target=_blank>Part 2</A>, <A | |
href="http://eclipse.org/articles/Article-RCP-3/tutorial3.html" | |
target=_blank>Part 3</A> </LI></UL> | |
<BLOCKQUOTE> | |
<P><IMG height=131 src="rcp_tutorial_ja2.files/hyatt.jpg" width=197> | |
EclipseCon 2005, Hyatt Regency </P></BLOCKQUOTE> | |
<P> </P> | |
<P><SMALL>Java¨æѻ̼ÌJavaðÜÞ¤WÍAÄ Sun Microsystems, Inc. ̤WÅ èA¯ÐÌJavauhðgpµ½Zpðgpµ½»iðwµÜ·B<BR> | |
WindowsÍAÄMicrosoft CorporationÌĨæÑ@»Ì¼Ìɨ¯éo^¤WÅ·B<BR> | |
Windows ̳®¼ÌÍA@Microsoft(R) Windows(R) Operating System Å·B<BR> | |
LÚ³êÄ¢é»i¼AïмÍA»ê¼êÌïÐÌ@o^¤WܽͤWÅ·B<BR> | |
</SMALL></P> | |
<P>@</P> | |
<P>@</P> | |
<P>@</P> | |
</BODY></HTML> |