﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-eclipshine-随笔分类-ECLIPSE</title><link>http://www.blogjava.net/eclipshine/category/2270.html</link><description>Eclipse主题站</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 03:31:21 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 03:31:21 GMT</pubDate><ttl>60</ttl><item><title>RCP中视图间的交互机制探讨</title><link>http://www.blogjava.net/eclipshine/archive/2005/09/19/13459.html</link><dc:creator>Living Not Striving</dc:creator><author>Living Not Striving</author><pubDate>Mon, 19 Sep 2005 14:42:00 GMT</pubDate><guid>http://www.blogjava.net/eclipshine/archive/2005/09/19/13459.html</guid><wfw:comment>http://www.blogjava.net/eclipshine/comments/13459.html</wfw:comment><comments>http://www.blogjava.net/eclipshine/archive/2005/09/19/13459.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/eclipshine/comments/commentRss/13459.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eclipshine/services/trackbacks/13459.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: RCP或者Eclipse中视图之间的交互，有比较标准的方式来完成，就是使用ISelectionProvider以及ISelectionListener的机制。本文对次做了比较详细擦阐述。&nbsp;&nbsp;<a href='http://www.blogjava.net/eclipshine/archive/2005/09/19/13459.html'>阅读全文</a><img src ="http://www.blogjava.net/eclipshine/aggbug/13459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eclipshine/" target="_blank">Living Not Striving</a> 2005-09-19 22:42 <a href="http://www.blogjava.net/eclipshine/archive/2005/09/19/13459.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Plugin中的Classpath的计算</title><link>http://www.blogjava.net/eclipshine/archive/2005/08/14/10060.html</link><dc:creator>Living Not Striving</dc:creator><author>Living Not Striving</author><pubDate>Sat, 13 Aug 2005 23:58:00 GMT</pubDate><guid>http://www.blogjava.net/eclipshine/archive/2005/08/14/10060.html</guid><wfw:comment>http://www.blogjava.net/eclipshine/comments/10060.html</wfw:comment><comments>http://www.blogjava.net/eclipshine/archive/2005/08/14/10060.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/eclipshine/comments/commentRss/10060.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eclipshine/services/trackbacks/10060.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Plugin的Classpath的设置与传统的Java程序有很大的不同。每个Plugin都有其独立的Classloader，由此引发了一系列的问题。&nbsp;&nbsp;<a href='http://www.blogjava.net/eclipshine/archive/2005/08/14/10060.html'>阅读全文</a><img src ="http://www.blogjava.net/eclipshine/aggbug/10060.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eclipshine/" target="_blank">Living Not Striving</a> 2005-08-14 07:58 <a href="http://www.blogjava.net/eclipshine/archive/2005/08/14/10060.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在RCP中创建多页面的Editor:</title><link>http://www.blogjava.net/eclipshine/archive/2005/07/28/8658.html</link><dc:creator>Living Not Striving</dc:creator><author>Living Not Striving</author><pubDate>Thu, 28 Jul 2005 09:44:00 GMT</pubDate><guid>http://www.blogjava.net/eclipshine/archive/2005/07/28/8658.html</guid><wfw:comment>http://www.blogjava.net/eclipshine/comments/8658.html</wfw:comment><comments>http://www.blogjava.net/eclipshine/archive/2005/07/28/8658.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eclipshine/comments/commentRss/8658.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eclipshine/services/trackbacks/8658.html</trackback:ping><description><![CDATA[<P>MultiPageEditor中的每一个页面，可以是一个Editor，也可以是任何的一个SWT Composite。创建多页面的Editor，首先需要继承<FONT color=#008000><STRONG>MultiPageEditorPart</STRONG></FONT>。在MultiPageEditorPart的<EM><FONT color=#ffa500>createPages()</FONT></EM>方法中创建每一个Page。创建Page的方法有两种，一种是使用<EM><FONT color=#ffa500>addPage(IEditorPart,IEditorInput)</FONT></EM>，接受一个Editor对象（创建这个Editor对象直接进行new XXXEditor()即可），另一种是使用<FONT color=#ffa500><EM>addPage(Control control)</EM></FONT>。创建这个control时，使用getContainer()所得到的容器作为这个Composite的parent即可。而这个作为container的parent，可以想象的到，实际上就是一个CTabFolder。</P>
<P>这个CTabFolder在创建Editor时被自动创建，并将其addSelectionListener的响应事件，映射到MultiPageEditor的<EM><FONT color=#ffa500>pageChange()</FONT></EM>方法上。因此，例如要同步不同页面之间的内容，如果要监听页面切换的事件响应，只需实现<EM><FONT color=#ffa500>pageChange()</FONT></EM>方法即可。</P><img src ="http://www.blogjava.net/eclipshine/aggbug/8658.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eclipshine/" target="_blank">Living Not Striving</a> 2005-07-28 17:44 <a href="http://www.blogjava.net/eclipshine/archive/2005/07/28/8658.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RCP笔记</title><link>http://www.blogjava.net/eclipshine/archive/2005/07/22/8214.html</link><dc:creator>Living Not Striving</dc:creator><author>Living Not Striving</author><pubDate>Fri, 22 Jul 2005 15:04:00 GMT</pubDate><guid>http://www.blogjava.net/eclipshine/archive/2005/07/22/8214.html</guid><wfw:comment>http://www.blogjava.net/eclipshine/comments/8214.html</wfw:comment><comments>http://www.blogjava.net/eclipshine/archive/2005/07/22/8214.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eclipshine/comments/commentRss/8214.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eclipshine/services/trackbacks/8214.html</trackback:ping><description><![CDATA[<OL>
<LI>添加一个新的Menu到Workbench时，它的path应该是additions.表示添加到最后。 
<LI>action are added, not to the menu itself, but to groups within the menu. 因此在添加一个Action到menu之前，首先要定义一些groupMarker或者seperator。 
<LI>通常创建一个menu的时候，都还要额外添加一个名为additions的seperator来让别人扩展这个Menu。在Eclipse自身的实现中都是这样做的，也应该算是标准的做法。<FONT color=#a52a2a><STRONG>IWorkbenchActionConstants</STRONG>.MB_ADDITIONS</FONT>定义了additions作为Menu的扩展插入点。IWorkbenchActionConstants应该还定义了现有的Menu的插入点。 
<LI>添加Action到Toolbar的时候，其path可以是Normal/additions。 
<LI>Eclipse中的图标，可以在<EM><FONT color=#000080>plugins\org.eclipse.ui_3.0.0\icons\full</FONT></EM>或者<EM><FONT color=#000080>plugins\org.eclipse.jdt.ui_3.0.0\icons\full</FONT></EM>下面寻找。 
<LI>可以在IPerspectiveFactory中使用IPageLayout.addActionSet(id)方法将一个ActionSet同一个Prespective联系起来，使得在显示Perspective的时候能够显示这个ActionSet中所定义的Action。或者，可以在ActionSet的扩展点中使用visible="true"来使得这个ActionSet在所有的Persective中显示出来。 
<LI>JFace的<STRONG><FONT color=#a52a2a>MessageDialog</FONT></STRONG>，有一些静态方法可以用来创建一个Dialog。</LI></OL><img src ="http://www.blogjava.net/eclipshine/aggbug/8214.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eclipshine/" target="_blank">Living Not Striving</a> 2005-07-22 23:04 <a href="http://www.blogjava.net/eclipshine/archive/2005/07/22/8214.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>