亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

可視化組件的生成方法和生成模塊的制作方法

文檔序號(hào):6365944閱讀:184來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):可視化組件的生成方法和生成模塊的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種可視化組件的生成方法和生成模塊。
背景技術(shù)
目前,編程工具C/C++組件的開(kāi)發(fā)主要依賴(lài)于人工編碼,這種方式存在以下問(wèn)題 要求開(kāi)發(fā)人員具有較好的C/C++基礎(chǔ)和C/C++開(kāi)發(fā)經(jīng)驗(yàn);
手工輸入代碼容易出現(xiàn)語(yǔ)法錯(cuò)誤;
人工編碼容易導(dǎo)致編碼風(fēng)格不規(guī)范。Eclipse是ー種基于Java的可擴(kuò)展開(kāi)源開(kāi)發(fā)平臺(tái)。Eclipse是ー個(gè)框架和ー組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。Eclipse附帯了一個(gè)標(biāo)準(zhǔn)的插件集,包括為人熟知的 JDT (Java Development Tools, Java 開(kāi)發(fā)工具)。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種可視化組件的生成方法和生成模塊,降低對(duì)組件開(kāi)發(fā)人員的能力要求,提高組件開(kāi)發(fā)效率。為解決上述技術(shù)問(wèn)題,本發(fā)明提出了一種可視化組件的生成方法,包括
根據(jù)要生成的編程工具組件的組件類(lèi)型和該要生成的編程工具組件需要的流程控制
關(guān)鍵字,選取圖形化編輯框架GEF模型;
為選取的每個(gè)GEF模型設(shè)置與該GEF模型對(duì)應(yīng)的視圖,將所述要生成的編程工具組件的流程表示為選取的GEF模型對(duì)應(yīng)的視圖的組合;
根據(jù)GEF文件中保存的模型實(shí)例屬性信息和模型實(shí)例關(guān)系信息,自動(dòng)生成所述要生成的編程工具組件的源代碼文件。進(jìn)ー步地,上述方法還可具有以下特點(diǎn),還包括根據(jù)所述GEF模型的屬性變化更新所述GEF模型對(duì)應(yīng)的視圖。進(jìn)ー步地,上述方法還可具有以下特點(diǎn),還包括根據(jù)用戶(hù)對(duì)視圖的編輯修改該視圖對(duì)應(yīng)的GEF模型。進(jìn)ー步地,上述方法還可具有以下特點(diǎn),所述GEF模型對(duì)應(yīng)的視圖使用繪圖工具Draw2D 繪制。進(jìn)ー步地,上述方法還可具有以下特點(diǎn),所述編程工具為C編程語(yǔ)言或C++編程語(yǔ)言。為解決上述技術(shù)問(wèn)題,本發(fā)明提出了一種可視化組件的生成模塊,包括
選取單元,用于根據(jù)要生成的編程工具組件的組件類(lèi)型和該要生成的編程工具組
件需要的流程控制關(guān)鍵字,選取圖形化編輯框架GEF模型;
視圖化単元,用于為選取的每個(gè)GEF模型設(shè)置與該GEF模型對(duì)應(yīng)的視圖,將所述要生成的編程工具組件的流程表示為選取的GEF模型對(duì)應(yīng)的視圖的組合;
生成単元,用于根據(jù)GEF文件中保存的模型實(shí)例屬性信息和模型實(shí)例關(guān)系信息,自動(dòng)生成所述要生成的編程工具組件的源代碼文件
進(jìn)ー步地,上述模塊還可具有以下特點(diǎn),還包括視圖更新単元,用于根據(jù)所述GEF模型的屬性變化更新所述GEF模型對(duì)應(yīng)的視圖。進(jìn)ー步地,上述模塊還可具有以下特點(diǎn),還包括模型修改単元,用于根據(jù)用戶(hù)對(duì)視圖的編輯修改該視圖對(duì)應(yīng)的GEF模型。進(jìn)ー步地,上述模塊還可具有以下特點(diǎn),所述GEF模型對(duì)應(yīng)的視圖使用繪圖工具Draw2D 繪制。進(jìn)ー步地,上述模塊還可具有以下特點(diǎn),所述編程工具為C編程語(yǔ)言或C++編程語(yǔ)言。
本發(fā)明可視化組件的生成方法和生成模塊,降低了對(duì)開(kāi)發(fā)人員C/C++開(kāi)發(fā)能力的要求,使得開(kāi)發(fā)人員可以更多的關(guān)注于業(yè)務(wù)邏輯。并且,本發(fā)明可視化組件的生成方法和生成模塊,能夠自動(dòng)生成代碼,代碼格式統(tǒng)一,降低了語(yǔ)法錯(cuò)誤出現(xiàn)的機(jī)率,提高了開(kāi)發(fā)測(cè)試效率。


圖I為本發(fā)明實(shí)施例中可視化組件的生成方法的流程 圖2為本發(fā)明實(shí)施例中可視化組件的生成模塊的結(jié)構(gòu)圖。
具體實(shí)施例方式本發(fā)明使用GEF技木,在Eclipse平臺(tái)上實(shí)現(xiàn)ー個(gè)C/C++組件的可視化開(kāi)發(fā)插件,通過(guò)圖形化編輯C/C++組件流程,最終生成C/C++組件代碼。以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。本發(fā)明可視化組件的生成方法可以通過(guò)Eclipse平臺(tái)實(shí)現(xiàn)。圖I為本發(fā)明實(shí)施例中可視化組件的生成方法的流程圖。如圖I所示,本實(shí)施例中,可視化組件的生成方法可以包括如下步驟
步驟101,根據(jù)要生成的編程工具組件的組件類(lèi)型和該要生成的編程工具組件需要的流程控制關(guān)鍵字,選取GEF (Graphical Editor Framework,圖形化編輯框架)模型;
每個(gè)GEF模型對(duì)應(yīng)ー種GEF中自定義的圖形,該圖形即下面將要提到的GEF模型對(duì)應(yīng)的視圖。其中,編程工具可以為C編程語(yǔ)言或C++編程語(yǔ)言。GEF模型的選取可以通過(guò)分析歸類(lèi)得到。比如,C/C++組件有A、B兩類(lèi),分別用ー個(gè)java類(lèi)來(lái)描述A、B兩類(lèi)組件;再比如,C/C++流程控制關(guān)鍵字主要有if、for等,分別用ー個(gè)java類(lèi)來(lái)描述各個(gè)關(guān)鍵字的屬性。這些java類(lèi)就構(gòu)成了 GEF的模型。GEF模型用來(lái)記錄組件或者流程關(guān)鍵字的屬性(例如組件名稱(chēng)、組件輸入輸出參數(shù)、if關(guān)鍵字的判斷條件等)以及在編輯器中圖形化展示時(shí)的位置、大小等關(guān)系。GEF模型只與控制器打交道,而不知道任何與視圖有關(guān)的東西。為了能讓GEF中的控制器知道GEF模型的變化,還需把控制器作為事件監(jiān)聽(tīng)者注冊(cè)到GEF模型中,當(dāng)GEF模型發(fā)生變化吋,GEF模型發(fā)相應(yīng)的事件給控制器,控制器負(fù)責(zé)通知視圖進(jìn)行更新,所以GEF模型對(duì)象一般還會(huì)包含PropertyChangeSupport類(lèi)型的成員變量,用來(lái)維護(hù)控制器。步驟102,為選取的每個(gè)GEF模型設(shè)置與該GEF模型對(duì)應(yīng)的視圖,將要生成的編程工具組件的流程表示為選取的GEF模型對(duì)應(yīng)的視圖的組合;
GEF模型對(duì)應(yīng)的視圖是指GEF模型對(duì)應(yīng)的顯示圖形。GEF模型對(duì)應(yīng)的視圖可以使用繪圖工具Draw2D繪制。為GEF模型設(shè)置或者說(shuō)繪制視圖的目的是,使GEF模型能夠在可視化編輯器中展現(xiàn),并用視圖的組合來(lái)表示編程工具組件的流程,使用戶(hù)對(duì)編程工具組件流程的了解更加直觀(guān),易于理解??梢酝ㄟ^(guò)拖拽GEF模型對(duì)應(yīng)的視圖到編輯器窗ロ以實(shí)例化、圖形化GEF模型,通過(guò)設(shè)置GEF模型實(shí)例的屬性以及GEF模型實(shí)例之間的關(guān)系完成C/C++流程設(shè)計(jì)。步驟103,根據(jù)GEF文件中保存的模型實(shí)例屬性信息和模型實(shí)例關(guān)系信息,自動(dòng)生成要生成的編程工具組件的源代碼文件;
步驟104,根據(jù)GEF模型的屬性變化更新GEF模型對(duì)應(yīng)的視 步驟105,根據(jù)用戶(hù)對(duì)視圖的編輯修改該視圖對(duì)應(yīng)的GEF模型。控制器是GEF模型和GEF模型對(duì)應(yīng)的視圖之間的橋梁。控制器不僅要監(jiān)聽(tīng)GEF模型的變化,當(dāng)GEF模型的屬性發(fā)生變化吋,刷新GEF模型對(duì)應(yīng)的視圖,而且當(dāng)用戶(hù)編輯GEF模型對(duì)應(yīng)的視圖時(shí),還要把編輯結(jié)果反映到GEF模型上。GEF中的控制器就是所謂的EditPart對(duì)象,每ー個(gè)GEF模型對(duì)象都對(duì)應(yīng)ー個(gè)EditPart對(duì)象。姆個(gè)控制器都繼承類(lèi)AbstractGraphicalEditPart,并且由于控制器要監(jiān)聽(tīng)GEF模型的變化,所以還需實(shí)現(xiàn)PropertyChangeListener接ロ。在控制器生效時(shí),應(yīng)該把控制器注冊(cè)·為對(duì)應(yīng)GEF模型的監(jiān)聽(tīng)器,所以需覆蓋父類(lèi)AbstractGraphicalEditPart的active方法,在控制器失效時(shí),從GEF模型中刪除這個(gè)控制器,所以需覆蓋父類(lèi)AbstractGraphicalEditPart的deactive方法。此外由于控制器要根據(jù)模型來(lái)創(chuàng)建并刷新模型對(duì)應(yīng)的視圖,所以還需覆蓋父類(lèi)AbstractGraphicalEditPart的CreateFigure、實(shí)現(xiàn)PropertyChangeListener 接 ロ 的 PropertyChange 萬(wàn)法。用戶(hù)編輯視圖(比如拖動(dòng)某個(gè)GEF模型對(duì)應(yīng)的圖形,改變其位置),這過(guò)程包括用戶(hù)向視圖對(duì)應(yīng)的控制器發(fā)出編輯請(qǐng)求(Request),控制器會(huì)調(diào)用相應(yīng)的命令(command)來(lái)修改對(duì)應(yīng)GEF模型的位置屬性,GEF模型位置屬性發(fā)生變化了,又會(huì)通知控制器,控制器就會(huì)刷新視圖,改變圖形的位置??刂破髟趺锤鶕?jù)請(qǐng)求類(lèi)型來(lái)調(diào)用相應(yīng)的命令,是通過(guò)策略來(lái)完成的,策略保存了請(qǐng)求類(lèi)型和命令的映射關(guān)系。所以需要在控制器中安裝策略,這通過(guò)覆蓋父類(lèi)的 createEditPolicies 來(lái)實(shí)現(xiàn)。本發(fā)明可視化組件的生成方法,降低了對(duì)開(kāi)發(fā)人員C/C++開(kāi)發(fā)能力的要求,使得開(kāi)發(fā)人員可以更多的關(guān)注于業(yè)務(wù)邏輯。并且,本發(fā)明可視化組件的生成方法,能夠自動(dòng)生成代碼,代碼格式統(tǒng)一,降低了語(yǔ)法錯(cuò)誤出現(xiàn)的機(jī)率,提高了開(kāi)發(fā)測(cè)試效率。本發(fā)明還提出了一種可視化組件的生成模塊。本發(fā)明可視化組件的生成模塊可以實(shí)施上述可視化組件的生成方法。圖2為本發(fā)明實(shí)施例中可視化組件的生成模塊的結(jié)構(gòu)圖。如圖2所示,本實(shí)施例中,可視化組件的生成模塊200可以包括選取單元210、視圖化単元220和生成単元230。其中,選取單元210用于根據(jù)要生成的編程工具組件的組件類(lèi)型和該要生成的編程工具組件需要的流程控制關(guān)鍵字,選取圖形化編輯框架GEF模型。視圖化単元220用于為選取的每個(gè)GEF模型設(shè)置與該GEF模型對(duì)應(yīng)的視圖,將要生成的編程工具組件的流程表示為選取的GEF模型對(duì)應(yīng)的視圖的組合。生成単元230用于根據(jù)GEF文件中保存的模型實(shí)例屬性信息和模型實(shí)例關(guān)系信息,自動(dòng)生成該要生成的編程工具組件的源代碼文件。再如圖2所示,可視化組件 的生成模塊200還可以包括視圖更新単元240。視圖更新単元240用于根據(jù)GEF模型的屬性變化更新該GEF模型對(duì)應(yīng)的視圖。再如圖2所示,可視化組件的生成模塊200還可以包括模型修改単元250。模型修改単元250用于根據(jù)用戶(hù)對(duì)視圖的編輯修改該視圖對(duì)應(yīng)的GEF模型。應(yīng)用本發(fā)明可視化組件的生成模塊,降低了對(duì)開(kāi)發(fā)人員C/C++開(kāi)發(fā)能力的要求,使得開(kāi)發(fā)人員可以更多的關(guān)注于業(yè)務(wù)邏輯。并且,本發(fā)明可視化組件的生成模塊,能夠自動(dòng)生成代碼,代碼格式統(tǒng)一,降低了語(yǔ)法錯(cuò)誤出現(xiàn)的機(jī)率,提高了開(kāi)發(fā)測(cè)試效率。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種可視化組件的生成方法,其特征在于,包括 根據(jù)要生成的編程工具組件的組件類(lèi)型和該要生成的編程工具組件需要的流程控制關(guān)鍵字,選取圖形化編輯框架GEF模型; 為選取的每個(gè)GEF模型設(shè)置與該GEF模型對(duì)應(yīng)的視圖,將所述要生成的編程工具組件的流程表示為選取的GEF模型對(duì)應(yīng)的視圖的組合; 根據(jù)GEF文件中保存的模型實(shí)例屬性信息和模型實(shí)例關(guān)系信息,自動(dòng)生成所述要生成的編程工具組件的源代碼文件。
2.根據(jù)權(quán)利要求I所述的可視化組件的生成方法,其特征在于,還包括根據(jù)所述GEF模型的屬性變化更新所述GEF模型對(duì)應(yīng)的視圖。
3.根據(jù)權(quán)利要求I所述的可視化組件的生成方法,其特征在于,還包括根據(jù)用戶(hù)對(duì)視圖的編輯修改該視圖對(duì)應(yīng)的GEF模型。
4.根據(jù)權(quán)利要求I所述的可視化組件的生成方法,其特征在于,所述GEF模型對(duì)應(yīng)的視圖使用繪圖工具Draw2D繪制。
5.根據(jù)權(quán)利要求I所述的可視化組件的生成方法,其特征在于,所述編程工具為C編程語(yǔ)言或C++編程語(yǔ)言。
6.一種可視化組件的生成模塊,其特征在于,包括選取單元,用于根據(jù)要生成的編程工具組件的組件類(lèi)型和該要生成的編程工具組件需要的流程控制關(guān)鍵字,選取圖形化編輯框架GEF模型;視圖化單元,用于為選取的每個(gè)GEF模型設(shè)置與該GEF模型對(duì)應(yīng)的視圖,將所述要生成的編程工具組件的流程表示為選取的GEF模型對(duì)應(yīng)的視圖的組合;生成單元,用于根據(jù)GEF文件中保存的模型實(shí)例屬性信息和模型實(shí)例關(guān)系信息,自動(dòng)生成所述要生成的編程工具組件的源代碼文件。
7.根據(jù)權(quán)利要求6所述的可視化組件的生成模塊,其特征在于,還包括視圖更新單元,用于根據(jù)所述GEF模型的屬性變化更新所述GEF模型對(duì)應(yīng)的視圖。
8.根據(jù)權(quán)利要求6所述的可視化組件的生成模塊,其特征在于,還包括模型修改單元,用于根據(jù)用戶(hù)對(duì)視圖的編輯修改該視圖對(duì)應(yīng)的GEF模型。
9.根據(jù)權(quán)利要求6所述的可視化組件的生成模塊,其特征在于,所述GEF模型對(duì)應(yīng)的視圖使用繪圖工具Draw2D繪制。
10.根據(jù)權(quán)利要求6所述的可視化組件的生成模塊,其特征在于,所述編程工具為C編程語(yǔ)言或C++編程語(yǔ)言。
全文摘要
本發(fā)明涉及一種可視化組件的生成方法和生成模塊??梢暬M件的生成方法包括根據(jù)要生成的編程工具組件的組件類(lèi)型和該要生成的編程工具組件需要的流程控制關(guān)鍵字,選取圖形化編輯框架GEF模型;為選取的每個(gè)GEF模型設(shè)置與該GEF模型對(duì)應(yīng)的視圖,將所述要生成的編程工具組件的流程表示為選取的GEF模型對(duì)應(yīng)的視圖的組合;根據(jù)GEF文件中保存的模型實(shí)例屬性信息和模型實(shí)例關(guān)系信息,自動(dòng)生成所述要生成的編程工具組件的源代碼文件。本發(fā)明可視化組件的生成方法和生成模塊,降低了對(duì)開(kāi)發(fā)人員C/C++開(kāi)發(fā)能力的要求,使得開(kāi)發(fā)人員可以更多的關(guān)注于業(yè)務(wù)邏輯,并且降低了語(yǔ)法錯(cuò)誤出現(xiàn)的機(jī)率,提高了開(kāi)發(fā)測(cè)試效率。
文檔編號(hào)G06F9/44GK102662651SQ20121005974
公開(kāi)日2012年9月12日 申請(qǐng)日期2012年3月8日 優(yōu)先權(quán)日2012年3月8日
發(fā)明者陳暄 申請(qǐng)人:北京神州數(shù)碼思特奇信息技術(shù)股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1