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

自動移除代碼的方法及裝置的制作方法

文檔序號:6440709閱讀:212來源:國知局
專利名稱:自動移除代碼的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種自動移除代碼的方法及裝置。
背景技術(shù)
目前基于所見即所得的可設(shè)計工具(UI設(shè)計工具)中,其代碼生成功能都是通過事件向?qū)K配置該向?qū)?,生成控件事件的框架代碼。事件向?qū)K表示的是管理控件的觸發(fā)動作和其對應(yīng)代碼的管理模塊,該向?qū)Э梢栽试S用戶選擇該控件的所有事件,配置該事件對應(yīng)的處理函數(shù),生成該事件的框架代碼。通過在事件向?qū)е信渲每丶?yīng)事件及其事件對應(yīng)的處理函數(shù),可以簡便快捷地生成控件的事件處理函數(shù)。然而絕大多數(shù)的UI設(shè)計工具,可以快速正確地生成控件的事件及其處理函數(shù),但是在當(dāng)控件在窗口界面中刪除時,該控件原有的代碼中無法從代碼文件中刪除,出現(xiàn)代碼冗余。這些冗余代碼只能由程序員手動清除。當(dāng)可視化界面中含有大量不同類型的控件時, 刪除這些控件,其代碼冗余量非常大,嚴(yán)重影響用戶使用。如微軟的VC工具,基于微軟基礎(chǔ)類庫(MFC)思想可以做到界面良好的配置性和代碼快速生成,但是在事件向?qū)е猩傻娜哂啻a,并沒有根據(jù)控件被界面刪除時移除。VC 工具只能使用這種開發(fā)模式工具自動生成界面代碼,開發(fā)人員手動清除事件向?qū)У娜哂啻a。IBM的代碼編輯工具(Eclipse)的標(biāo)準(zhǔn)窗口小部件工具箱(SWT)插件,同樣可以可視化設(shè)計界面,事件向?qū)е械娜哂啻a也是不能正確地移除。谷歌(Google)發(fā)布的安卓 (Android)手機(jī)操作系統(tǒng),附屬的抽象數(shù)據(jù)類型(ADT)工具,也是基于所見即所得的思想, 做到手機(jī)界面快速配置,代碼生成等功能。而事件向?qū)У娜哂啻a,也是只能由用戶手動清除。

發(fā)明內(nèi)容
本發(fā)明實施例提供了一種自動移除代碼的方法及裝置,以解決控件被刪除而該控件原有的代碼中無法從代碼文件中刪除而出現(xiàn)的代碼冗余的問題。本發(fā)明實施例提供了一種自動移除代碼的方法,該方法包括在檢測到已創(chuàng)建的控件被刪除后,根據(jù)所述控件的屬性信息從索引表中獲取所述控件的事件代碼信息,其中,所述索引表中保存有所述控件的屬性信息和所述控件的事件代碼信息的對應(yīng)關(guān)系;根據(jù)所述控件的事件代碼信息定位出與所述控件對應(yīng)的代碼在代碼文件中的位置,并刪除所述位置上的代碼。優(yōu)選地,所述在檢測到已創(chuàng)建的控件被刪除之前,所述方法還包括將所述已創(chuàng)建的控件的屬性信息和事件代碼信息及其對應(yīng)關(guān)系存入所述索引表中。優(yōu)選地,所述控件的屬性信息包括所述控件的標(biāo)識信息,所述標(biāo)識信息具有唯一性;所述控件的事件代碼信息包括所述控件的所有事件函數(shù)的名稱、所有事件函數(shù)所處于的代碼文件和所有事件函數(shù)在對應(yīng)代碼文件中的位置信息。優(yōu)選地,所述控件的屬性信息還包括控件類型。優(yōu)選地,所述根據(jù)所述控件的事件代碼信息定位出與所述控件對應(yīng)的代碼在代碼文件中的位置,并刪除所述位置上的代碼,包括根據(jù)所述控件的事件代碼信息定位出所述控件的所有事件函數(shù)在各自代碼文件中的位置,并刪除對應(yīng)位置上的對應(yīng)事件函數(shù)的代碼。本發(fā)明實施例還提供了一種自動移除代碼的裝置,該裝置包括獲取模塊,用于在檢測到已創(chuàng)建的控件被刪除后,根據(jù)所述控件的屬性信息從索引表中獲取所述控件的事件代碼信息,其中,所述索引表中保存有所述控件的屬性信息和所述控件的事件代碼信息的對應(yīng)關(guān)系;移除模塊,用于根據(jù)所述獲取模塊獲取的所述控件的事件代碼信息定位出與所述控件對應(yīng)的代碼在代碼文件中的位置,并刪除所述位置上的代碼。 優(yōu)選地,所述裝置還包括保存模塊,用于保存已創(chuàng)建的控件的屬性信息和事件代碼信息及其對應(yīng)關(guān)系。優(yōu)選地,所述控件的屬性信息包括所述控件的標(biāo)識信息,所述標(biāo)識信息具有唯一性;所述控件的事件代碼信息包括所述控件的所有事件函數(shù)的名稱、所有事件函數(shù)所處于的代碼文件和所有事件函數(shù)在對應(yīng)代碼文件中的位置信息。優(yōu)選地,所述控件的屬性信息還包括控件類型。優(yōu)選地,所述移除模塊,是用于根據(jù)所述控件的事件代碼信息定位出所述控件的所有事件函數(shù)在各自代碼文件中的位置,并刪除對應(yīng)位置上的對應(yīng)事件函數(shù)的代碼。上述自動移除代碼的方法及裝置,根據(jù)被刪除控件的屬性信息和事件代碼信息的對應(yīng)關(guān)系,在該控件被刪除時可以自動移除與該控件對應(yīng)的代碼,從而減少了代碼的冗余度。


圖1是本發(fā)明自動移除代碼的方法實施例的流程圖;圖2是本發(fā)明索引表的結(jié)構(gòu)示意圖;圖3是本發(fā)明自動移除代碼的裝置實施例的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。本發(fā)明實施例通過提供一套索引表建立控件屬性和控件事件代碼的對應(yīng)關(guān)系,當(dāng)增加某種控件時,該索引表相應(yīng)地存儲增加的控件標(biāo)識、控件類型、控件事件和事件代碼信息(包括該事件函數(shù)的名稱,在代碼文件中的位置信息等),當(dāng)該控件被刪除時,從索引表中查找到對應(yīng)的事件代碼的位置信息,將其從對應(yīng)的代碼文件中移除。如圖1所示,是本發(fā)明自動移除代碼的方法實施例的流程圖,該過程包括S101、建立控件事件索引表并進(jìn)行初始化;首先建立用于保存控件的屬性信息和控件的事件代碼信息的對應(yīng)關(guān)系全局索引表,其中,所述控件的屬性信息包括所述控件的標(biāo)識信息,還可以包括控件類型等信息;索引表的結(jié)構(gòu)如圖2所示;由于控件的標(biāo)識(ID)具有唯一性,可以作為該索引表的主鍵??丶氖录a信息首先填充控件支持的所有觸發(fā)事件,每一種事件對應(yīng)的處理代碼信息暫時不填充,事件對應(yīng)的處理代碼信息等到該種控件被添加時再填充。S102、在窗口界面增加控件,并觸發(fā)控件的事件操作;用戶通過拖曳方式,從窗口界面,可視化的拖曳某個控件至窗口界面,并通過單擊、雙擊、拖動等操作,觸發(fā)該控件的事件,此時用戶通過事件向?qū)渲媒缑?,配置某事件的處理函?shù),配置代碼生成的文件位置信息。S103、控件事件索引表內(nèi)增加控件的事件代碼信息;在窗口界面添加控件,并通過事件向?qū)渲每丶氖录Q及其事件處理函數(shù)后,調(diào)用索引表的儲存操作,將該控件ID、控件類型、控件事件、事件的代碼信息存入索引表;用戶建立多個控件,觸發(fā)該控件的多種操作,同時生成了多處事件代碼信息。上述步驟101-103為可選步驟;S104、在檢測到已創(chuàng)建的控件被刪除后,根據(jù)所述控件的屬性信息從索引表中獲取所述控件的事件代碼信息;在窗口界面中,通過刪除操作,刪除控件后,從窗口本身的控件模型信息中清除該控件的坐標(biāo)信息、子控件數(shù)量等信息;本發(fā)明實施例采用索引表多層查找的實現(xiàn)機(jī)制,根據(jù)控件ID和之前建立的對應(yīng)關(guān)系,可快速獲取控件的類型(如控件是按鈕類型,還是編輯框類型),同時也可獲取到該控件所有的觸發(fā)事件,如按鈕控件的單擊事件、雙擊事件、拖動事件以及這些事件對應(yīng)的處理函數(shù)、函數(shù)所在的代碼文件,函數(shù)的行數(shù)等事件代碼信息;如果索引表不存在控件對應(yīng)的事件代碼信息,則直接從窗口中刪除控件即可。此時也不會觸發(fā)后續(xù)的操作。S105、根據(jù)所述控件的事件代碼信息定位出與所述控件對應(yīng)的代碼在代碼文件中的位置,并刪除所述位置上的代碼。根據(jù)所述控件的事件代碼信息定位出所述控件的所有事件函數(shù)在各自代碼文件中的位置,并刪除對應(yīng)位置上的對應(yīng)事件函數(shù)的代碼。具體地,從索引表中查找到的事件代碼信息,包含函數(shù)名稱,參數(shù)名稱、參數(shù)類型, 函數(shù)所處于的代碼文件及函數(shù)行號等信息,根據(jù)這些信息,移除該控件的冗余代碼。上述自動移除代碼的方法,根據(jù)被刪除控件的屬性信息和事件代碼信息的對應(yīng)關(guān)系,在該控件被刪除時可以自動移除與該控件對應(yīng)的代碼,從而減少了代碼的冗余度,具有良好的可實施性。如圖3所示,是本發(fā)明自動移除代碼的裝置實施例的結(jié)構(gòu)示意圖,該裝置包括獲取模塊31和移除模塊32,其中
獲取模塊,用于在檢測到已創(chuàng)建的控件被刪除后,根據(jù)所述控件的屬性信息從索引表中獲取所述控件的事件代碼信息,其中,所述索引表中保存有所述控件的屬性信息和所述控件的事件代碼信息的對應(yīng)關(guān)系;移除模塊,用于根據(jù)所述獲取模塊獲取的所述控件的事件代碼信息定位出與所述控件對應(yīng)的代碼在代碼文件中的位置,并刪除所述位置上的代碼。另外,所述裝置還包括保存模塊,用于保存已創(chuàng)建的控件的屬性信息和事件代碼信息及其對應(yīng)關(guān)系。其中,所述控件的屬性信息可以包括所述控件的標(biāo)識信息,所述標(biāo)識信息具有唯一性;所述控件的屬性信息還可以包括控件類型。所述控件的事件代碼信息包括所述控件的所有事件函數(shù)的名稱、所有事件函數(shù)所處于的代碼文件和所有事件函數(shù)在對應(yīng)代碼文件中的位置信息等。具體地,所述移除模塊,是用于根據(jù)所述控件的事件代碼信息定位出所述控件的所有事件函數(shù)在各自代碼文件中的位置,并刪除對應(yīng)位置上的對應(yīng)事件函數(shù)的代碼。上述自動移除代碼的裝置,根據(jù)被刪除控件的屬性信息和事件代碼信息的對應(yīng)關(guān)系,在該控件被刪除時可以自動移除與該控件對應(yīng)的代碼,從而減少了代碼的冗余度。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,上述程序可以存儲于計算機(jī)可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應(yīng)地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,僅僅參照較佳實施例對本發(fā)明進(jìn)行了詳細(xì)說明。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種自動移除代碼的方法,其特征在于,該方法包括在檢測到已創(chuàng)建的控件被刪除后,根據(jù)所述控件的屬性信息從索引表中獲取所述控件的事件代碼信息,其中,所述索引表中保存有所述控件的屬性信息和所述控件的事件代碼信息的對應(yīng)關(guān)系;根據(jù)所述控件的事件代碼信息定位出與所述控件對應(yīng)的代碼在代碼文件中的位置,并刪除所述位置上的代碼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述在檢測到已創(chuàng)建的控件被刪除之前,所述方法還包括將所述已創(chuàng)建的控件的屬性信息和事件代碼信息及其對應(yīng)關(guān)系存入所述索引表中。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于所述控件的屬性信息包括所述控件的標(biāo)識信息,所述標(biāo)識信息具有唯一性; 所述控件的事件代碼信息包括所述控件的所有事件函數(shù)的名稱、所有事件函數(shù)所處于的代碼文件和所有事件函數(shù)在對應(yīng)代碼文件中的位置信息。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于 所述控件的屬性信息還包括控件類型。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于所述根據(jù)所述控件的事件代碼信息定位出與所述控件對應(yīng)的代碼在代碼文件中的位置,并刪除所述位置上的代碼,包括根據(jù)所述控件的事件代碼信息定位出所述控件的所有事件函數(shù)在各自代碼文件中的位置,并刪除對應(yīng)位置上的對應(yīng)事件函數(shù)的代碼。
6.一種自動移除代碼的裝置,其特征在于,該裝置包括獲取模塊,用于在檢測到已創(chuàng)建的控件被刪除后,根據(jù)所述控件的屬性信息從索引表中獲取所述控件的事件代碼信息,其中,所述索引表中保存有所述控件的屬性信息和所述控件的事件代碼信息的對應(yīng)關(guān)系;移除模塊,用于根據(jù)所述獲取模塊獲取的所述控件的事件代碼信息定位出與所述控件對應(yīng)的代碼在代碼文件中的位置,并刪除所述位置上的代碼。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括保存模塊,用于保存已創(chuàng)建的控件的屬性信息和事件代碼信息及其對應(yīng)關(guān)系。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于所述控件的屬性信息包括所述控件的標(biāo)識信息,所述標(biāo)識信息具有唯一性; 所述控件的事件代碼信息包括所述控件的所有事件函數(shù)的名稱、所有事件函數(shù)所處于的代碼文件和所有事件函數(shù)在對應(yīng)代碼文件中的位置信息。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于 所述控件的屬性信息還包括控件類型。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于所述移除模塊,是用于根據(jù)所述控件的事件代碼信息定位出所述控件的所有事件函數(shù)在各自代碼文件中的位置,并刪除對應(yīng)位置上的對應(yīng)事件函數(shù)的代碼。
全文摘要
本發(fā)明提供了一種自動移除代碼的方法及裝置,其中,自動移除代碼的方法包括在檢測到已創(chuàng)建的控件被刪除后,根據(jù)所述控件的屬性信息從索引表中獲取所述控件的事件代碼信息,其中,所述索引表中保存有所述控件的屬性信息和所述控件的事件代碼信息的對應(yīng)關(guān)系;根據(jù)所述控件的事件代碼信息定位出與所述控件對應(yīng)的代碼在代碼文件中的位置,并刪除所述位置上的代碼。上述自動移除代碼的方法及裝置,根據(jù)被刪除控件的屬性信息和事件代碼信息的對應(yīng)關(guān)系,在該控件被刪除時可以自動移除與該控件對應(yīng)的代碼,從而減少了代碼的冗余度。
文檔編號G06F9/44GK102520947SQ201110409129
公開日2012年6月27日 申請日期2011年12月9日 優(yōu)先權(quán)日2011年12月9日
發(fā)明者李超 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1