亚洲人成网站在线播放2019 _日韩国产欧美精品_久久夜色精品国产欧美乱_在线视频福利一区

當(dāng)前位置:首頁(yè) > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > EMF開(kāi)發(fā)指南之Command Framework

EMF開(kāi)發(fā)指南之Command Framework
2010-01-14 22:40:54  作者:  來(lái)源:
★emf的command framework分為兩部分,一部分是common的不依賴(lài)于emf.edit的command,另一個(gè)部分是和emf.edit關(guān)聯(lián)的command,和emf.edit關(guān)聯(lián)的command,通過(guò)EObject的相關(guān)方法來(lái)實(shí)現(xiàn)對(duì)model的attribute設(shè)置,reference修改,copy&paste操作等。
★在command command中,提供了一個(gè)Command接口,里面的方法包括execute(), undo(),redo(),canExecute(), canUndo()等等。其中g(shù)etResult()方法的作用一般是用來(lái)告訴后續(xù)的command,當(dāng)前操作的結(jié)果,這個(gè)在組合command中會(huì)用到,而getAffectedObject()方法則用來(lái)取得受execute(), redo(), undo()方法影響的對(duì)象,這個(gè)方法通常在emf.edit的ui framework中使用,比如一個(gè)屬性被修改之后,其他受影響的屬性也響應(yīng)發(fā)生修改了,則ui對(duì)被修改的屬性使用不同的顏色來(lái)加以標(biāo)識(shí)(比如高亮),則兩個(gè)方法返回的結(jié)果有時(shí)候會(huì)是一樣的。
★從Command繼承而來(lái)的AbstractCommand做的一件非常重要的事情就是實(shí)現(xiàn)了canExecute()方法,同時(shí)讓從AbstractCommand繼承的子類(lèi)去實(shí)現(xiàn)prepare()方法來(lái)決定是否可執(zhí)行,從而保證canExecute()最終只會(huì)被執(zhí)行一次prepare()來(lái)做判斷command是否能執(zhí)行
★CommandStack主要在undo,redo的時(shí)候使用,它使用一個(gè)stack來(lái)維護(hù)所有可undoable的command,可以給commandstack添加一個(gè)CommandStackListener,那么stack中的所有command在被調(diào)用的時(shí)候都會(huì)出發(fā)該listener。BasicCommandStack是CommandStack的一個(gè)簡(jiǎn)單實(shí)現(xiàn)
★CompoundCommand用來(lái)一次執(zhí)行多個(gè)command,它提供了一些特殊的操作,比如appendAndExecute(),該方法可以很好的將已執(zhí)行的command加以記錄下來(lái),這樣我們?cè)趗ndo的時(shí)候,直接倒過(guò)來(lái)執(zhí)行commandlist中的每一個(gè)command即可,實(shí)際上其他的command也會(huì)在execute()方法里面這么干,另外一個(gè)方法就是unwrap(),如果你的compound command只有一個(gè)command的時(shí)候,該方法會(huì)起到一定的優(yōu)化作用。
★Set,Add,Remove,Move,Replace以及CopyCommand都是和emf.edit關(guān)聯(lián)的基本command,不過(guò)CopyCommand實(shí)際上是一個(gè)Compound Command,它結(jié)合了CreateCopyCommand和InitinalizeCopyCommand。對(duì)這些基本command加以組合便可以形成其他更高級(jí)的command,比如CreateChildCommand(AddCommand+SetCommand),CutToClipboardCommand(RemoveCommand),PasteFromClipboardCommand(AddCommand+CopyCommand),DragAndDropCommand(CopyCommand+RemoveCommand+AddCommand)等等。
★AbstractOverrideableCommand解決了一個(gè)代理的問(wèn)題,不過(guò)還沒(méi)明白有什么用 
★CommandParameter用來(lái)封裝創(chuàng)建command所需要的參數(shù),通過(guò)參看EditingDomain的createCommand方法實(shí)現(xiàn)我們可以得知,通過(guò)反射得到要?jiǎng)?chuàng)建的Command Class,接著根據(jù)約定:每一種Command必須提供相應(yīng)的靜態(tài)創(chuàng)建方法create來(lái)生成對(duì)應(yīng)的Command實(shí)例
★model如何顯示交給Label Provider來(lái)管理,而對(duì)model的維護(hù)則交給了EditingDomain,該實(shí)現(xiàn)主要做三件事:創(chuàng)建command,維護(hù)undo command stack,對(duì)編輯的resource提供訪問(wèn)接口。
★IEditingDomainItemProvider是用來(lái)訪問(wèn)model的層次關(guān)系的接口(Editing Domain也實(shí)現(xiàn)了這些方法,因此后者會(huì)調(diào)用前者的實(shí)現(xiàn))。而IEditingDomainItemProvider的實(shí)現(xiàn)則是通過(guò)ItemProvider來(lái)取得
★ItemProviderAdapter也提供了一個(gè)根據(jù)editing domain, commandparameter創(chuàng)建command的createCommand()方法。它和AdapterFactoryEditingDomain的實(shí)現(xiàn)基本一樣。

安徽新華電腦學(xué)校專(zhuān)業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線(xiàn)咨詢(xún)
亚洲人成网站在线播放2019 _日韩国产欧美精品_久久夜色精品国产欧美乱_在线视频福利一区
丁香六月激情婷婷| 日本欧美国产在线| 久久免费视频1| 成人久久久久爱| 高清视频欧美一级| 国产伦精品一区二区三区照片 | 亚洲高清在线观看一区| 欧美激情图片区 | 国产福利精品视频| 日韩精品欧美一区二区三区| 午夜免费日韩视频| 日本久久中文字幕| 日本不卡一区二区三区视频| 日韩欧美亚洲区| 欧美在线视频观看| 国产专区精品视频| 粉嫩av免费一区二区三区| 97精品国产97久久久久久粉红 | 91av免费看| 久精品国产欧美| 操人视频在线观看欧美| 亚洲一区二区三区四区在线播放 | 丝袜美腿精品国产二区| 国产精品视频导航| 久久艳片www.17c.com| 一级特黄录像免费播放全99| 亚洲影视九九影院在线观看| 欧美一级片一区| 国产天堂在线播放| 国产成人亚洲综合91| 国产精品传媒毛片三区| 午夜精品三级视频福利| 国产日韩精品入口| 久久久久久久国产精品视频| 欧美日韩高清在线观看| 欧美在线视频观看免费网站| av免费网站观看| 国产成人无码一二三区视频| 国产精国产精品| 欧美wwwxxxx| 欧美日韩国产高清视频| 国产精品自拍小视频| 国内一区在线| 久久久久久久9| 日批视频在线免费看| 9a蜜桃久久久久久免费| 国产精品福利网站| 欧洲视频一区二区三区| 国产成人av网| 人人妻人人添人人爽欧美一区| 91精品久久久久久久久久久久久久 | 国产999在线观看| 一本大道熟女人妻中文字幕在线 | 久久久久久a亚洲欧洲aⅴ| 亚洲淫片在线视频| 91免费国产视频| 亚洲影院色在线观看免费| 成人精品视频在线| 亚洲中文字幕无码中文字| 97免费在线视频| 日产中文字幕在线精品一区| 久久草.com| 日韩精品国内| www国产亚洲精品久久网站| 免费在线黄网站| 国产精品旅馆在线| 成人免费淫片aa视频免费| 亚洲欧洲精品在线| 国产成人激情视频| 精品国产乱码久久久久久蜜柚| 黄色国产精品一区二区三区| 国产精品久久7| 成人国产在线看| 日本一区免费| 久久成人精品一区二区三区| 高清在线观看免费| 日韩精品伦理第一区| 国产精品狠色婷| 国产精选久久久久久| 人人妻人人添人人爽欧美一区 | 色噜噜狠狠狠综合曰曰曰| 精品视频一区二区在线| 亚洲一区二区自拍| 久久久精品电影| 97色伦亚洲国产| 日本不卡在线观看视频| 国产精品美女久久久久av福利| 亚洲欧美丝袜| 久久国产亚洲精品无码| 精品无人区一区二区三区 | 欧美极品一区| 日日夜夜精品网站| 久久久久久97| 国产精品手机播放| 国产不卡在线观看| 国产精品99久久久久久久| 国产一级二级三级精品| 欧日韩一区二区三区| 欧美一级免费在线观看| 亚洲一二三区精品| 中文字幕免费高| 一区二区三区免费看| 在线不卡视频一区二区| 国产精品免费视频一区二区| 久久琪琪电影院| 国产日韩精品一区二区| 亚洲精品中字| 一级日韩一区在线观看| 欧美精品做受xxx性少妇| 久久精品国产亚洲7777| 国产av无码专区亚洲精品| 久久影院理伦片| 久久久亚洲天堂| 国产成人a亚洲精v品无码| 国产高清自拍99| 国产成人精品免费看在线播放| 7777精品久久久久久| 久久久亚洲精品视频| 久久久久久久999| 久久久久久久久电影| 国产精品视频不卡| 欧美日韩aaaa| 日本一区二区在线视频| 欧洲成人免费视频| 国产日韩在线免费| 69精品小视频| 久久人人看视频| 99在线影院| 久久久久www| 亚洲最大av网| 青青在线视频免费观看| 国产又大又长又粗又黄| 99色这里只有精品| 国产高清在线一区二区| 国产成a人亚洲精v品在线观看| 国产精品视频地址| 亚洲国产一区二区在线| 欧美牲交a欧美牲交| 国产女教师bbwbbwbbw| 国产成人精品国内自产拍免费看| 国产精品久久不能| 日本国产一区二区三区| 国内自拍欧美激情| 久久精品午夜福利| 久久91精品国产91久久久| 青青在线视频一区二区三区| 成人美女免费网站视频| 国产精品视频色| 一区二区三区的久久的视频| 国产精品免费久久久久影院| 亚洲国产成人不卡| 国产欧美123| 欧美成人亚洲成人日韩成人| 青草青草久热精品视频在线观看 | 亚洲一区二区免费| 国模极品一区二区三区| 久久国产一区二区三区| 日韩亚洲不卡在线| 97碰碰碰免费色视频| 中文字幕制服丝袜在线| 麻豆一区区三区四区产品精品蜜桃 | 久久成人人人人精品欧| 操日韩av在线电影| 免费看a级黄色片| 国产精品久久久久久久久久久新郎 | 久久久久久网址| 亚洲v欧美v另类v综合v日韩v| 国产欧美日韩精品专区| 精品国产一区二区三区无码| 国产日韩中文在线| 不卡毛片在线看| 国产男女猛烈无遮挡91| 蜜月aⅴ免费一区二区三区| 国产欧美精品aaaaaa片| 又粗又黑又大的吊av| 成人在线观看a| 少妇免费毛片久久久久久久久| 国产狼人综合免费视频| 亚洲视频小说| av日韩中文字幕| 国产精品户外野外| av一区二区三区免费观看| 日韩在线电影一区| 国产精品老女人视频| 国产伦精品一区二区三区视频免费 | 日韩欧美亚洲区| 欧美成人在线免费| 7777精品视频| 美乳视频一区二区| 亚洲 国产 日韩 综合一区| www国产精品视频| 国产精品一区二区a| 青青在线视频免费| 一区二区三区四区视频在线| 国产精品一区二区三区成人 | 成人福利网站在线观看11| 欧洲成人免费视频| 亚洲va久久久噜噜噜久久狠狠| 国产精品日韩一区二区免费视频 | 性欧美长视频免费观看不卡|