專利名稱:一種動態(tài)調(diào)整用戶界面元素的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種動態(tài)調(diào)整用戶界面元素的方法及系統(tǒng)。
背景技術(shù):
軟件技術(shù)的不斷發(fā)展,軟件的功能也變得越來越強(qiáng)大、復(fù)雜。圖形用戶界面(GUI)已經(jīng)成為軟件不可缺少的一部分,用戶使用軟件系統(tǒng),都是通過操作圖形用戶界面上的各個元素進(jìn)行的。例如用戶點(diǎn)擊軟件系統(tǒng)中菜單、工具欄或狀態(tài)欄的某個元素等,軟件系統(tǒng)就會執(zhí)行相應(yīng)的操作。但是,隨著軟件功能的增強(qiáng),圖形用戶界面越來越多,各個圖形用戶界面上的元素也越來越復(fù)雜,使用戶難以快速、便捷的操作軟件,影響軟件的易用性。
微軟公司在其專利號99108487.X的專利文件中,公開一種根據(jù)歷史使用情況調(diào)整用戶界面元素的方法。該方法是根據(jù)歷史使用情況調(diào)整用戶界面元素的顯示特征。參閱圖1,為現(xiàn)有根據(jù)歷史使用情況調(diào)整用戶界面元素的方法流程圖,具體步驟如下所述。
步驟S101、接收具有顯示特征的用戶界面元素的選擇。
步驟S102、在歷史使用情況文件中存儲對用戶界面元素的選擇,用于保留用戶界面元素的使用信息。
步驟S103、根據(jù)歷史使用情況文件中包含的使用信息修改用戶界面元素的顯示特征。
步驟S104、使用修改后的顯示特征顯示該用戶界面元素。
上述方案雖然可以在某個界面元素被選擇頻率較高的情況下,調(diào)整該界面元素的顯示特征,如加大字符,使該界面元素更明顯、突出,方便用戶操作,達(dá)到提高軟件易用性的目的。但上述方案沒有提供網(wǎng)絡(luò)同步調(diào)整的方法,因此,只能在某一客戶端內(nèi)對軟件的用戶界面元素進(jìn)行調(diào)整,不能滿足各個客戶端網(wǎng)絡(luò)同步調(diào)整的需求。
上述方案在調(diào)整某用戶界面元素的顯示特征時,只調(diào)整被選擇的用戶界面元素,軟件中與該用戶界面元素具有相同功能的界面元素沒有被同步調(diào)整。這樣,用戶在操作該軟件時,如果不是使用被調(diào)整的界面元素,而是使用軟件中具有相同功能的其它界面元素,就無法感受到操作的便利性。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種動態(tài)調(diào)整用戶界面元素的方法及系統(tǒng),能夠在各個客戶端之間,實(shí)現(xiàn)軟件用戶界面元素的網(wǎng)絡(luò)同步調(diào)整。
本發(fā)明一種動態(tài)調(diào)整用戶界面元素的方法,包括軟件的某用戶界面元素被操作后,計(jì)算預(yù)設(shè)范圍內(nèi)的界面元素的命令權(quán)值;發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器;客戶端從所述網(wǎng)絡(luò)服務(wù)器下載上述界面元素的命令權(quán)值信息,按上述界面元素的命令權(quán)值調(diào)整所述軟件的界面元素。
優(yōu)選的,在計(jì)算界面元素的命令權(quán)值之前,還包括生成操作命令標(biāo)識信息;根據(jù)該操作命令標(biāo)識確定上述操作屬于需要動態(tài)調(diào)整界面元素的操作。
優(yōu)選的,發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器之前,還包括客戶端按上述界面元素的命令權(quán)值,調(diào)整所述軟件的界面元素。
優(yōu)選的,在發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器之前,還包括將上述界面元素的命令權(quán)值信息存儲到客戶端數(shù)據(jù)庫。
優(yōu)選的,客戶端按預(yù)定時間或在所述軟件關(guān)閉時,發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器。
優(yōu)選的,按下述步驟,客戶端從網(wǎng)絡(luò)服務(wù)器下載上述界面元素的命令權(quán)值信息網(wǎng)絡(luò)服務(wù)器按接收時間順序?yàn)樯鲜鼋缑嬖氐拿顧?quán)值信息配置序列號;客戶端從網(wǎng)絡(luò)服務(wù)器下載該序列號,并與本地為所述界面元素的命令權(quán)值信息配置的序列號相比較;如大于,則從網(wǎng)絡(luò)服務(wù)器下載上述界面元素的命令權(quán)值信息。
優(yōu)選的,所述預(yù)設(shè)范圍包括與被操作的界面元素同屬于一個界面容器的全部界面元素,或被操作的界面元素。
優(yōu)選的,所述預(yù)設(shè)范圍包括與該操作命令標(biāo)識相關(guān)聯(lián)的各界面容器中全部界面元素,或各界面容器中被操作后生成上述操作命令標(biāo)識的界面元素。
優(yōu)選的,按下述步驟,按上述界面元素的命令權(quán)值調(diào)整所述軟件的界面元素判斷上述各界面容器對應(yīng)的窗口句柄數(shù)據(jù)是否有效;如有效,按命令權(quán)值調(diào)整該界面容器中各界面元素。
本發(fā)明一種動態(tài)調(diào)整用戶界面元素的系統(tǒng),包括命令權(quán)值管理單元、網(wǎng)絡(luò)同步單元、及界面元素管理單元所述命令權(quán)值管理單元,用于在客戶端軟件的某用戶界面元素被操作后,計(jì)算預(yù)設(shè)范圍內(nèi)的界面元素的命令權(quán)值;所述網(wǎng)絡(luò)同步單元,用于發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器;所述界面元素管理單元,用于從網(wǎng)絡(luò)服務(wù)器下載上述界面元素的命令權(quán)值信息,并按上述界面元素的命令權(quán)值,調(diào)整所述軟件的界面元素。
優(yōu)選的,所述命令權(quán)值管理單元包括操作命令生成單元,用于在客戶端軟件的某用戶界面元素被操作后,生成操作命令標(biāo)識信息;多界面容器計(jì)算單元,用于按預(yù)置規(guī)則,計(jì)算與上述操作命令標(biāo)識相關(guān)聯(lián)的各界面容器中全部界面元素的命令權(quán)值。
優(yōu)選的,所述界面元素管理單元包括界面容器判斷單元,用于判斷上述各界面容器對應(yīng)的窗口句柄數(shù)據(jù)是否有效,如有效,發(fā)送調(diào)整該界面容器的信息到界面容器同步單元;界面容器同步單元,用于按上述界面元素的命令權(quán)值調(diào)整該界面容器中各界面元素。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明將計(jì)算后的界面元素的命令權(quán)值信息發(fā)送到網(wǎng)絡(luò)服務(wù)器,客戶端從所述網(wǎng)絡(luò)服務(wù)器下載上述界面元素的命令權(quán)值信息,按上述界面元素的命令權(quán)值調(diào)整所述軟件的界面元素。這樣,用戶在任一與網(wǎng)絡(luò)服務(wù)器連接客戶端使用該軟件時,都可以從網(wǎng)絡(luò)服務(wù)器下載界面元素的命令權(quán)值信息,調(diào)整客戶端軟件的界面元素,實(shí)現(xiàn)軟件用戶界面元素的網(wǎng)絡(luò)同步調(diào)整。
本發(fā)明通過計(jì)算與操作命令標(biāo)識相關(guān)聯(lián)的各界面容器中全部界面元素的命令權(quán)值,按上述命令權(quán)值調(diào)整上述各界面容器中各界面元素。與操作命令標(biāo)識相關(guān)聯(lián)的各界面容器,是指該界面容器包含被操作后生成上述操作命令標(biāo)識的界面元素。因軟件各界面容器中,包含被操作后產(chǎn)生相同操作命令標(biāo)識的界面元素,當(dāng)某一界面元素被操作后,通過查找與操作命令標(biāo)識相關(guān)聯(lián)的各界面容器,計(jì)算上述各界面容器中全部界面元素的命令權(quán)值,再根據(jù)計(jì)算的命令權(quán)值,調(diào)整上述各界面容器的界面元素。這樣,軟件能夠生成相同操作命令標(biāo)識的界面元素可以實(shí)現(xiàn)同步調(diào)整,方便用戶操作軟件。
圖1為現(xiàn)有根據(jù)歷史使用情況調(diào)整用戶界面元素的方法流程圖;圖2為本發(fā)明第一實(shí)施例提供的動態(tài)調(diào)整界面元素的方法流程圖;圖3為本發(fā)明第二實(shí)施例提供的動態(tài)調(diào)整界面元素的方法流程圖;圖4為本發(fā)明第三實(shí)施例提供的動態(tài)調(diào)整界面元素的方法流程圖;圖5為本發(fā)明第四實(shí)施例提供的動態(tài)調(diào)整界面元素的系統(tǒng)示意圖;圖6為本發(fā)明第五實(shí)施例提供的命令權(quán)值管理單元的結(jié)構(gòu)示意圖;圖7為本發(fā)明第六實(shí)施例提供的命令權(quán)值管理單元的結(jié)構(gòu)示意圖;圖8為本發(fā)明第七實(shí)施例提供的界面元素管理單元的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步詳細(xì)的說明。
參閱圖2,為本發(fā)明第一實(shí)施例提供的動態(tài)調(diào)整界面元素的方法流程圖,具體步驟如下所述。
步驟S201、軟件的用戶界面元素被操作后,計(jì)算預(yù)設(shè)范圍內(nèi)的界面元素的命令權(quán)值。
客戶端軟件包含多個界面容器,每個界面容器又包含多個界面元素。界面元素設(shè)有命令操作入口,用戶通過命令操作入口操作軟件。當(dāng)某個界面元素被操作后,在預(yù)設(shè)范圍內(nèi)計(jì)算界面元素的命令權(quán)值。預(yù)設(shè)范圍包括與被操作的界面元素同屬于一個界面容器的全部界面元素、被操作的界面元素、與該操作命令標(biāo)識相關(guān)聯(lián)的各界面容器中全部界面元素、或各界面容器中被操作后生成上述操作命令標(biāo)識的界面元素。
步驟S202、發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器。
將各界面元素的命令權(quán)值信息處理成XML文件,通過TCP連接通道、或HTTP通道上傳該XML文件到網(wǎng)絡(luò)服務(wù)器。
步驟S203、客戶端從網(wǎng)絡(luò)服務(wù)器下載上述界面元素的命令權(quán)值信息。
客戶端通過特定的TCP連接通道、或HTTP通道從網(wǎng)絡(luò)服務(wù)器下載該XML文件。
步驟S204、客戶端按上述界面元素的命令權(quán)值調(diào)整軟件的界面元素。
客戶端軟件解析該XML文件,獲得界面容器中所有界面元素的命令權(quán)值信息,界面容器按照界面刷新處理流程,根據(jù)命令權(quán)值大小重新進(jìn)行界面元素裝載過程,保證命令權(quán)值高界面元素排列在最前面、最易使用的地方。
通過上述流程,用戶可以在不同客戶端登錄網(wǎng)絡(luò)服務(wù)器,下載所需的XML文件,根據(jù)XML文件中界面元素的命令權(quán)值調(diào)整該客戶端軟件的界面元素。這樣,用戶在不同的客戶端均可使用相同的界面元素排列方式,方便用戶按習(xí)慣查找到所需的功能操作界面入口,節(jié)省用戶熟練操作軟件的時間,提高軟件的易用性。
參閱圖3,為本發(fā)明第二實(shí)施例提供的動態(tài)調(diào)整界面元素的方法流程圖,具體步驟如下所述。
步驟S301、接收對于客戶端軟件某界面元素的操作。
客戶端軟件包含多個界面容器,每個界面容器又包含多個界面元素。界面元素設(shè)有命令操作入口,用戶通過命令操作入口操作軟件。如,點(diǎn)擊軟件主菜單中的某個子菜單。軟件根據(jù)該操作命令調(diào)用具體的操作指令執(zhí)行該操作,并生成該操作命令的標(biāo)識信息。
步驟S302、確定操作命令屬于需要動態(tài)調(diào)整界面元素的操作命令。
根據(jù)該操作命令的標(biāo)識信息查找、確認(rèn)該操作命令是否屬于需要動態(tài)調(diào)整界面元素的操作命令,如不是,則不處理該操作命令;如果是,則轉(zhuǎn)到步驟S203。
步驟S303、確定被操作的界面元素可動態(tài)調(diào)整;
判斷該操作命令標(biāo)識對應(yīng)的界面元素是否屬于動態(tài)調(diào)整的界面元素,如不是,則不處理該操作命令信息;如是,則轉(zhuǎn)到步驟S204。
在軟件中,一些界面元素的位置是相對固定的,不需要做動態(tài)調(diào)整,因此用戶操作該界面元素生成操作命令不需進(jìn)行相關(guān)處理。
步驟S304、按預(yù)置規(guī)則,計(jì)算與被操作的界面元素同屬于一個界面容器的全部界面元素的命令權(quán)值。
預(yù)置規(guī)則包括計(jì)算使用頻率、最近一段內(nèi)的使用頻率,點(diǎn)擊次數(shù),最近一段內(nèi)的點(diǎn)擊次數(shù)等。軟件記錄并保存每個界面元素的使用信息。使用信息包含界面元素被操作的次數(shù),每次被操作的時間、新近度等信息。計(jì)算界面元素的命令權(quán)值時,軟件從該界面元素的使用信息中調(diào)用相關(guān)數(shù)值,進(jìn)行計(jì)算。
步驟S305、客戶端按上述界面元素的命令權(quán)值,調(diào)整軟件的界面元素。
界面容器按照界面刷新處理流程,根據(jù)命令權(quán)值大小重新進(jìn)行界面元素裝載過程,保證命令權(quán)值高界面元素排列在最前面、最易使用的地方。
客戶端軟件也可以根據(jù)預(yù)置策略調(diào)整命令權(quán)值達(dá)到預(yù)定數(shù)值的界面元素,如,加大該界面元素的圖表,加大該界面元素的字體等。
步驟S306、將計(jì)算后的命令權(quán)值信息存儲到客戶端數(shù)據(jù)庫。
客戶端軟件計(jì)算該界面容器內(nèi)各界面元素的命令權(quán)值后,查找該界面容器對應(yīng)的命令權(quán)值文件是否存在,如不存在,則生成新的XML文件,與該界面容器建立對應(yīng)關(guān)系;如存在,則更新該命令權(quán)值文件??蛻舳塑浖瓷苫蚋聲r間,為該XML文件配置相應(yīng)的序列號,存儲到客戶端數(shù)據(jù)庫。
步驟S307、發(fā)送界面元素的命令權(quán)值信息、及其對應(yīng)的用戶標(biāo)識信息到網(wǎng)絡(luò)服務(wù)器。
客戶端將該XML文件與客戶端用戶標(biāo)識建立對應(yīng)關(guān)系,按照特定的協(xié)議格式向網(wǎng)絡(luò)服務(wù)器發(fā)送存儲XML文件的請求。網(wǎng)絡(luò)服務(wù)器根據(jù)當(dāng)前連接狀況返回特定的提示碼,客戶端接受到該提示碼后,與網(wǎng)絡(luò)服務(wù)器建立TCP連接通道,或HTTP通道上傳XML文件和客戶端標(biāo)識信息。
網(wǎng)絡(luò)服務(wù)器接受到該XML文件后,按接收時間順序修改該XML文件的序列號,并按用戶標(biāo)識建立存儲區(qū)域,存儲該XML文件。
為防止用戶每次操作界面元素后,客戶端都上傳XML文件給網(wǎng)絡(luò)服務(wù)器造成壓力過大,本發(fā)明采用網(wǎng)絡(luò)服務(wù)器定時更新存儲,或者客戶端在關(guān)閉軟件之前傳送XML文件的方式,以緩解網(wǎng)絡(luò)服務(wù)器的壓力。
步驟S308、下載與用戶標(biāo)識對應(yīng)的界面元素的命令權(quán)值信息到客戶端。
用戶在與網(wǎng)絡(luò)相連接的任一客戶端使用用戶標(biāo)識登錄網(wǎng)絡(luò)服務(wù)器,網(wǎng)絡(luò)服務(wù)器判斷該用戶標(biāo)識有效后,返回成功登錄信息到客戶端??蛻舳税l(fā)送獲取所需XML文件的序列號的協(xié)議命令到網(wǎng)絡(luò)服務(wù)器,協(xié)議命令的數(shù)據(jù)包含有用戶標(biāo)識。網(wǎng)絡(luò)服務(wù)器在指定的端口接受客戶端的協(xié)議數(shù)據(jù)包,判斷該數(shù)據(jù)包有效后進(jìn)行解析。網(wǎng)絡(luò)服務(wù)器查找到用戶標(biāo)識對應(yīng)XML文件的序列號,按照特定格式將該序列號打包返回客戶端。
客戶端查詢該XML文件在本地存儲時使用的該序列號,與網(wǎng)絡(luò)服務(wù)器返回的序列號進(jìn)行對比,如果網(wǎng)絡(luò)服務(wù)器返回的序列號小于本地的序列號,表明用戶沒有在其他客戶端更新過該XML文件,不需進(jìn)行網(wǎng)絡(luò)同步更新;如果是大于,表明用戶在其他客戶端更新過該XML文件,需要進(jìn)行網(wǎng)絡(luò)同步更新。
客戶端如需進(jìn)行網(wǎng)絡(luò)同步更新,則與網(wǎng)絡(luò)服務(wù)器建立連接通道,進(jìn)行該XML文件字節(jié)流的下載操作,下載完畢后則覆蓋更新本地的XML文件。連接通道可以是特定的TCP連接通道,或者是HTTP通道。
步驟S309、按界面元素的命令權(quán)值信息調(diào)整該客戶端中軟件的界面元素。
客戶端軟件解析該XML文件,獲得界面容器中所有界面元素的命令權(quán)值信息,界面容器按照界面刷新處理流程,根據(jù)命令權(quán)值大小重新進(jìn)行界面元素裝載過程,保證命令權(quán)值高界面元素排列在最前面、最易使用的地方。
客戶端軟件也可以根據(jù)預(yù)置策略調(diào)整命令權(quán)值達(dá)到預(yù)定數(shù)值的界面元素,如,加大該界面元素的圖表,加大該界面元素的字體等。
參閱圖4,為本發(fā)明第三實(shí)施例提供的動態(tài)調(diào)整界面元素的方法流程圖,具體步驟如下所述。
步驟S401、接收對于客戶端軟件某界面元素的操作。
軟件根據(jù)該操作命令調(diào)用具體的操作指令執(zhí)行該操作,并生成該操作命令的標(biāo)識信息。
步驟S402、確定操作命令屬于需要動態(tài)調(diào)整界面元素的操作命令。
根據(jù)該操作命令的標(biāo)識信息查找、確認(rèn)該操作命令是否屬于需要動態(tài)調(diào)整界面元素的操作命令,如不是,則不處理該操作命令;如果是,則轉(zhuǎn)到步驟S303。
步驟S403、確定被操作的界面元素可動態(tài)調(diào)整;判斷該操作命令標(biāo)識對應(yīng)的界面元素是否屬于動態(tài)調(diào)整的界面元素,如不是,則不處理該操作命令信息;如是,則轉(zhuǎn)到步驟S304。
步驟S404、按預(yù)置規(guī)則,計(jì)算與該操作命令標(biāo)識相關(guān)聯(lián)的各界面容器中各界面元素的命令權(quán)值。
軟件的各界面容器,如包含被操作后生成的操作命令標(biāo)識,與該操作命令標(biāo)識相同的界面元素,則表示該界面容器與該操作命令標(biāo)識相關(guān)聯(lián)。用戶操作位于不同界面容器的界面元素,軟件可能生成相同的操作命令標(biāo)識。如用戶點(diǎn)擊工具欄的一個檢索按鈕,和點(diǎn)擊菜單中一個檢索子菜單,軟件生成相同的檢索命令標(biāo)識。
軟件根據(jù)該操作命令標(biāo)識進(jìn)行遍歷,查找到與該操作命令標(biāo)識相關(guān)聯(lián)的各界面容器。按預(yù)置的規(guī)則,計(jì)算上述各界面容器中全部界面元素的命令權(quán)值。
預(yù)置規(guī)則包括計(jì)算使用頻率、最近一段內(nèi)的使用頻率,點(diǎn)擊次數(shù),最近一段內(nèi)的點(diǎn)擊次數(shù)等。軟件記錄并保存每個界面元素的使用信息。使用信息包含界面元素被操作的次數(shù),每次被操作的時間、新近度等信息。計(jì)算界面元素的命令權(quán)值時,軟件從該界面元素的使用信息中調(diào)用相關(guān)數(shù)值,進(jìn)行計(jì)算。
步驟S405、按界面元素的命令權(quán)值信息調(diào)整該客戶端中軟件的界面元素。
客戶端軟件根據(jù)涉及到的界面容器的名稱列表進(jìn)行遍歷,獲得每個界面容器相關(guān)的窗口句柄數(shù)據(jù)。
客戶端軟件利用操作系統(tǒng)相關(guān)的API函數(shù),判斷窗口句柄是否有效,如果該窗口句柄數(shù)據(jù)無效,則更新該界面容器的各界面元素;如果該窗口句柄有效,則該界面容器按照界面刷新處理流程,根據(jù)命令權(quán)值大小重新進(jìn)行界面元素裝載過程,保證命令權(quán)值高界面元素排列在最前面、最易使用的地方。
客戶端軟件也可以根據(jù)預(yù)置策略調(diào)整命令權(quán)值達(dá)到預(yù)定數(shù)值的界面元素,如,加大該界面元素的圖表,加大該界面元素的字體等。
步驟S406、將計(jì)算后的命令權(quán)值信息存儲到本地文件系統(tǒng)。
客戶端軟件計(jì)算上述各界面容器內(nèi)全部界面元素的命令權(quán)值后,生成新的XML文件??蛻舳塑浖瓷蓵r間,為該XML文件配置相應(yīng)的序列號,存儲到客戶端數(shù)據(jù)庫。
步驟S407、發(fā)送界面元素的命令權(quán)值信息、及其對應(yīng)的用戶標(biāo)識信息到網(wǎng)絡(luò)服務(wù)器。
客戶端將該XML文件與客戶端用戶標(biāo)識建立對應(yīng)關(guān)系,上傳到網(wǎng)絡(luò)服務(wù)器。網(wǎng)絡(luò)服務(wù)器接收到該XML文件后,按接收時間順序修改該XML文件的序列號,并按用戶標(biāo)識建立存儲區(qū)域,存儲該XML文件。
為防止用戶每次操作界面元素后,客戶端都上傳XML文件給網(wǎng)絡(luò)服務(wù)器造成壓力過大,本發(fā)明采用網(wǎng)絡(luò)服務(wù)器定時更新存儲,或者客戶端在關(guān)閉軟件之前傳送XML文件的方式,以緩解網(wǎng)絡(luò)服務(wù)器的壓力。
步驟S408、下載與用戶標(biāo)識對應(yīng)的界面元素的命令權(quán)值信息到客戶端。
用戶在與網(wǎng)絡(luò)相連接的任一客戶端使用用戶標(biāo)識登錄網(wǎng)絡(luò)服務(wù)器,網(wǎng)絡(luò)服務(wù)器判斷該用戶標(biāo)識有效后,返回成功登錄信息到客戶端??蛻舳税l(fā)送獲取所需XML文件的序列號的協(xié)議命令到網(wǎng)絡(luò)服務(wù)器,網(wǎng)絡(luò)服務(wù)器返回該XML文件及修改后的序列號。
步驟S409、按界面元素的命令權(quán)值信息調(diào)整該客戶端中軟件的界面元素。
客戶端軟件解析該XML文件,獲得各界面容器中所有界面元素的命令權(quán)值信息??蛻舳塑浖鶕?jù)涉及到的界面容器的名稱列表進(jìn)行遍歷,獲得每個界面容器相關(guān)的窗口句柄數(shù)據(jù)。
客戶端軟件利用操作系統(tǒng)相關(guān)的API函數(shù),判斷窗口句柄是否有效,如果該窗口句柄數(shù)據(jù)無效,則更新該界面容器的各界面元素;如果該窗口句柄有效,則該界面容器按照界面刷新處理流程,根據(jù)命令權(quán)值大小重新進(jìn)行界面元素裝載過程,保證命令權(quán)值高界面元素排列在最前面、最易使用的地方。
客戶端軟件也可以根據(jù)預(yù)置策略調(diào)整命令權(quán)值達(dá)到預(yù)定數(shù)值的界面元素,如,加大該界面元素的圖表,加大該界面元素的字體等。
通過上述流程,本發(fā)明不僅可以實(shí)現(xiàn)各客戶端軟件的網(wǎng)絡(luò)同步更新,還可以實(shí)現(xiàn)軟件中不同界面容器的同步更新。用戶在使用該軟件時,會更方便。
本發(fā)明客戶端軟件還可保存各界面容器的各界面元素命令權(quán)值,在某界面元素被操作后,計(jì)算、更新該界面元素的命令權(quán)值,軟件按更新后的命令權(quán)值,動態(tài)調(diào)整該界面元素所屬界面容器中各界面元素;或查詢各界面容器中被操作后生成相同操作命令的界面元素,計(jì)算這些界面元素的命令權(quán)值,再在各自所屬的界面容器內(nèi)更新,軟件按更新后的命令權(quán)值,動態(tài)調(diào)整各界面容器中各界面元素。
本發(fā)明客戶端發(fā)送到網(wǎng)絡(luò)服務(wù)器的信息也可為操作命令信息??蛻舳藢⒃摬僮髅顦?biāo)識信息與客戶端用戶標(biāo)識建立對應(yīng)關(guān)系,將該操作命令標(biāo)識信息與客戶端用戶標(biāo)識信息一起發(fā)送到網(wǎng)絡(luò)服務(wù)器保存。用戶在其它客戶端使用用戶標(biāo)識登陸網(wǎng)絡(luò)服務(wù)器后下載該操作命令標(biāo)識信息,再計(jì)算、更新該操作命令標(biāo)識信息對應(yīng)的界面元素的命令權(quán)值,客戶端軟件按更新后的命令權(quán)值,動態(tài)調(diào)整該界面元素所屬界面容器中各界面元素;或查詢各界面容器中被操作后生成相同操作命令標(biāo)識的界面元素,計(jì)算這些界面元素的命令權(quán)值,再在各自所屬的界面容器內(nèi)更新,軟件按更新后的命令權(quán)值,動態(tài)調(diào)整各界面容器中各界面元素。
參閱圖5,為本發(fā)明第四實(shí)施例提供的動態(tài)調(diào)整界面元素的系統(tǒng)示意圖,包括第一客戶端51、第二客戶端52、網(wǎng)絡(luò)服務(wù)器53。其中,第一客戶端51包括命令權(quán)值管理單元511、數(shù)據(jù)存儲單元512、網(wǎng)絡(luò)同步單元513、界面元素管理單元514。第二客戶端52所包含的功能單元與第一客戶端51相同。
用戶在第一客戶端51上操作軟件。第一客戶端51的命令權(quán)值管理單元511在某界面元素被操作后,命令權(quán)值管理單元511根據(jù)該操作命令調(diào)用具體的操作指令執(zhí)行該操作,并生成該操作命令的標(biāo)識信息。
命令權(quán)值管理單元511確認(rèn)該操作命令屬于需要動態(tài)調(diào)整界面元素的操作命令,確定被操作的界面元素可動態(tài)調(diào)整之后,計(jì)算預(yù)設(shè)范圍內(nèi)的界面元素的命令權(quán)值。預(yù)設(shè)范圍包括,該操作命令標(biāo)識對應(yīng)界面元素所屬的界面容器中各界面元素,及與該操作命令標(biāo)識相關(guān)聯(lián)的各界面容器中各界面元素的命令權(quán)值。
命令權(quán)值管理單元511將計(jì)算后的命令權(quán)值信息發(fā)送到數(shù)據(jù)存儲單元512與網(wǎng)絡(luò)同步單元513。
數(shù)據(jù)存儲單元512生成新的XML文件??蛻舳塑浖瓷蓵r間,為該XML文件配置相應(yīng)的序列號,進(jìn)行存儲。
網(wǎng)絡(luò)同步單元513將計(jì)算后界面元素命令權(quán)值信息與客戶端用戶標(biāo)識建立對應(yīng)關(guān)系,上傳到網(wǎng)絡(luò)服務(wù)器53。網(wǎng)絡(luò)服務(wù)器53將接收到的信息處理成XML文件,按接收時間順序?yàn)樵揦ML文件配置序列號,并按用戶標(biāo)識建立存儲區(qū)域,存儲該XML文件。
用戶在第二客戶端登錄后,第二客戶端內(nèi)的網(wǎng)絡(luò)同步單元513在網(wǎng)絡(luò)服務(wù)器下載與用戶標(biāo)識對應(yīng)的界面元素的命令權(quán)值信息,傳送到界面元素管理單元514。
界面元素管理單元514按界面元素的命令權(quán)值信息調(diào)整界面元素。界面元素管理單元514根據(jù)命令權(quán)值大小重新進(jìn)行界面元素裝載過程,保證命令權(quán)值高界面元素排列在最前面、最易使用的地方。
參閱圖6,為本發(fā)明五實(shí)施例提供的命令權(quán)值管理單元511的結(jié)構(gòu)示意圖,命令權(quán)值管理單元511包括操作命令生成單元5111、操作命令確認(rèn)單元5112、界面元素確認(rèn)單元5113、單個界面容器計(jì)算單元5114。
操作命令生成單元5111在客戶端軟件的某用戶界面元素被操作后調(diào)用具體的操作指令執(zhí)行該操作,并生成該操作命令的標(biāo)識信息,并傳送到操作命令確認(rèn)單元5112。
操作命令確認(rèn)單元5112根據(jù)該操作命令的標(biāo)識信息查找、確認(rèn)該操作命令是否屬于需要動態(tài)調(diào)整界面元素的操作命令,如不是,則不處理該操作命令;如果是,則轉(zhuǎn)發(fā)到界面元素確認(rèn)單元5113。
界面元素確認(rèn)單元5113判斷該操作命令標(biāo)識對應(yīng)的界面元素是否屬于動態(tài)調(diào)整的界面元素,如不是,則不處理該操作命令信息;如是,轉(zhuǎn)發(fā)到單個界面容器計(jì)算單元5114。
單個界面容器計(jì)算單元5114按預(yù)置規(guī)則計(jì)算該操作命令標(biāo)識對應(yīng)界面元素所屬的界面容器中,各界面元素的命令權(quán)值。預(yù)置規(guī)則包括計(jì)算使用頻率、最近一段內(nèi)的使用頻率,點(diǎn)擊次數(shù),最近一段內(nèi)的點(diǎn)擊次數(shù)等。
參閱圖7,為本發(fā)明第六實(shí)施例提供的命令權(quán)值管理單元511的結(jié)構(gòu)示意圖,命令權(quán)值管理單元511包括操作命令生成單元5111、操作命令確認(rèn)單元5112、界面元素確認(rèn)單元5113、多界面容器計(jì)算單元5115。
操作命令生成單元5111、操作命令確認(rèn)單元5112、界面元素確認(rèn)單元5113的功能與圖5中相關(guān)描述相同,不再贅述。
多界面容器計(jì)算單元5115按預(yù)置規(guī)則計(jì)算與該操作命令標(biāo)識相關(guān)聯(lián)的各界面容器中各界面元素的命令權(quán)值。預(yù)置規(guī)則包括計(jì)算使用頻率、最近一段內(nèi)的使用頻率,點(diǎn)擊次數(shù),最近一段內(nèi)的點(diǎn)擊次數(shù)等。
參閱圖8,為本發(fā)明第七實(shí)施例提供的界面元素管理單元514的結(jié)構(gòu)示意圖,包括界面容器判斷單元5151和界面容器同步單元5142。
界面容器判斷單元5151判斷需調(diào)整各界面容器對應(yīng)的窗口句柄數(shù)據(jù)是否有效,如有效,發(fā)送調(diào)整該界面容器信息到界面容器同步單元5142。
界面容器同步單元5142按界面元素的命令權(quán)值調(diào)整該界面容器中各界面元素。
以上對本發(fā)明所提供的一種動態(tài)調(diào)整界面元素的方法及系統(tǒng),進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種動態(tài)調(diào)整用戶界面元素的方法,其特征在于,包括軟件的用戶界面元素被操作后,計(jì)算預(yù)設(shè)范圍內(nèi)的界面元素的命令權(quán)值;發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器;客戶端從所述網(wǎng)絡(luò)服務(wù)器下載上述界面元素的命令權(quán)值信息,按上述界面元素的命令權(quán)值調(diào)整所述軟件的界面元素。
2.如權(quán)利要求1所述的方法,其特征在于,計(jì)算預(yù)設(shè)范圍內(nèi)的界面元素的命令權(quán)值之前,還包括生成操作命令標(biāo)識;根據(jù)該操作命令標(biāo)識確定上述操作屬于需要動態(tài)調(diào)整界面元素的操作。
3.如權(quán)利要求1所述的方法,其特征在于,發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器之前,還包括按上述界面元素的命令權(quán)值調(diào)整所述軟件的界面元素。
4.如權(quán)利要求1或2所述的方法,其特征在于,在發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器之前,還包括將上述界面元素的命令權(quán)值信息存儲到本地?cái)?shù)據(jù)庫。
5.如權(quán)利要求1或2所述的方法,其特征在于,客戶端按預(yù)定時間或在所述軟件關(guān)閉時,發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器。
6.如權(quán)利要求1或2所述的方法,其特征在于,按下述步驟,客戶端從網(wǎng)絡(luò)服務(wù)器下載上述界面元素的命令權(quán)值信息網(wǎng)絡(luò)服務(wù)器按接收時間順序?yàn)樯鲜鼋缑嬖氐拿顧?quán)值信息配置序列號;客戶端從網(wǎng)絡(luò)服務(wù)器下載該序列號,并與本地為所述界面元素的命令權(quán)值信息配置的序列號相比較;如大于,則從網(wǎng)絡(luò)服務(wù)器下載上述界面元素的命令權(quán)值信息。
7.如權(quán)利要求1或2所述的方法,其特征在于,所述預(yù)設(shè)范圍包括與被操作的界面元素同屬于一個界面容器的全部界面元素,或被操作的界面元素。
8.如權(quán)利要求3所述的方法,其特征在于,所述預(yù)設(shè)范圍包括與該操作命令標(biāo)識相關(guān)聯(lián)的各界面容器中全部界面元素,或各界面容器中被操作后生成上述操作命令標(biāo)識的界面元素。
9.如權(quán)利要求8所述的方法,其特征在于,按下述步驟,按上述界面元素的命令權(quán)值調(diào)整所述軟件的界面元素分別判斷上述各界面容器對應(yīng)的窗口句柄數(shù)據(jù)是否有效;如有效,按命令權(quán)值調(diào)整該界面容器中各界面元素。
10.一種動態(tài)調(diào)整用戶界面元素的系統(tǒng),其特征在于,包括命令權(quán)值管理單元、網(wǎng)絡(luò)同步單元、及界面元素管理單元所述命令權(quán)值管理單元,用于在客戶端軟件的用戶界面元素被操作后,計(jì)算預(yù)設(shè)范圍內(nèi)的界面元素的命令權(quán)值;所述網(wǎng)絡(luò)同步單元,用于發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器;所述界面元素管理單元,用于從網(wǎng)絡(luò)服務(wù)器下載上述界面元素的命令權(quán)值信息,并按上述界面元素的命令權(quán)值調(diào)整所述軟件的界面元素。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述命令權(quán)值管理單元包括操作命令生成單元,用于在客戶端軟件的某用戶界面元素被操作后,生成操作命令標(biāo)識信息;多界面容器計(jì)算單元,用于按預(yù)置規(guī)則,計(jì)算與上述操作命令標(biāo)識相關(guān)聯(lián)的各界面容器中全部界面元素的命令權(quán)值。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述界面元素管理單元包括界面容器判斷單元,用于分別判斷上述各界面容器對應(yīng)的窗口句柄數(shù)據(jù)是否有效,如有效,發(fā)送調(diào)整該界面容器的信息到界面容器同步單元;界面容器同步單元,用于按上述界面元素的命令權(quán)值調(diào)整該界面容器中各界面元素。
全文摘要
本發(fā)明公開了一種動態(tài)調(diào)整用戶界面元素的方法,包括軟件的某用戶界面元素被操作后,計(jì)算預(yù)設(shè)范圍內(nèi)的界面元素的命令權(quán)值;發(fā)送上述界面元素的命令權(quán)值信息到網(wǎng)絡(luò)服務(wù)器;客戶端從所述網(wǎng)絡(luò)服務(wù)器下載上述界面元素的命令權(quán)值信息,按上述界面元素的命令權(quán)值調(diào)整所述軟件的界面元素。同時,本發(fā)明還公開一種動態(tài)調(diào)整用戶界面元素的系統(tǒng)。本發(fā)明能夠在各個客戶端之間,實(shí)現(xiàn)軟件用戶界面元素的網(wǎng)絡(luò)同步調(diào)整。
文檔編號H04L29/06GK101071379SQ20071008728
公開日2007年11月14日 申請日期2007年3月21日 優(yōu)先權(quán)日2007年3月21日
發(fā)明者李斌 申請人:騰訊科技(深圳)有限公司