專利名稱:一種處理控件屬性的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本申請涉及計算機領(lǐng)域,特別涉及一種處理控件屬性的方法及裝置。
背景技術(shù):
現(xiàn)有技術(shù)下,軟件平臺通常會提供大量的控件(control)供客戶端使用,所謂控 件即是指在圖形用戶界面(GUI)中的一種對象,是用戶可與之交互以輸入操作數(shù)據(jù)的對 象,用戶可操作該對象來執(zhí)行某一行為,例如,按鈕、列表框、編輯框或者某個對話框中的靜 態(tài)文本。每個控件通常都具有幾十到上百個屬性,例如,控件的名稱、控件的大小、顏色,控 件在操作界面中的坐標位置等等,這其中既包含了控件本身特有的屬性,也包含了繼承自 父類控件的屬性??蛻舳送ㄟ^設(shè)置控件的屬性值來使用各種控件?,F(xiàn)有技術(shù)下,客戶端在使用各種控件時,通常是按照控件屬性表包含的各種屬性 的屬性名稱來調(diào)用相應(yīng)的處理代碼,現(xiàn)有的控件屬性表是保存一組屬性名稱及其屬性處理 方法的指針的容器。設(shè)置或獲取某控件的一個屬性的取值時,根據(jù)屬性名稱在控件屬性表 中查找該屬性的處理方法指針,然后調(diào)用該屬性的處理方法指針來設(shè)置或獲取相應(yīng)的屬性 值。如果在某控件的控件屬性表中找不到指定的屬性,則進入該控件的父類控件,并在其父 類控件的控件屬性表中繼續(xù)查找,若仍找不到,則進入父類控件的父類控件進行查找,以此 類推,直到找到指定屬性并進行相應(yīng)處理或到達根控件仍不能匹配返回錯誤為止。然而,現(xiàn)有技術(shù)下,控件屬性表中包含的屬性名稱均設(shè)置為字符串型,并且一個控 件包含的屬性相當多,因此通過屬性名稱調(diào)用指定屬性的處理代碼是一個計算密集且繁瑣 的過程,需要進行多次字符串匹配操作,這將會造成大量的系統(tǒng)開銷,特別是在處理一個由 基類提供的屬性時,需要層層遞進地在各個父類控件的控件屬性表中執(zhí)行字符串匹配操作 來進行查找,這將會大大增加系統(tǒng)的運行負荷,從而嚴重降低軟件平臺中的各類控件的生 成效率,進而影響了系統(tǒng)的服務(wù)質(zhì)量。
發(fā)明內(nèi)容
本申請實施例提供一種處理控件屬性的方法及裝置,用以提高軟件平臺中,各類 控件的屬性處理效率,從而提高系統(tǒng)的運行效率。本申請實施例提供的具體技術(shù)方案如下一種處理控件屬性的方法,包括在用戶界面GUI控件的控件屬性表中針對該GUI控件的各類屬性預(yù)設(shè)屬性索引, 以及屬性索引與屬性處理方法之間的映射關(guān)系;在用戶訪問所述控件屬性表時,根據(jù)用戶指示確定用戶指定處理的至少一個屬性 的屬性索引;根據(jù)所述屬性索引與屬性處理方法之間的映射關(guān)系,獲取對應(yīng)所述至少一個屬性 的屬性索引的屬性處理方法;
4
執(zhí)行獲得的屬性處理方法并向用戶返回執(zhí)行結(jié)果。一種用于處理控件屬性的終端,包括設(shè)置單元,用于在用戶界面GUI控件的控件屬性表中針對該GUI控件的各類屬性 預(yù)設(shè)屬性索引,以及屬性索引與屬性處理方法之間的映射關(guān)系;存儲單元,用于保存針對所述GUI控件的各類屬性預(yù)設(shè)的屬性索弓|,以及屬性索 弓丨與屬性處理方法之間的映射關(guān)系第一處理單元,用于在用戶訪問所述控件屬性表時,根據(jù)用戶指示確定用戶指定 處理的至少一個屬性的屬性索引,并根據(jù)所述屬性索引與屬性處理方法之間的映射關(guān)系, 獲取對應(yīng)所述至少一個屬性的屬性索引的屬性處理方法;第二處理單元,用于執(zhí)行獲得的屬性處理方法并向用戶返回執(zhí)行結(jié)果。本申請實施例中,采用重新定義的屬性索引訪問控件屬性表,在這很大程度上避 免了字符串匹配流程所帶來的繁瑣操作,有效提升了控件的屬性訪問效率,從而提高了系 統(tǒng)的運行效率和軟件平臺的服務(wù)質(zhì)量
圖1A和圖1B為本申請實施例中控件屬性表示意圖;圖2為本申請實施例中用于處理控件屬性的終端功能結(jié)構(gòu)圖;圖3為本申請實施例中終端處理控件屬性流程圖。
具體實施例方式客戶端在使用各種控件時,通常是按照控件屬性表包含的各種屬性的屬性名稱來 調(diào)用相應(yīng)的處理代碼,現(xiàn)有的控件屬性表是保存一組屬性名稱及其屬性處理方法的指針的 容器。設(shè)置或獲取某控件的一個屬性的取值時,根據(jù)屬性名稱在控件屬性表中查找該屬性 的處理方法指針,然后調(diào)用該屬性的處理方法指針來設(shè)置或獲取相應(yīng)的屬性值。為了提高軟件平臺中各類控件的屬性處理效率,本申請實施例中,在用戶界面GUI 控件的控件屬性表中針對該GUI控件的各類屬性預(yù)設(shè)屬性索引,以及屬性索引與屬性處理 方法之間的映射關(guān)系;在用戶訪問所述控件屬性表時,根據(jù)用戶指示確定用戶指定處理的 至少一個屬性的屬性索引;根據(jù)所述屬性索引與屬性處理方法之間的映射關(guān)系,獲取對應(yīng) 所述至少一個屬性的屬性索引的屬性處理方法;執(zhí)行獲得的屬性處理方法并向用戶返回執(zhí) 行結(jié)果。本申請實施例中,以系統(tǒng)中的一個控件為例進行介紹,那么,參閱圖1A所示,為該 控件設(shè)置對應(yīng)的控件屬性表時,采用的方法包含但不限于以下方式如圖1A所示,設(shè)置了一個控件屬性表(簡稱屬性表),該控件屬性表至少包括1) 保存繼承屬性表的數(shù)組(以下稱為繼承屬性表);2) —對表示本屬性表中屬性索引的取值 起止范圍的變量(以下稱為最小屬性索引和最大屬性索引);3) —個保存屬性方法項(即 屬性的處理方法)的數(shù)組(以下稱為屬性方法表)。進一步地,本申請實施例中,還為控件的各類屬性預(yù)設(shè)了可在系統(tǒng)內(nèi)(即軟件平 臺內(nèi))對其進行唯一標識的屬性全局ID,程序代碼中一律使用屬性全局ID來訪問屬性;較 佳地,將屬性全局ID設(shè)置為整型,這樣,可以在一定程度上提高訪問控件屬性表時的匹配效率。那么,如圖1A所示,在控件屬性表中還需要包含一個保存屬性全局ID與屬性索引之 間映射關(guān)系的映射表(以下稱為屬性全局ID映射表)。最后,還需要在控件屬性表中定義一個全局字符串屬性表,保存字符串型的屬性 名稱與屬性全局ID之間的映射關(guān)系。本申請實施例中,每個控件的控件屬性表在GUI系統(tǒng)初始化時隨之進行初始化, 初始化過程包括加載本屬性表直接繼承的父類控件屬性表的指針到繼承屬性表中;為控件屬性表分配屬性值索引起止范圍,并將最小屬性索引和最大屬性索引保存 到屬性表對應(yīng)的存儲位置;加載控件自身擁有的屬性的處理方法及其屬性索引到屬性方法表中;進一步地,初始化過程還包括加載控件自身擁有的屬性的屬性全局ID及其在屬性方法表中的屬性索引到屬性 全局ID映射表中;在全局字符串屬性表中添加屬性名稱與屬性全局ID映射項(即兩者之間的映射 關(guān)系);參閱圖1B所示,假設(shè)⑶I軟件平臺內(nèi)只包含2個控件——Window和Button,其中 Button類是繼承自Window類的子控件。并假定⑶I軟件平臺只提供了 13個屬性。那么,參見圖1B中的屬性全局ID映射表,所有屬性均分配一個屬性全局ID,用于 使用屬性全局ID替代屬性名稱訪問。參見Window類屬性表,GUI軟件平臺分配給該控件類的最小屬性索引為1000,最 大屬性索引為1999。在該類的屬性方法表中,有7個屬性可以由該類處理。在該類的繼承 屬性表中,由于該類為基類,沒有父類,所以該表為空。在該類的屬性全局ID映射表中,建 立起該類能處理的7個屬性的屬性全局ID及其相應(yīng)的屬性索引之間的對應(yīng)關(guān)系。參見Button類屬性表,GUI軟件平臺分配給該控件類的最小屬性索引為2000,最 大屬性索引為2999。在該類的屬性方法表中,有6個屬性可以由該類處理。在該類的繼承 屬性表中,由于該類繼承自Window類,所以該表保存了 Window類屬性表的指針(通過該指 針可以訪問到Window類屬性表)。在該類的屬性全局ID映射表中,建立起該類能處理的6 個屬性的屬性全局ID及其相應(yīng)的屬性索引之間的對應(yīng)關(guān)系。下面結(jié)合附圖對本申請優(yōu)選的實施方式進行詳細說明。參閱圖2所示,本申請實施例中,用于處理控件屬性的終端包含設(shè)置單元10、存儲 單元11、第一處理單元12和第二處理單元13,其中,設(shè)置單元10,用于在GUI控件的控件屬性表中針對該GUI控件的各類屬性預(yù)設(shè)屬 性索引,以及屬性索引與屬性處理方法之間的映射關(guān)系;存儲單元11,用于保存針對所述GUI控件的各類屬性預(yù)設(shè)的屬性索弓|,以及屬性 索引與屬性處理方法之間的映射關(guān)系第一處理單元12,用于在用戶訪問所述控件屬性表時,根據(jù)用戶指示確定用戶指 定處理的至少一個屬性的屬性索引,并根據(jù)所述屬性索引與屬性處理方法之間的映射關(guān) 系,獲取對應(yīng)所述至少一個屬性的屬性索引的屬性處理方法;第二處理單元13,用于執(zhí)行獲得的屬性處理方法并向用戶返回執(zhí)行結(jié)果。
參閱圖3所示,本申請實施例中,終端根據(jù)用戶指令訪問控件屬性表以對控件屬 性進行處理的詳細流程如下步驟300 接收用戶通過人機界面發(fā)送的用于訪問控件屬性表的請求消息,該請 求消息中至少攜帶該控件屬性表的標識信息。用戶通過終端訪問控件屬性表,是為了調(diào)用控件某個屬性的處理方法以獲取該屬 性的取值供用戶參考,或者對該屬性的取值進行調(diào)整以創(chuàng)建新的控件。步驟301 根據(jù)獲得的控件標識信息獲取對應(yīng)該標識信息保存的控件屬性表。步驟302 根據(jù)用戶指示確定該用戶指定處理的至少一個屬性的屬性索引。實際應(yīng)用中,終端可以根據(jù)用戶指示同時訪問多個屬性,本實施例僅以訪問一個 屬性為例進行介紹?,F(xiàn)有技術(shù)下,在程序的開發(fā)過程中,用于保存控件屬性表的程序資源文件通常是 一組可擴展標記語言(Extensible Markup Language,XML)格式的文件,而屬性名稱以字符 串型定義,那么程序運行時須通過處理字符串型屬性名稱來實現(xiàn)屬性的訪問。而本申請實施例中,較佳地,可以將設(shè)置為XML格式的程序資源文件轉(zhuǎn)成二進制 格式的文件,這樣,在轉(zhuǎn)換中,使得字符串型的屬性名稱被轉(zhuǎn)換成了屬性索引,例如,以圖1B 所示的Window類屬性表和Button類屬性表為例,其對應(yīng)的XML格式的程序資源文件格式 為
〈Resltem ID = 〃 ID_BUTT0N_0K〃 >
〈Property Name =〃 ControlID" Type =" String" Value =〃 ID_BUTT0N_0K〃 />
〈Property Name = 〈Property Name = 〈Property Name = 〈Property Name = 〈Property Name = 〈Property Name = 〈Property Name = 〈Property Name ="
Vi sible" Type =" BOOL" Value =" TRUE" /> Enable" Type =" BOOL" Value =" TRUE" /> Left" Type = " BOOL" Value = " 100" /> Top" Type =" BOOL" Value =" 200" /> Width" Type =" INT" Value =" 100" /> Height" Type =" B00L" Value = 〃 20〃 /> ToolTip" Type =" B00L" Value =〃 確定〃 /> Image " Type = " String" Value = " image、button_ok. png〃 /></ResItem>轉(zhuǎn)換成二進制格式的文件后,文件中將不再出現(xiàn)字符串型的屬性名稱。例如上面 的ControlID、Image等變成了相應(yīng)的整型屬性索引。ControlID在Window類屬性表包含的屬性方法表中的索引為2,在Window類屬 性表中的最小屬性索引為1000,因此,ControlID被轉(zhuǎn)換成整型屬性索引1002。Image在 Button類屬性表包含的屬性方法表中的索引為4,在Button類屬性表的最小屬性索引為 2000,因此,Image被轉(zhuǎn)換成整型屬性索引2004。以此類推,那么,轉(zhuǎn)換后的二進制文件的內(nèi) 容包括ControlID- > 1002Visible- > 1000Enable- > 1001Left- > 1003
Top- > 1004Width- > 1005Height- > 1006ToolTip- > 2003Image- > 2004步驟303 判斷獲得的至少一個屬性的屬性索引是否在對應(yīng)的控件屬性表限定的 取值區(qū)間內(nèi)?若是,則進行步驟304,否則,執(zhí)行步驟305。判斷獲得的至少一個屬性的屬性索引是否在對應(yīng)的控件屬性表限定的取值區(qū)間, 即是判斷該屬性的屬性索引是否在控件屬性表中記錄的最小屬性索引和最大屬性索引 之間,例如,控件屬性表中的最小屬性索引為1000,最大屬性索引為1200,即取值區(qū)間為 [1000,1200],那么,若一屬性的屬性索引為1002,歸屬于上述取值區(qū)間,則表明該屬性對應(yīng) 的屬性處理方法可以在已獲得的控件屬性表中找到,若一屬性的屬性索引為1202,不歸屬 于上述取值區(qū)間,則表明該屬性對應(yīng)的屬性處理方法不能在已獲得的控件屬性表中找到, 需要在其直接繼承的父類控件屬性表中繼續(xù)尋找。步驟304 根據(jù)獲得的至少一個屬性的屬性索引在對應(yīng)的控件屬性表包含的屬性 方法表中的索引,并根據(jù)該索引在屬性方法表中獲取并執(zhí)行對應(yīng)的屬性處理方法。本申請實施例中,將一屬性的屬性索引減去控件屬性表中記載的最小屬性索引即 可獲得該屬性在屬性方法表中的索引,例如,控件屬性表中的最小屬性索引為1000,一屬性 的屬性索引為1002,則該屬性在屬性方法表中的索引即為1002-1000 = 2。從屬性方法表中獲得屬性的處理方法后,即可調(diào)用該方法包含的處理代碼執(zhí)行相 關(guān)操作,例如,設(shè)置屬性值或獲取屬性值等等;接著,執(zhí)行步驟308。步驟305 判斷已獲得的控件屬性表直接繼承的父類控件屬性表是否已遍歷?若 是,則進行步驟309 ;否則,執(zhí)行步驟306。本申請實施例中,根據(jù)控件屬性表包含的繼續(xù)屬性表中記錄的父類控件屬性表的 指針,訪問本控件屬性表直接繼承的全部父類控件屬性表。步驟306 獲取下一個父類控件屬性表,并根據(jù)該父類屬性表繼續(xù)查找用戶指定 處理的屬性的屬性索引及對應(yīng)的屬性處理方法。如果在當前獲得的控件屬性表直接繼承的父類控件屬性表中仍未查找到所需的 屬性索引,則進入父類控件屬性表的父類控件屬性表進行繼續(xù)查找,以此類推,直到找到指 定屬性的屬性索引并進行相應(yīng)處理或到達根控件仍不能匹配返回錯誤為止。在各父類控件 屬性表中查找屬性索引及其對應(yīng)的屬性處理方法時,采用的技術(shù)手段與步驟303-步驟304 記載的內(nèi)容一致,在此不再贅述。步驟307 判斷是否已在某父類控件屬性表中獲得用戶指定處理的屬性的屬性處 理方法并執(zhí)行完畢?,若是,則執(zhí)行步驟308,否則,返回步驟305。步驟308 :向用戶返回執(zhí)行成功的提示信息。步驟309 :向用戶返回執(zhí)行失敗的提示信息?;谏鲜鰧嵤├?,在執(zhí)行步驟302時,根據(jù)用戶指示確定該用戶指定處理的至少 一個屬性的屬性索引時,包含但不限于以下三種實施方式若用戶在訪問指令中輸入屬性的屬性索引進行查找,則從該訪問指令中直接獲取屬性的屬性索引即可。若用戶在訪問指令中輸入屬性的屬性全局ID進行查找,則根據(jù)控件屬性表中包 含的屬性全局ID映射表,獲取與該屬性全局ID對應(yīng)的屬性索引;若用戶在訪問指令中輸入屬性的屬性名稱進行查找,則先根據(jù)控件屬性表中包含 的全局字符串屬性表,獲取與該屬性名稱對應(yīng)的屬性全局ID,再根據(jù)控件屬性表中包含的 屬性全局ID映射表,獲取與該屬性全局ID對應(yīng)的屬性索引。與現(xiàn)有技術(shù)不同,本申請實施例中,無論用戶采用何種方式訪問控件屬性表,終端 均會根據(jù)用戶指令將用戶輸入的查詢信息轉(zhuǎn)換為對應(yīng)的屬性索引再進行查找,這樣,即使 用戶輸入的查詢信息是字符串型的屬性名稱,終端也只需經(jīng)過兩次轉(zhuǎn)換,即可獲得對應(yīng)的 屬性索引,并根據(jù)該屬性索引迅速獲取并執(zhí)行相應(yīng)的屬性處理方法。顯示,在這很大程度上 避免了字符串匹配流程所帶來的繁瑣操作,有效提升了控件的屬性訪問效率,從而提高了 系統(tǒng)的運行效率和軟件平臺的服務(wù)質(zhì)量基于上述實施例,在實際應(yīng)用中,對于屬性延遲處理,也可以在現(xiàn)有技術(shù)的基礎(chǔ)上 作進一步優(yōu)化。現(xiàn)有技術(shù)下,提供一個延遲處理表,某些屬性的訪問需要延遲處理(如,必須等到 控件創(chuàng)建完成后才能處理)時,在延遲處理表中作相應(yīng)記錄,因此,每個屬性在處理時須檢 查延遲處理表是否存在相關(guān)記錄,如果有,則暫不處理。由于屬性名稱定義為字符串型,因 此,在屬性延遲處理表中查找相關(guān)記錄時也需要執(zhí)行大量的字符串匹配操作,從而導(dǎo)致處 理效率低下。有鑒于此,本申請實施例中,參閱圖1所示,控件屬性表中包含的每個屬性都對應(yīng) 一個用于表示是否進行延遲處理的標志,因此,在根據(jù)屬性索引獲得對應(yīng)的屬性處理方法 的同時,即可以獲知針對該屬性是否需要執(zhí)行延遲處理,而不需要執(zhí)行大量字符串匹配操 作,這樣,便進一步提高了控件的屬性訪問效率,進一步提升了系統(tǒng)的運行效率。顯然,本領(lǐng)域的技術(shù)人員可以對本申請中的實施例進行各種改動和變型而不脫離 本申請的精神和范圍。這樣,倘若本申請實施例中的這些修改和變型屬于本申請權(quán)利要求 及其等同技術(shù)的范圍之內(nèi),則本申請中的實施例也意圖包含這些改動和變型在內(nèi)。
9
權(quán)利要求
1. 一種處理控件屬性的方法,其特征在于,包括在用戶界面GUI控件的控件屬性表中針對該GUI控件的各類屬性預(yù)設(shè)屬性索引,以及 屬性索引與屬性處理方法之間的映射關(guān)系;在用戶訪問所述控件屬性表時,根據(jù)用戶指示確定用戶指定處理的至少一個屬性的屬 性索引;根據(jù)所述屬性索引與屬性處理方法之間的映射關(guān)系,獲取對應(yīng)所述至少一個屬性的屬 性索引的屬性處理方法;執(zhí)行獲得的屬性處理方法并向用戶返回執(zhí)行結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)用戶指示確定用戶指定處理的至 少一個屬性的屬性索引,包括若用戶指示包含所述至少一個屬性的屬性索引,則直接獲取該屬性索引; 若用戶指示包含所述至少一個屬性的屬性全局標識ID,則根據(jù)預(yù)設(shè)的屬性全局ID與 屬性索引之間的映射關(guān)系,獲取對應(yīng)所述屬性全局ID設(shè)置的屬性索引;若用戶指示包含所述至少一個屬性的屬性名稱,則根據(jù)預(yù)設(shè)的屬性名稱與屬性全局ID 之間的映射關(guān)系,獲取對應(yīng)所述屬性名稱設(shè)置的屬性全局ID,再根據(jù)預(yù)設(shè)的屬性全局ID與 屬性索引之間的映射關(guān)系,獲取對應(yīng)該屬性全局ID設(shè)置的屬性索引; 其中,屬性全局ID用于在系統(tǒng)中唯一標識某一屬性。
3.如權(quán)利要求1或2所述的方法,其特征在于,根據(jù)所述屬性索引與屬性處理方法之間 的映射關(guān)系,獲取對應(yīng)所述至少一個屬性的屬性索引的屬性處理方法時,包括將所述至少一個屬性的屬性索引分別與所述控件屬性表中記錄的最小屬性索引和最 大屬性索引進行比較,確定所述至少一個屬性的屬性索引的取值,歸屬于所述最小屬性索引與最大屬性索引 限定的取值區(qū)間時,根據(jù)所述至少一個屬性的屬性索引與所述最小屬性索引的差值獲取對 應(yīng)的屬性處理方法。
4.如權(quán)利要求3所述的方法,其特征在于,若確定所述至少一個屬性的屬性索引的取 值,不歸屬于所述最小屬性索引與最大屬性索引限定的取值區(qū)間,則在當前訪問的控件屬 性表繼承的父類控件屬性表中繼續(xù)查找,直至返回處理結(jié)果。
5.如權(quán)利要求3所述的方法,其特征在于,根據(jù)所述至少一個屬性的屬性索引獲得對 應(yīng)的屬性處理方法后,若獲知對應(yīng)該屬性索引進一步設(shè)置有延遲處理標志,則暫停處理,并 在指定時機執(zhí)行獲得的屬性處理方法。
6.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述至少一個屬性的屬性索引與 所述最小屬性索引的差值獲取對應(yīng)的屬性處理方法,具體包括根據(jù)所述差值在屬性方法 表中獲取對應(yīng)的屬性處理方法。
7. 一種用于處理控件屬性的終端,其特征在于,包括設(shè)置單元,用于在用戶界面GUI控件的控件屬性表中針對該GUI控件的各類屬性預(yù)設(shè) 屬性索引,以及屬性索引與屬性處理方法之間的映射關(guān)系;存儲單元,用于保存針對所述GUI控件的各類屬性預(yù)設(shè)的屬性索引,以及屬性索引與 屬性處理方法之間的映射關(guān)系第一處理單元,用于在用戶訪問所述控件屬性表時,根據(jù)用戶指示確定用戶指定處理的至少一個屬性的屬性索引,并根據(jù)所述屬性索引與屬性處理方法之間的映射關(guān)系,獲取 對應(yīng)所述至少一個屬性的屬性索引的屬性處理方法;第二處理單元,用于執(zhí)行獲得的屬性處理方法并向用戶返回執(zhí)行結(jié)果。
8.如權(quán)利要求7所述的終端,其特征在于,所述第一處理單元根據(jù)用戶指示確定用戶 指定處理的至少一個屬性的屬性索引時,若用戶指示包含所述至少一個屬性的屬性索引, 則直接獲取該屬性索引;若用戶指示包含所述至少一個屬性的屬性全局標識ID,則根據(jù)預(yù) 設(shè)的屬性全局ID與屬性索引之間的映射關(guān)系,獲取對應(yīng)所述屬性全局ID設(shè)置的屬性索引; 若用戶指示包含所述至少一個屬性的屬性名稱,則根據(jù)預(yù)設(shè)的屬性名稱與屬性全局ID之 間的映射關(guān)系,獲取對應(yīng)所述屬性名稱設(shè)置的屬性全局ID,再根據(jù)預(yù)設(shè)的屬性全局ID與屬 性索引之間的映射關(guān)系,獲取對應(yīng)該屬性全局ID設(shè)置的屬性索引;其中,屬性全局ID用于 在系統(tǒng)中唯一標識某一屬性。
9.如權(quán)利要求7或8所述的終端,其特征在于,所述第一處理單元根據(jù)所述屬性索引 與屬性處理方法之間的映射關(guān)系,獲取對應(yīng)所述至少一個屬性的屬性索引的屬性處理方法 時,先將所述至少一個屬性的屬性索引分別與所述控件屬性表中記錄的最小屬性索引和最 大屬性索引進行比較,確定所述至少一個屬性的屬性索引的取值,歸屬于所述最小屬性索 引與最大屬性索引限定的取值區(qū)間時,根據(jù)所述至少一個屬性的屬性索引與所述最小屬性 索引的差值獲取對應(yīng)的屬性處理方法。
10.如權(quán)利要求9所述的終端,其特征在于,若所述第一處理單元確定所述至少一個屬 性的屬性索引的取值,不歸屬于所述最小屬性索引與最大屬性索引限定的取值區(qū)間,則在 當前訪問的控件屬性表繼承的父類控件屬性表中繼續(xù)查找,直至返回處理結(jié)果。
11.如權(quán)利要求9所述的終端,其特征在于,所述第一處理單元根據(jù)所述至少一個屬性 的屬性索引獲得對應(yīng)的屬性處理方法后,若所述第二處理單元獲知對應(yīng)該屬性索引進一步 設(shè)置有延遲處理標志,則暫停處理,并在指定時機執(zhí)行獲得的屬性處理方法。
全文摘要
本申請公開了一種處理控件屬性的方法,包括在用戶界面GUI控件的控件屬性表中針對該GUI控件的各類屬性預(yù)設(shè)屬性索引,以及屬性索引與屬性處理方法之間的映射關(guān)系;在用戶訪問所述控件屬性表時,根據(jù)用戶指示確定用戶指定處理的至少一個屬性的屬性索引;根據(jù)所述屬性索引與屬性處理方法之間的映射關(guān)系,獲取對應(yīng)所述至少一個屬性的屬性索引的屬性處理方法;執(zhí)行獲得的屬性處理方法并向用戶返回執(zhí)行結(jié)果。這在很大程度上避免了字符串匹配流程所帶來的繁瑣操作,有效提升了控件的屬性訪問效率,從而提高了系統(tǒng)的運行效率和軟件平臺的服務(wù)質(zhì)量。
文檔編號G06F9/44GK102004633SQ20091017291
公開日2011年4月6日 申請日期2009年9月3日 優(yōu)先權(quán)日2009年9月3日
發(fā)明者唐紅兵 申請人:阿里巴巴集團控股有限公司