??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久精品影视,欧美日韩在线精品一区二区三区 ,亚洲精品免费视频http://www.aygfsteel.com/xdingding/category/5616.htmlzh-cnTue, 27 Feb 2007 12:59:02 GMTTue, 27 Feb 2007 12:59:02 GMT60[导入]GEF源码分析Q六Q?GEF 的EditPart的职能分?__ 跨国时尚媒体集团q告部门 的故??/title><link>http://www.aygfsteel.com/xdingding/archive/2005/12/08/22929.html</link><dc:creator>般若菩提</dc:creator><author>般若菩提</author><pubDate>Wed, 07 Dec 2005 16:41:00 GMT</pubDate><guid>http://www.aygfsteel.com/xdingding/archive/2005/12/08/22929.html</guid><wfw:comment>http://www.aygfsteel.com/xdingding/comments/22929.html</wfw:comment><comments>http://www.aygfsteel.com/xdingding/archive/2005/12/08/22929.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xdingding/comments/commentRss/22929.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xdingding/services/trackbacks/22929.html</trackback:ping><description><![CDATA[ <BR> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">GEF源码分析Q六Q?GEF 的EditPart的职能分?__ 跨国时尚媒体集团q告部门 的故??BR><BR>GraphicalEditPart先生当天安排?jin)部门?qing)?x)议计划。经q?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部门紧张有奏的准备会(x)议讨论的资料Q第三天、按?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">8:30</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">开?x)?BR></SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana"><BR>GraphicalEditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">先生q如往常,准时提前</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">5</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">分钟坐在?x)议室前边角上。他喜欢部门的小伙子们,虽然q些伙子们做事情时常有些不周,但是他更ƣ赏他们的活力和富有创造激情。所以、每每开?x)时Q他更愿坐在旁边听这些小伙子们的意见Q“相比较当个威武的军队长官,我更意是一个严格又和蔼的优U教练?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GraphicalEditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">先生常常如此提醒自己不要俎代庖?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部门q将李L?x)议Q简短阐明会(x)议主题和要求后,Qؓ(f)?jin)提高?x)议效率会(x)议每人最?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">5</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">分钟发言Q最?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">20</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">分钟讨论旉Q?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">5</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">分钟</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GraphicalEditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">先生做ȝQ?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">王首先站v发言Q“目前我?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部门Q虽?dng)主要d有明定义,但是内部的工作流E不明确Q没有可依章E?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">...</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">”?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">“是呀Q公司目前还没有我们部门的标准操作手册,很多问题都有很大随机性,工作的好坏过于依赖h员本w的工作能力Q这十分不利于h员的内部动以及(qing)Ch员的补充”我们的</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GraphicalEditPart"</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">教练</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">"</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">满意的点点头?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">魏h补充一下:(x)“由于我们内部每个h的做事方法,都是各有一套绝z,程不一_(d)l常D在工作对上下层通知协作出现问题。在水^部门沟通时Q也常常不流畅”。这是个大学刚毕业十分活泼的姑娘?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">“ؓ(f)什么大家L觉得女的职员不好Q看多有灉|的一个小姑娘呀Q又是个好苗子。?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GraphicalEditPart"</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">教练</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">"</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">此时内心(j)中的自我形象直就是华佗再世,那感觉真有点飘飘然乎Q?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GraphicalEditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">先生不由自主地晃?jin)晃脑袋?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">接下来其它hUL(fng)发言Q?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">“工作经验很隄互交,U篏与提高。很隑֜部门U对工作程{进行优化,~Z专业化。?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">“我们经常要?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Figure</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部门一起工作,跟踪操作执行。这很是费工作旉Q尤其是当某个工作需要很长时_(d)或者中间经帔R要和客户交流反馈一D|_(d)q样非常影响工作效率。?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">“对于客L(fng)问题很难快速根据现有的l验模式形成解决Ҏ(gu)Q虽然我们公司服务态度和广告质量高于其它公司,但是l常׃反应速度太慢Q活被其它公总中抢?jin)去Q销售部门常常抱怨我们部门速度太慢。?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">“公司在相应客户需要操作过E中Q很N对客h个需求重新调整。客户常常抱怨在制作q程中很隑ց些小的改动。?/P> <P lang=EN-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">…?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">׃</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GraphicalEditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">先生理师的带领,</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部门的会(x)议L短有效?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">1</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">个小时多几分钟大安把问题简明扼要的表达出来?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">李环顾下四周“最后,?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GraphicalEditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部长ȝ一下今天的?x)议”?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">一直沉默的</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GraphicalEditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">先生站了(jin)hQ十分精,也环了(jin)一下四周,清了(jin)清嗓子?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">“首先、我要自我检讨一下,q一q多L忙ؕ于紧急的事情当中,很久没有攉大家的徏议和反馈?jin),q十分不利于我们部门的发展。今天大家D出很多目前部门的问题Q这些充分反映了(jin)大家寚w门的业务熟?zhn)E度Q我怿Q这是因为大家十分关注公司的未来Q希望公司越办越好,而不是怨天h的牢?d),可能有些领导会(x)觉的这是找毛病寚wg满,在我q里Q我今天在一ơ明表明,我十斚w励大ӞƢ迎大家一些意见反馈给我,希望大家不仅仅是单反馈在工作中的直接困难Q而且l过自己的思考提炼写成简z的文书l我Q最好发挥自我主动和创造性提Z些变革徏议。这些东西将是我们部门及(qing)公司潜在的珍늚财富Q同时也是我们部门未来发展方向的一个重要部分。?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">“今天的?x)议大家主要是针?gu)们部门的问题Q希望会(x)后大家再从公司整体考虑q些问题Q以?qing)未来扩?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部门?x)带来什么问题,比如大家可以参考我们当初成立时遇到那些问题Q这些问题将来如何避免或减少。?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">“按计划Q会(x)后,李Q小孙,丁Q小黄还有我Q将ȝ今天?x)议Q同时、制定出未来部门l织变革的策略。在此期_(d)希望大家t跃的将自己的想法创意于我们交流。?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">“还有一件事情,今天要批评一下小丁同事,现在开?x)不q到?jin),但是Q不仅没发言、我看你从开?x)就一直看前天发的材料Qؓ(f)什么不提前准备Q这是耽误大家每个人的旉Q下不ؓ(f)例。今后、小李你在部门规章里加一条,部门开?x)前必须提前阅读理解会(x)议材料Q凡q反者,包括我在内一律站C(x)议室角落站着阅读完资料后Q在回会(x)议位。我的话完了(jin)。?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">丁满脸通红Q不由地低着_(d)双手捂住?jin)腮帮,不敢喘气了(jin),恨不得有个地~钻q去?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">“今天会(x)议结束。”小李宣布?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">?x)后?gu)孙的会(x)议记录,很快的小李几个hȝZ下的一个鱼骨图?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> <IMG src="http://www.cnblogs.com/images/cnblogs_com/xdingding/Gef-BlogWeb.gif" border=0></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"><BR> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"><BR> <IMG src="http://www.cnblogs.com/images/cnblogs_com/xdingding/icon1.gif" border=0></P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: SimSun; mso-outline-level: 1">什么是因果图?</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: SimSun; mso-outline-level: 1">因果囄发明?Kaoru Ishikawa 是一名管理专Ӟ其最初的目的是改qR间的质量控制工作。正如以下示例所C,因果图还能表辑օ他环境中的因果关pR?BR><IMG src="http://www.cnblogs.com/images/cnblogs_com/xdingding/ZA010359992052.gif" border=0><BR>  </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: SimSun; mso-outline-level: 1">׃因果囄形状很像鱼的骨架Q所以它又称作鱼骨图。鱼的脊骨上几根最大的鱼骨表示主要的原因类别?BR>例如Q在本例中,主要的原因类别有盎格鲁h/q人、丹麦h、萨克逊h和诺曼底人,q些U族体都想控制英格兎ͼ从而导致了(jin)该战争的爆发?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: SimSun; mso-outline-level: 1">主要cd中的较小鱼骨表示主要的原因。例如,在本例中Q在萨克逊hq个cd斚wQ黑斯h(hun)斯战争的主要原因在于公元 1051 q萨克逊王爱d华许诺将王位传给威廉一世?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: SimSun; mso-outline-level: 1">(zhn)还可以在主要原因上dơ要原因?/P><IMG height=1 src="http://xdingding.cnblogs.com/aggbug/292516.html" width=1><BR><BR> <DIV align=right>般若菩提 2005-12-07 14:14 </DIV><BR>文章来源:<A >http://xdingding.cnblogs.com/archive/2005/12/07/292516.html</A><img src ="http://www.aygfsteel.com/xdingding/aggbug/22929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xdingding/" target="_blank">般若菩提</a> 2005-12-08 00:41 <a href="http://www.aygfsteel.com/xdingding/archive/2005/12/08/22929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GEF源码分析Q五Q?GEF 的EditPart的职能分?__ 跨国时尚媒体集团q告部门 的故?/title><link>http://www.aygfsteel.com/xdingding/archive/2005/12/05/22555.html</link><dc:creator>般若菩提</dc:creator><author>般若菩提</author><pubDate>Mon, 05 Dec 2005 06:01:00 GMT</pubDate><guid>http://www.aygfsteel.com/xdingding/archive/2005/12/05/22555.html</guid><wfw:comment>http://www.aygfsteel.com/xdingding/comments/22555.html</wfw:comment><comments>http://www.aygfsteel.com/xdingding/archive/2005/12/05/22555.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xdingding/comments/commentRss/22555.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xdingding/services/trackbacks/22555.html</trackback:ping><description><![CDATA[<BR><A class=titlelink id=Editor_Results_rprSelectionList__ctl2_Hyperlink1 ><FONT color=#000000>GEF源码分析</FONT></A>Q五Q?GEF 的EditPart的职能分?__ 跨国时尚媒体集团q告部门 的故?BR><BR><SPAN style="FONT-SIZE: 10pt">  <P style="FONT-SIZE: 8pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"><SPAN style="FONT-SIZE: 10pt">接下来我们以一个故事的方式来解决第三篇遗留下来问题Q?/SPAN></P></SPAN><SPAN style="FONT-SIZE: 10pt"><BR></SPAN> <P style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; COLOR: #333399; FONT-FAMILY: SimSun; mso-outline-level: 1">已存在一个三角图形EditPartQ我们想重用?但是我们q需要增加(或删去)(j)Ҏ(gu)可调整的Ҏ(gu),如何保证无需重新建立一个新的EditPartQ或者做Z陋的l承Q当功能不断l合后,出现无数子EditPartc? </P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 14pt; MARGIN: 0in; COLOR: #333399; FONT-FAMILY: SimSun; mso-outline-level: 1">如何由框架自动完成Undo?qing)Redo功能Q?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun"><SPAN style="FONT-SIZE: 10pt"> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">话说在某个跨国时媒体集团中国区q告部门Q这是一家主营^面广告的q告公司Q听说董事长是个q仅办百的老头GraphicalEditor先生Q来自赫赫有名的</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">eclipse</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">基金财团Q,有目前主要有两个子部?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart(</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">q告{划?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">)</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Figuer(</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">q面设计?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">)</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部长是一位中q充满信?j)和zdGraphicalEditPart先生?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Figuer</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部长是一位与部门名同名的q告主设计师丽青春?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Figure</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">姐?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部长GraphicalEditPart目前主要肩负着三项MQ?/SPAN></P> <UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 1in; DIRECTION: ltr; unicode-bidi: embed" type=disc> <LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">处理由其他部门中?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Model</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">人员送来各销售部门广告需求;</SPAN> <LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">做出具体的^面设计策划交l?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Figure</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">姐Q由</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Figure</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">姐负责d充满Ȁ情的q面q告Q?/SPAN> <LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">读阅客户要求与反馈的</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Request</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">文书Q这些文书是?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q情报收集部门)(j)攉客户的反馈及(qing)要求Q经q专业的整理与分c而成Q上我们以?qing)探讨过了(jin)?j)</SPAN></LI></UL> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">׃公司扩大?jin)业务,投入市(jng)场的品种cL以往增加?jin)三倍,</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部长工作变得异常J忙有些快压垮了(jin)Q感觉自己快成ؓ(f)整日驮着重物q迈的驴子,“是不是自己老了(jin)”GraphicalEditPart先生开始常常怀疑自׃(jin)?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">q天Q?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部长收到总部一信Q?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">GraphicalEditPart先生Q?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; mso-outline-level: 2"><SPAN lang=EN-US style="FONT-FAMILY: Verdana"><SPAN style="mso-spacerun: yes">     </SPAN></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">首先我代表公司感谢?zhn)q些q勤奋出色的工作。我们公司在中国短短三年的营业额增长?jin)四倍,同时</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">中国部门在此期间获得?jin)公司最有活力部门奖Q这些成l都与?zhn)的努力是分不开的。据我们?jin)解Q?zhn)?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部门q三q中Q实施了(jin)几项富有创意的制度改革,如成?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">情报攉部门Q推q后大大提高?jin)整个公?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部门业务处理能力。ؓ(f)?jin)进一步扩大业务,公司在未来的两年里将在世界各地尤其是中国增加</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">40%</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">的区域广告部门,正如(zhn)所知道目前公司对于</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部门的组l规划以?qing)责d度还有很多不完善之处Q这十分不利于区域部门扩展的计划。故我委托?zhn)做出《未来广告部l织的规划》计划书Q本月底邀(g)h来总部参加l织规划与变革方案的评审?x),届时?x)Ҏ(gu)的计划书q行评审。如通过评审Q公司所有广告部会(x)按照(zhn)的计划书进行变革?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; mso-outline-level: 2"><SPAN lang=EN-US style="FONT-FAMILY: Verdana"><SPAN style="mso-spacerun: yes">                      </SPAN></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">愿世界明天的舞収ͼ因我们而变得更加美好、充满激情与惌</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun; mso-outline-level: 2"> </P> <P lang=EN-US style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: Verdana; mso-outline-level: 3"><SPAN style="mso-spacerun: yes">                                                                                          </SPAN>CEO <SPAN style="FONT-STYLE: italic">GEF</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">“噢Q太了(jin)Q这信来的真是?qing)时Q如果再l箋如此的话Q我要压垮了(jin)Q只好另谋它职了(jin)。嗯Q这回我要好好地写这个计划书。这Pw上担子ȝ有减ȝ希望。有上司的赏识,我要一展宏图一番。”GraphicalEditPart不由自主拍了(jin)下桌子自a自语后,张开双臂Q砰C下Ԓ靠在椅背上,深深地出?jin)口气,双目d工作的压力似乎片刻间消失Q顺手戴上了(jin)他那十分h的太阳镜Q小声打开旁边</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">CD</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q噢Q夏威夷之夜Q感觉自己此时就在夏威夷带着墨镜w在金黄、松软、温暖的沙WQ吹着口哨Q热情似火的太阳I过太阳镜,过眼皮Q将几缕模糊的光芒带入眼中(其实是他那高瓦的吊灯Q,风?fn)?fn)Q旁边的?sh)风扇?j)Q在享受着q片d?rn)天堂感觉,Ȁ情创意不断涌出,啊,久违?jin)的感觉?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">开qԌq速的打开他喜q脑图软g</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana"> -- Mindjet Manager</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q记录下脑中的构思,M如下计划要点</SPAN></SPAN></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"><BR><IMG src="http://xdingding.cnblogs.com/images/cnblogs_com/xdingding/部门规划.gif" border=0></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">看来GraphicalEditPart先生要大q一场,Ʋ知详情Q请听下回分?IMG src="http://xdingding.cnblogs.com/Emoticons/emsmiled.gif" align=absMiddle border=0></SPAN></P><img src ="http://www.aygfsteel.com/xdingding/aggbug/22555.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xdingding/" target="_blank">般若菩提</a> 2005-12-05 14:01 <a href="http://www.aygfsteel.com/xdingding/archive/2005/12/05/22555.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GEF源码分析Q四Q?GEF 消息转义 ___ Tool的作?/title><link>http://www.aygfsteel.com/xdingding/archive/2005/12/05/22553.html</link><dc:creator>般若菩提</dc:creator><author>般若菩提</author><pubDate>Mon, 05 Dec 2005 05:58:00 GMT</pubDate><guid>http://www.aygfsteel.com/xdingding/archive/2005/12/05/22553.html</guid><wfw:comment>http://www.aygfsteel.com/xdingding/comments/22553.html</wfw:comment><comments>http://www.aygfsteel.com/xdingding/archive/2005/12/05/22553.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xdingding/comments/commentRss/22553.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xdingding/services/trackbacks/22553.html</trackback:ping><description><![CDATA[<BR>郁闷Q同志们没有留言Q不知是写的太差Q何处需要改q,q是大家觉得对自己没有用?...  <BR><BR> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GEF源码分析</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q四Q?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana"> GEF </SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">消息转义</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana"> ___ Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">的作?/SPAN></P> <P style="FONT-SIZE: 8pt; MARGIN: 0in; FONT-FAMILY: SimSun"><BR></P> <P style="FONT-SIZE: 8pt; MARGIN: 0in; FONT-FAMILY: SimSun"><FONT size=2>接着上一节:(x)</FONT></P> <P style="FONT-SIZE: 8pt; MARGIN: 0in; FONT-FAMILY: SimSun"><FONT size=2>我们先解军_下问题:(x)</FONT></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"><SPAN style="FONT-WEIGHT: bold; COLOR: rgb(51,51,153)">在界面操作过E中Q我们希望面对的是边框调整事Ӟ囑ŞUd事gQ或者是~辑文本事gQ而不是原始的鼠标和键盘事Ӟ</SPAN><SPAN style="COLOR: black"> </SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">术语定义Q?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-WEIGHT: bold; COLOR: rgb(153,51,0); FONT-FAMILY: SimSun">pȝ</SPAN><SPAN lang=EN-US style="FONT-WEIGHT: bold; COLOR: rgb(153,51,0); FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-WEIGHT: bold; COLOR: rgb(153,51,0); FONT-FAMILY: SimSun">事gQ?/SPAN><SPAN lang=EN-US style="FONT-WEIGHT: bold; COLOR: rgb(153,51,0); FONT-FAMILY: Verdana"><SPAN>        </SPAN></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">一般由某些计算ZhZ互硬件发ZPq且l操作系l理解后产生的事Ӟ例如Q原始的鼠标的移动、点d键盘的敲M件等?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=EN-US style="FONT-WEIGHT: bold; COLOR: rgb(153,51,0); FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-WEIGHT: bold; COLOR: rgb(153,51,0); FONT-FAMILY: SimSun">业务语义事gQ?/SPAN><SPAN lang=EN-US style="FONT-WEIGHT: bold; FONT-FAMILY: Verdana"> </SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">ql?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">事g和其?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">业务语义事g触发Q由</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">业务代码理解后生的事gQ操作系l不可理解,同时无Q何领域的业务语义Q,?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">2D</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">囑Ş的尺寸调_(d)</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">2D</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">囑Ş的点击,</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">2D</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">囑Ş的移动?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q其实不仅限于事件的转义Q包?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">的改变,也需要由pȝ</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">语义转换?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">业务语义来用)(j)</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P><IMG src="http://xdingding.cnblogs.com/images/cnblogs_com/xdingding/Untitled-2.jpg" border=0> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">业务语义事g?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Controller</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">控制中的优点是易于理解、维护和扩充Q具体的主要有以下方面:(x)</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">a.</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">减少pȝ</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">事g判断逻辑部分代码的重复。比如在</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Controller</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部分代码无需分步着大量逻辑重复的代码,当鼠标移动时d断究竟是一?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">2D</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">囑Ş的尺寸改变,q是一?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">2D</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">囑Ş的移动,q是一l?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">2D</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">囑Ş的移动,q是</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">2D</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">囑Ş</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">DragAnd</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun">Drop</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">的动作?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">b.Controller</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部分的代码语义明。在</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun">Controller</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">内部处理代码和接口中直接面对的是</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">业务语义Q如囑Ş的移动,囑Ş的尺寸改变,q样、代码易于理解、调试等?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">b.Controller</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">部分代码无需为系l?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">事g保存状态。如</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">2D</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">囑Ş的移动中Q如果这些事件直接在</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Controller</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">中处理,从开?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">MouseDown,</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">MouseMove</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q到</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">MouseUp</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">q程中,?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Controller</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">中要集中保留q样众多状态,极易造成</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Controller</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">代码具体多头职责的症Ӟ从而?zhn)上严重的_分裂</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">:)</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">于是?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GEF</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">FrameWork</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">有给Z下的解决Ҏ(gu)Q?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 8pt; MARGIN: 0in; FONT-FAMILY: SimSun"><IMG src="http://xdingding.cnblogs.com/images/cnblogs_com/xdingding/Untitled-7.gif" border=0></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">A</SPAN></P> <P style="FONT-SIZE: 8pt; MARGIN: 0in; COLOR: rgb(102,102,102); FONT-FAMILY: 宋体"><BR> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun"><BR><BR>如上?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">A</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GEF</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">通过</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tools(</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">interface</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tool)</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q当然在视图上的</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Menu</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Toolbar</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">是通过</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Action</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">发出Q这个是</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">eclipse</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Workbench</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">机制Q在此就不讨Z(jin)。以下是</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">的类l承?wi)?x)</SPAN></P> <P style="FONT-SIZE: 8pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P><IMG src="http://xdingding.cnblogs.com/images/cnblogs_com/xdingding/Untitled-6.gif" border=0> <P style="FONT-SIZE: 8pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">B<BR></SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun"><BR><BR>从上?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">B</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">可以看出</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">l承的这些类均处理一个或者一c?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">业务语义事gQ其中需要保留中间状态的子类均以</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">XXXTracker</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">形式出现?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">首先q些</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">的实现类通过</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">的接口(上图双Q,接收界面来的事gQ然后调用内?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">handleXXX</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q这样通过内部函数getTargetRequest</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">()[</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">create</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Target</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Request()</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">]</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">和getSourceRequest()</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">[</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">createSourceRequest()</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">]</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q把pȝ</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">事g转换?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">业务语义事g?/SPAN><SPAN lang=EN-US style="COLOR: rgb(153,51,0); FONT-STYLE: italic; FONT-FAMILY: Verdana; TEXT-DECORATION: underline">Request</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q如?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">C</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q。至?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?x)通过调用相关联的</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">的接口将</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">业务语义事g通知?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">中。于是在</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Controller(EditPart)</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">中仅仅需要理解处?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Request</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">对象?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P><BR><IMG src="http://xdingding.cnblogs.com/images/cnblogs_com/xdingding/Untitled-8.gif" border=0>  <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">C</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">下面?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">ResizeTracker</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">代码ZQ?/SPAN></P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: rgb(153,51,0); FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">class ResizeTracker</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">protected Request createSourceRequest() {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">ChangeBoundsRequest request;</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">request = new ChangeBoundsRequest(REQ_RESIZE);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">request.setResizeDirection(getResizeDirection());</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">return request;</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">protected Command getCommand() {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">List editparts = getOperationSet();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">EditPart part;</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">CompoundCommand command = new CompoundCommand();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">command.setDebugLabel("Resize Handle Tracker");//$NON-NLS-1$</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">for (int i = 0; i < editparts.size(); i++) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: SimSun">part = (EditPart)editparts.get(i);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: SimSun">command.add(part.getCommand(getSourceRequest()));</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">return command.unwrap();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">protected void eraseTargetFeedback() {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">if (!getFlag(FLAG_TARGET_FEEDBACK))</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: SimSun">return;</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">if (getTargetEditPart() != null)</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: SimSun">getTargetEditPart().eraseTargetFeedback(getSourceRequest());</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">setFlag(FLAG_TARGET_FEEDBACK, false);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">protected boolean handleButtonUp(int button) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">if (stateTransition(STATE_DRAG_IN_PROGRESS, STATE_TERMINAL)) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: SimSun">eraseSourceFeedback();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: SimSun">eraseTargetFeedback();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: SimSun">performDrag();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">return true;</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">最后还有个问题?BR></P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: rgb(51,51,153)"><SPAN lang=EN-US style="FONT-FAMILY: Verdana"><IMG height=50 src="http://xdingding.cnblogs.com/images/cnblogs_com/xdingding/Untitled-2.jpg" width=50 border=0><BR>Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">q些事g接口Q如何从</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Viewer</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">传递过来的呢?</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">我画?jin)一个简要的cd</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun"><IMG src="http://xdingding.cnblogs.com/images/cnblogs_com/xdingding/gefCallToolsWeb.gif" border=0><BR>?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">D</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"><BR>参照上图Q下面罗列重要代码:(x)</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">大家主要以下两方?/P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; COLOR: rgb(153,51,0); FONT-FAMILY: SimSun">一、创些关键事件处理链的过E(注意图上的粗体文字)(j)Q?/P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; COLOR: rgb(153,51,0)"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">二、消息从</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">SWT</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Canvas</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">实例传递到</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">q程Q图</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">D</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">中注释标{序Q;</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun"> </P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: rgb(153,51,0); FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">class GraphicalEditor</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">public void createPartControl(Composite parent) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">createGraphicalViewer(parent);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">protected void createGraphicalViewer(Composite parent) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">GraphicalViewer viewer = new ScrollingGraphicalViewer();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">viewer.createControl(parent);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">setGraphicalViewer(viewer);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">configureGraphicalViewer();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">hookGraphicalViewer();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">initializeGraphicalViewer();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">protected void setGraphicalViewer(GraphicalViewer viewer) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">getEditDomain().addViewer(viewer);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">this.graphicalViewer = viewer;</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">}</P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: rgb(153,51,0); FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">class EditDomain </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">public void addViewer(EditPartViewer viewer) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">viewer.setEditDomain(this);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">if (!viewers.contains(viewer))</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: SimSun">viewers.add(viewer);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">}</P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: rgb(153,51,0); FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">class GraphicalViewerImpl</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">public void setEditDomain(EditDomain domain) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">super.setEditDomain(domain);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">// Set the new event dispatcher, even if the new domain is null.<SPAN>  </SPAN>This will dispose</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">// the old event dispatcher.</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">getLightweightSystem()</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">.setEventDispatcher(eventDispatcher = new DomainEventDispatcher(domain, this));</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">private final LightweightSystem lws = createLightweightSystem();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: rgb(153,51,0); FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">class ScrollingGraphicalViewer</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">public void setEditDomain(EditDomain domain) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">super.setEditDomain(domain);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">// Set the new event dispatcher, even if the new domain is null.<SPAN>  </SPAN>This will dispose</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">// the old event dispatcher.</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">getLightweightSystem()</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">.setEventDispatcher(eventDispatcher = new DomainEventDispatcher(domain, this));</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">}</P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: rgb(153,51,0); FONT-STYLE: italic; TEXT-DECORATION: underline"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">class </SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun">Light</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">weightSystem</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">public void setEventDispatcher(EventDispatcher dispatcher) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">this.dispatcher = dispatcher;</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana"><SPAN>  </SPAN>//</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">在此</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Shapes</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">例子中是</SPAN><SPAN lang=ZH-CN style="FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">DomainEventDispatcher</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">dispatcher.setRoot(root);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">dispatcher.setControl(canvas);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">protected void addListeners() {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">EventHandler handler = createEventHandler();</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">canvas.getAccessible().addAccessibleListener(handler);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">canvas.getAccessible().addAccessibleControlListener(handler);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">canvas.addMouseListener(handler);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">canvas.addMouseMoveListener(handler);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">canvas.addMouseTrackListener(handler);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">canvas.addKeyListener(handler);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">canvas.addTraverseListener(handler);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">canvas.addFocusListener(handler);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">canvas.addListener(SWT.MouseWheel, handler);</P> <P lang=EN-US style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana">…?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">setEventDispatcher(getEventDispatcher());</P> <P lang=EN-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: rgb(153,51,0); FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">class EventHandler </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">implements MouseMoveListener, MouseListener, AccessibleControlListener, KeyListener,</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: SimSun">TraverseListener, FocusListener, AccessibleListener, MouseTrackListener,</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: SimSun">Listener</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun">{</P> <P lang=EN-US style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana">?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">public void keyPressed(KeyEvent e) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in"><SPAN lang=EN-US style="FONT-FAMILY: Verdana"><SPAN> </SPAN>//</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">在此</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Shapes</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">例子中是</SPAN><SPAN lang=ZH-CN style="FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">DomainEventDispatcher</SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-STYLE: italic; TEXT-DECORATION: underline"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">getEventDispatcher().dispatchKeyPressed(e);</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana"> </SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">}</P> <P lang=EN-US style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana">?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">public void mouseDoubleClick(MouseEvent e) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">getEventDispatcher().dispatchMouseDoubleClicked(e);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">}</P> <P lang=EN-US style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana">?/P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">public void mouseMove(MouseEvent e) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">getEventDispatcher().dispatchMouseMoved(e);</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">public void mouseUp(MouseEvent e) {</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 1in; FONT-STYLE: italic; FONT-FAMILY: SimSun; TEXT-DECORATION: underline">getEventDispatcher().dispatchMouseReleased(e);</P> <P lang=EN-US style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana">}</P> <P lang=EN-US style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana">?/P> <P lang=EN-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana">}</P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">q样、在?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">A</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Request</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">发送到</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">机制做了(jin)要的探讨?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">学习(fn)?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">产生</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Request</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">的机Ӟ可以帮助我们调试</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">GEF</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q同时如果在大家自己的程序中需要有新的</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">交互cdQ也可以试着建立自己?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Tool</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">cM生新?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Request</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q这样在自己?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">产生对应?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Command,</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">q样可以处理实现新?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">UI</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">交互cd?/SPAN></P> <P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun"> </P> <P style="FONT-SIZE: 10pt; MARGIN: 0in"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">在下一我们探讨一下有兛_</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">A</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">中的</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">EditPart</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">如何产生</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Command</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">Q以?qing)执?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">Command</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun">问题?/SPAN></P><img src ="http://www.aygfsteel.com/xdingding/aggbug/22553.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xdingding/" target="_blank">般若菩提</a> 2005-12-05 13:58 <a href="http://www.aygfsteel.com/xdingding/archive/2005/12/05/22553.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GEF源码分析Q三Q?模拟GEF设计思\Q解剖GEF2 附图Q包含GEF的Editor创徏时序?http://www.aygfsteel.com/xdingding/archive/2005/12/05/22552.html般若菩提般若菩提Mon, 05 Dec 2005 05:55:00 GMThttp://www.aygfsteel.com/xdingding/archive/2005/12/05/22552.htmlhttp://www.aygfsteel.com/xdingding/comments/22552.htmlhttp://www.aygfsteel.com/xdingding/archive/2005/12/05/22552.html#Feedback2http://www.aygfsteel.com/xdingding/comments/commentRss/22552.htmlhttp://www.aygfsteel.com/xdingding/services/trackbacks/22552.html
 

包含GEF的Editor创徏时序?/STRONG>

?/SPAN>eclipse|站上例?A >A Shape Diagram EditorZ












 

般若菩提 2005-12-05 13:55 发表评论
]]>
GEF源码分析Q二Q?模拟GEF设计思\Q解剖GEF 1http://www.aygfsteel.com/xdingding/archive/2005/12/05/22550.html般若菩提般若菩提Mon, 05 Dec 2005 05:53:00 GMThttp://www.aygfsteel.com/xdingding/archive/2005/12/05/22550.htmlhttp://www.aygfsteel.com/xdingding/comments/22550.htmlhttp://www.aygfsteel.com/xdingding/archive/2005/12/05/22550.html#Feedback0http://www.aygfsteel.com/xdingding/comments/commentRss/22550.htmlhttp://www.aygfsteel.com/xdingding/services/trackbacks/22550.htmlGEF学习(fn)W记Q二Q?/SPAN> 模拟GEF设计思\Q解?/SPAN>GEF 1

 

GEF如同其他的一?/SPAN>framework一P是一个复杂庞大(有点夸张Q的Q当我们想用驾驭它Ӟ必d面的理解其整体构架及(qing)其运作过E。这需要我们的毅力和敏锐。旅途开始了(jin)?


 

GEF主要的Q务是针对2D囑Ş~辑操作Q如下图?/SPAN>

 

 

 

Z(jin)?/SPAN>GEF能够q泛的用于种cȝ?/SPAN>2D囑Ş~辑领域Q?/SPAN>GEF必d立一个严格的易扩?/SPAN>/易组?/SPAN>/易重用的MVC框架Q当然这U分解细化功能对象的Ҏ(gu)思想Q我们可以用在其它的地方Q其它领域、其他语a?/SPAN>C#上)(j)?/SPAN>

 

 

 

那么如果设计 q个 严格?/SPAN>MVC框架(对于Model是严格的独立Q它不依赖与View?/SPAN>Controller) 以及(qing) 此框?/SPAN> 如何 辑ֈ 易扩?/SPAN>/易组?/SPAN>/易重?/SPAN> 的特性。下面我按照自己拙劣的思\Q以麻雀之眼?/SPAN>鸉K之志?IMG src="http://xdingding.cnblogs.com/Emoticons/emembarrassed.gif" align=absMiddle border=0>

 

对于MVC?/SPAN>

View部分Q?/SPAN>GEF理所当然要用自家的东东Draw2D。利?/SPAN>Draw2D?/SPAN>Figuer作ؓ(f)自己?/SPAN>View?/SPAN>

Model部分Q?/SPAN>往往内部包含?jin)千差万别、不可预知的商业信息。因此?/SPAN>GEF框架应该量减少U束Q在下面详l说明约束)(j)?/SPAN>

Controller部分Q?/SPAN>EditPart/Draw2D?/SPAN>Figure/Modelq三个树(wi)状对象模型,?/SPAN>EditPart中将建立?jin)与其对应?/SPAN>Draw2D?/SPAN>Figure/Modell点 建立一一兌的关pR?/SPAN>

 

q样产生的构架如下:(x)

 

 

 

 

 

 

思考:(x)

Z?/SPAN>Controller要同View一样采用树(wi)状结构呢Q?/SPAN>

?/SPAN>Controller以树(wi)状的形式存在Q这样便于功能分解(q个道理有点?/SPAN> 在类设计?/SPAN> 复合优于l承 一般)(j)

q样每一l点?/SPAN>Controller(?/SPAN>EditPart) 仅需要处?/SPAN>

  • 自n逻辑功能
  • 理?/SPAN>Controller
  • 必要旉知?/SPAN>Controller

其当用户需要在囑Ş界面~辑界面中,需要用多U不?/SPAN>UI行ؓ(f)规则?/SPAN>2D元素Q例如不同的形状块,不同行ؓ(f)的连U等Q组合来完成工作Ӟ例如cMVisioq样的界面)(j)Q这U构架的优势显露无疑?/SPAN>

 

未完待箋?(下面要探讨如何生上qC个树(wi)状模型等?/SPAN>)



般若菩提 2005-12-05 13:53 发表评论
]]>
GEF源码分析Q一Q?eclipse的GEF相关目说明http://www.aygfsteel.com/xdingding/archive/2005/12/05/22549.html般若菩提般若菩提Mon, 05 Dec 2005 05:50:00 GMThttp://www.aygfsteel.com/xdingding/archive/2005/12/05/22549.htmlhttp://www.aygfsteel.com/xdingding/comments/22549.htmlhttp://www.aygfsteel.com/xdingding/archive/2005/12/05/22549.html#Feedback0http://www.aygfsteel.com/xdingding/comments/commentRss/22549.htmlhttp://www.aygfsteel.com/xdingding/services/trackbacks/22549.html 

GEF学习(fn)W记Q一Q?/SPAN> eclipse?/SPAN>GEF相关目说明

 

首先、感?A >八进?/A>的辛勤劳动和奉献。这几天开始对GEF发生兴趣Q?A >八进制的GEFpdҎ(gu)学这些的帮助很大入门很快。自׃顺手把周末学习(fn)的东西记录下来。帮助后来学人。我?x)把q几天所学陆l写出希望大家支持。目前、正在ؓ(f)八进制例子发愁,我对NodePart增加?/SPAN>ResizeEditPolicyQ但是不知ؓ(f)何鼠标拖动时有个灰色的区域在随着变化Q但鼠标释放ӞNodeFigure的尺怸发生变化Q是否是因ؓ(f)?/SPAN>refreshVisuals中固化了(jin)SizeQ代码学?fn)?/SPAN>?

 

eclipse?/SPAN>GEF相关目说明?/SPAN>

 

各项目的介:(x)

 

 

Draw2DQ?/SPAN>建立?/SPAN>2l的囑Ş?/SPAN>(?wi)状囑Ş部gFigure)Q负责显C?/SPAN>2l的囑Ş展示?BR>


GEF
Q?/SPAN>     Q?/SPAN>Graphical Editing FrameworkQ?/SPAN>建立标准?/SPAN>MVC构架Q代码利?/SPAN>Draw2D作ؓ(f)自己?/SPAN>View部分Q主要代码实现复杂的?wi)?/SPAN>(?/SPAN>Model分别对应)      的控制器。实现的框架h很高的可复用{特性,例如Q将囑Ş部g功能分解为多?/SPAN>EditPolicyQ这样用者可以通过installEditPolicy接口来定Ӟ以及(qing)扩充自己的某一功能特征?/SPAN>


EMF:     
Q?/SPAN>Eclipse Modeling FrameworkQ?/SPAN>首先在一个轻量目以及(qing)目初期开发,Model常常采用拥有Property?/SPAN>Java对象来简单明?jin)表C【即 Plain Old Java Objects (POJOs)】?/SPAN>EMF定义?jin)一套Ecore元模型,使得Modelh易于l护、易于扩充、易于数据交换等Ҏ(gu)的Model Framwork。因此、在实际中大型的目中往往?x)采?/SPAN>Draw2DQ?/SPAN>GEFQ?/SPAN>EMF的方式来实现整体?/SPAN>MVC模式。例如:(x)ROSE的最新版?/SPAN> IBM.Rational.Software.Architect是采用?jin)这U构架?/SPAN>


GMF
Q?/SPAN>    Q?/SPAN>Graphical Modeling Framework Q?/SPAN>使用?/SPAN>GEF?/SPAN>EMFQ徏立了(jin)两个之间的桥梁框Ӟ同时实现?jin)一些领域上的典范应用,?/SPAN>UML图,甘特图,脑图{。(目正在q行中这些功能还未完备。可以用来参考以实现自己的一个标准的GEFQ?/SPAN>EMF的应用)(j)?/SPAN>

 

各项目依赖关p:(x)

 

 

如上图:(x)使用者可以有以下几种用法Q?/P>

EMF: Model理?/SPAN>

Draw2D: 二维囑Ş展现

Draw2D Q?/SPAN> GEF: 二维囑Ş的简单编辑模?/SPAN>

Draw2D Q?/SPAN> GEF Q?/SPAN> EMFQ?/SPAN> 二维囑Ş的编辑模?/SPAN>

Draw2D Q?/SPAN> GEF Q?/SPAN> EMF Q?/SPAN> GMFQ基?/SPAN>GMF提供的图形编辑功能之上扩?BR>



般若菩提 2005-12-05 13:50 发表评论
]]>
վ֩ģ壺 Ž| | | ƽ| | | | | ƽ| | | | ƽ| | | ɽ| ״| | | | | ¡| ˮ| | Ѯ| ˮ| | | ߱| | | | ̩| ƺ| | | ѷ| ƽ| ͨ| ԣ| ֦|