﻿<?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-不知疲倦的猪-文章分类-eclipse plugin</title><link>http://www.blogjava.net/loocky/category/9405.html</link><description>不知疲倦的猪</description><language>zh-cn</language><lastBuildDate>Thu, 01 Mar 2007 23:05:55 GMT</lastBuildDate><pubDate>Thu, 01 Mar 2007 23:05:55 GMT</pubDate><ttl>60</ttl><item><title>GEF框架的另外一篇文章（转）</title><link>http://www.blogjava.net/loocky/articles/38885.html</link><dc:creator>loocky</dc:creator><author>loocky</author><pubDate>Mon, 03 Apr 2006 04:23:00 GMT</pubDate><guid>http://www.blogjava.net/loocky/articles/38885.html</guid><wfw:comment>http://www.blogjava.net/loocky/comments/38885.html</wfw:comment><comments>http://www.blogjava.net/loocky/articles/38885.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/loocky/comments/commentRss/38885.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/loocky/services/trackbacks/38885.html</trackback:ping><description><![CDATA[
		<a class="" title="http://www.blogjava.net/eclipshine/archive/2005/07/23/8245.aspx" href="/eclipshine/archive/2005/07/23/8245.aspx" target="">GEF文章</a>
<img src ="http://www.blogjava.net/loocky/aggbug/38885.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/loocky/" target="_blank">loocky</a> 2006-04-03 12:23 <a href="http://www.blogjava.net/loocky/articles/38885.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GEF 学习笔记</title><link>http://www.blogjava.net/loocky/articles/38884.html</link><dc:creator>loocky</dc:creator><author>loocky</author><pubDate>Mon, 03 Apr 2006 04:22:00 GMT</pubDate><guid>http://www.blogjava.net/loocky/articles/38884.html</guid><wfw:comment>http://www.blogjava.net/loocky/comments/38884.html</wfw:comment><comments>http://www.blogjava.net/loocky/articles/38884.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/loocky/comments/commentRss/38884.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/loocky/services/trackbacks/38884.html</trackback:ping><description><![CDATA[
		<p>1:zoom是如何使用在里面的</p>
		<p>    (1)ZoomManager extends ZoomManager<br />       为visualgroup 增加了zoom<br />       ===constructor<br />      public GraphZoomManager(ScalableFigure pane,ViewPoint viewPoint,VisualGroup visualGroup){<br />        super(pane,viewpoint);<br />        this.visualGroup = visualGroup; <br />      }<br />    (2)override method<br />       protected void primSetZoom(double zoom){<br />          super.primSetZoom(zoom);<br />          getScalableFigure().setScale(1);<br />          visualGroup.setZoom(zoom);<br />      }<br />     (3)在visualGroup setZoom的时候，进行了如下操作<br />       public void setZoom(double zoom){<br />          setSize(getWidth()*zoom/getZoom(),getHight().zoom/getZoom());<br />          super.setZoom(zoom);<br />          //一下是对里面的点进行zoom<br />          for(Iterator iter = getVisualVertexList().iterator();iter.hasNext();){<br />                 VisualVertext vertext = (VisualVertext)iter.next();<br />                 vertext.setZoom(zoom);<br />           }</p>
		<p>
				<br />2:gef mvc</p>
		<p> GEF model iteract with controller only,to let controller know model's change ,所以应该把控制器作为事件监听者，注册在模型中，当模型发生变化，就出发相应的时间给控制器，然后负责通知给视图进行更新</p>
		<p>
		</p>
		<p>3：Design pattern<br />   OBSERVER的应用<a href="http://www.jdon.com/designpatterns/observer.htm">http://www.jdon.com/designpatterns/observer.htm</a>这篇文章浅显易懂，很不错的</p>
		<p>
				<br />4：所有事件都在VISUAL model里面，再COMMAND里面的EXECUTE来call<br />   所有的时间分布再不同的COMMAND的EXECUTE()里面</p>
		<p>   policy里面会SET COMMMAND,然后MVC会自动调用里面的EXECUTE方法</p>
		<p>   然后去刷新FIGURE<br />5：orpha</p>
		<p>6:ervery visual model --&gt;every visual part--&gt;every visual figure --&gt;one or more policy --&gt;one or more command<br />7:figure是在MODEL更新完毕之后，有相关的EDIRPART，来监控，就是说OBSERVER来监视当前的EVENT,如果当前EVENT匹配一个<br />那么会更新一个FIGRUE<br />   code : visualVertextPart <br />   editpart ===&gt;c他有多个EDITPART，就跟STRUTS有多个ACTION一个道理。<br />   GEF肯定也有一个核心的PART，负责整体的流装，但是没有找到是哪一个类。<br /> public void update(Observer o,Object arg){<br />     <br />    //if(type ==locaction) then refresh figure;<br />    //of course. GEF MVC,已经包装好了，就不用我们考虑了，只需要你去做填鸭就可以了，:) <br />   if (VisualGraphConstant.LOCATION.equals(type))<br />        {<br />            IFigure figure = getFigure();<br />            VisualVertex visualVertex = getVisualVertex();<br />            figure.setLocation(new Point(visualVertex.getX(), visualVertex<br />                    .getY()));<br />        }</p>
		<p>}<br />8；property 和outline是怎么加上去的？？放在明天看吧</p>
		<p>
				<br />9：toolbar跟 MENU是怎么加上去的:<br />   toobar 是在PLUGIN.XML的ContributorClass 中加上去的，可以先看一下</p>
		<p>   extends ActionBarContributor<br />   TOOLbar的东西ECLIPSE已经封装的很好了，发现GEF真是了不起啊</p>
		<p>   menu是如何加上去的</p>
		<p>   都是在EDITOR里面的CREATEACTIONS里面加上去的，OVERRIDES createActions method()</p>
		<p>   code as following <br />     pretected void createActions(){<br />        super.createActions();<br />        IAction zoomInAction = new ZoomInAction(getZoomManager());<br />        IAction zoomOutAction = new ZoomOutAction(getZoomManager());<br />        addAction(zoomInAction());<br />        addAction(zoomOutAction());<br />        addAction(new OpenPropertiesViewAction());<br />     }</p>
		<p>   OpenPropertiesViewActions code as follows</p>
		<p>    1:利用现在的PROPERTIES的view,open properties sheet,ok...</p>
		<p>
				<br />   OpendataPropertiesViewAction code as follwos <br />      <br />    2:新建一个dataPropertiesViewAction </p>
		<p>      <br />        </p>
		<p>
		</p>
		<p>
		</p>
<img src ="http://www.blogjava.net/loocky/aggbug/38884.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/loocky/" target="_blank">loocky</a> 2006-04-03 12:22 <a href="http://www.blogjava.net/loocky/articles/38884.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>