專利名稱:自定義功能菜單的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,更具體地,涉及一種自定義功能菜單的方法和裝置。
背景技術(shù):
隨著制造業(yè)信息化近幾年的深入應(yīng)用,產(chǎn)品數(shù)據(jù)管理(PDM,Product Data Management)/產(chǎn)品周期管理(PLM Product LifecycleManagement)系統(tǒng)也各自都有很大程 度的發(fā)展。目前國(guó)內(nèi)的PDM/PLM系統(tǒng)基本都有較強(qiáng)的擴(kuò)展性與開放性,基本都能滿足企業(yè) 復(fù)雜應(yīng)用與分階段的實(shí)施。PDM/PLM系統(tǒng)功能都體現(xiàn)在菜單(包括工具條)上,并通過(guò)菜單(包括工具條)上 的控件觸發(fā)這些功能,所以隨著系統(tǒng)功能的增強(qiáng),勢(shì)必也就造成系統(tǒng)菜單的復(fù)雜性,過(guò)多的 菜單會(huì)增加系統(tǒng)的操作復(fù)雜度,或者說(shuō)是用戶剛開始使用系統(tǒng)的難度。另外,不同身份的企 業(yè)用戶在使用系統(tǒng)時(shí),所使用的功能不同,而系統(tǒng)的菜單在設(shè)計(jì)時(shí)已經(jīng)被編譯固化在系統(tǒng) 中,用戶在使用系統(tǒng)時(shí)不能定義菜單,對(duì)所有用戶呈現(xiàn)的菜單均為相同的菜單,導(dǎo)致用戶在 使用系統(tǒng)時(shí),存在復(fù)雜度較高,缺乏人性化的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種自定義功能菜單的方法和裝置,其能夠解決用戶在使用系統(tǒng) 時(shí)不能定義菜單的問(wèn)題。根據(jù)本發(fā)明的一個(gè)方面,提供一種自定義功能菜單的方法,包括通過(guò)全局菜單數(shù) 據(jù)生成用戶菜單數(shù)據(jù);按照用戶的菜單屬性設(shè)置請(qǐng)求對(duì)所述用戶菜單數(shù)據(jù)進(jìn)行設(shè)置;通過(guò) 設(shè)置后的用戶菜單數(shù)據(jù)創(chuàng)建相應(yīng)的用戶菜單。優(yōu)選地,所述全局菜單數(shù)據(jù)包括元菜單環(huán)境、元菜單項(xiàng)、元菜單命令和元根菜單。優(yōu)選地,所述生成用戶菜單數(shù)據(jù)的過(guò)程包括將所述元菜單環(huán)境映射為用戶菜單 環(huán)境,將所述元菜單項(xiàng)映射成用戶菜單項(xiàng),將所述元菜單命令映射成用戶菜單命令,將所述 元根菜單映射成用戶根菜單,將映射后的所述用戶菜單環(huán)境、用戶菜單項(xiàng)、用戶菜單命令和 用戶根菜單作為所述用戶菜單數(shù)據(jù)。優(yōu)選地,所述生成用戶菜單數(shù)據(jù)之前,還包括設(shè)置所述元菜單環(huán)境至少關(guān)聯(lián)一項(xiàng) 元根菜單并設(shè)置關(guān)聯(lián)的元根菜單的有效性;對(duì)有效的元根菜單設(shè)置其至少關(guān)聯(lián)一項(xiàng)元菜單 項(xiàng)并設(shè)置所關(guān)聯(lián)元菜單項(xiàng)的有效性;對(duì)有效的元菜單項(xiàng)設(shè)置其所關(guān)聯(lián)的元菜單命令并設(shè)置 所關(guān)聯(lián)元菜單命令的有效性。優(yōu)選地,按照所述用戶的菜單屬性設(shè)置請(qǐng)求,對(duì)所述用戶菜單數(shù)據(jù)進(jìn)行設(shè)置包括 設(shè)置所述用戶菜單環(huán)境至少關(guān)聯(lián)一項(xiàng)用戶根菜單并設(shè)置關(guān)聯(lián)的用戶根菜單的有效性;對(duì)有 效的用戶根菜單設(shè)置其至少關(guān)聯(lián)一項(xiàng)用戶菜單項(xiàng)并設(shè)置所關(guān)聯(lián)用戶菜單項(xiàng)的有效性;對(duì)有 效的用戶菜單項(xiàng)設(shè)置其所關(guān)聯(lián)的用戶菜單命令并設(shè)置所關(guān)聯(lián)用戶菜單命令的有效性。優(yōu)選地,通過(guò)所述設(shè)置后的用戶菜單數(shù)據(jù)創(chuàng)建相應(yīng)的用戶菜單包括將所述用戶 菜單數(shù)據(jù)作為應(yīng)用程序接口 API的輸出參數(shù),通過(guò)所述API創(chuàng)建所述用戶菜單。
優(yōu)選地,所述通過(guò)全局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù)之前,還包括設(shè)置所述用戶的 標(biāo)識(shí);所述生成用戶菜單數(shù)據(jù)之后,還包括建立所述用戶菜單數(shù)據(jù)與所述標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。優(yōu)選地,所述創(chuàng)建相應(yīng)的用戶菜單之后,還包括接收用戶的登錄請(qǐng)求,識(shí)別用戶 的標(biāo)識(shí),按照所述標(biāo)識(shí)獲取所述用戶菜單數(shù)據(jù),將創(chuàng)建的所述用戶菜單顯示給用戶。根據(jù)本發(fā)明的另一個(gè)方面,還提供一種自定義功能菜單的裝置,包括映射單元, 用于通過(guò)全局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù);設(shè)置單元,用于按照用戶的菜單屬性設(shè)置請(qǐng)求 對(duì)所述用戶菜單數(shù)據(jù)進(jìn)行設(shè)置;菜單生成單元,用于通過(guò)設(shè)置后的用戶菜單數(shù)據(jù)創(chuàng)建相應(yīng) 的用戶菜單。優(yōu)選地,該裝置還包括全局菜單數(shù)據(jù)設(shè)置單元,用于在所述映射單元生成用戶菜 單數(shù)據(jù)之前,設(shè)置所述全局菜單數(shù)據(jù)的有效性;標(biāo)識(shí)單元,用于在所述菜單生成單元通過(guò)全 局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù)之前,設(shè)置所述用戶的標(biāo)識(shí);在所述菜單生成單元生成用戶 菜單數(shù)據(jù)之后,建立所述用戶菜單數(shù)據(jù)與所述標(biāo)識(shí)的對(duì)應(yīng)關(guān)系;登錄控制單元,用于在所述 菜單生成單元?jiǎng)?chuàng)建相應(yīng)的用 戶菜單之后,接收用戶的登錄請(qǐng)求,通過(guò)所述標(biāo)識(shí)單元識(shí)別用 戶的標(biāo)識(shí),按照所述標(biāo)識(shí)獲取所述用戶菜單數(shù)據(jù),觸發(fā)所述菜單生成單元。因?yàn)椴捎糜捎脩魧?duì)屬于自己的用戶菜單數(shù)據(jù)進(jìn)行自定義設(shè)置和動(dòng)態(tài)創(chuàng)建菜單,并 通過(guò)不同用戶的標(biāo)識(shí)區(qū)分用戶,克服系統(tǒng)的菜單在設(shè)計(jì)時(shí)已經(jīng)被編譯固化在系統(tǒng)中,用戶 在使用系統(tǒng)時(shí)不能定義菜單的問(wèn)題,進(jìn)而達(dá)到了實(shí)現(xiàn)通過(guò)一份全局菜單數(shù)據(jù)為各個(gè)用戶分 別動(dòng)態(tài)創(chuàng)建屬于用戶自己的菜單,提高了用戶體驗(yàn)及人性化感受;不必為每個(gè)企業(yè)用戶單 獨(dú)制作系統(tǒng)菜單,降低了設(shè)計(jì)成本,提高了軟件系統(tǒng)制作效率的效果。
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí) 施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1示出了實(shí)施例一的流程圖;圖2示出了實(shí)施例二的流程圖;圖3示出了實(shí)施例二中用戶登錄過(guò)程的流程圖;圖4示出了實(shí)施例三中的裝置結(jié)構(gòu)圖。
具體實(shí)施例方式下面將參考附圖并結(jié)合實(shí)施例,來(lái)詳細(xì)說(shuō)明本發(fā)明。參見圖1,圖1是本發(fā)明的方 法實(shí)施例一的流程圖,包括Sll 通過(guò)全局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù);S12 按照用戶的菜單屬性設(shè)置請(qǐng)求對(duì)所述用戶菜單數(shù)據(jù)進(jìn)行設(shè)置;S13 通過(guò)設(shè)置后的用戶菜單數(shù)據(jù)創(chuàng)建相應(yīng)的用戶菜單。上面的實(shí)施例一說(shuō)明了本發(fā)明的菜單創(chuàng)建過(guò)程,本發(fā)明的菜單創(chuàng)建過(guò)程通過(guò)用戶 的設(shè)置和預(yù)先存儲(chǔ)的菜單數(shù)據(jù),動(dòng)態(tài)創(chuàng)建并生成符合用戶設(shè)置的菜單;使系統(tǒng)的菜單數(shù)據(jù) 通過(guò)的用戶設(shè)置,生成符合用戶使用要求的菜單,提高了用戶體驗(yàn)及人性化。另外,本發(fā)明的菜單還可通過(guò)設(shè)置各個(gè)用戶的標(biāo)識(shí),區(qū)分不同的用戶登錄,并接受各個(gè)用戶的設(shè)置,生成與各個(gè)用戶相應(yīng)的菜單,當(dāng)用戶啟動(dòng)系統(tǒng)時(shí),會(huì)按照用戶的身份選擇 預(yù)先生成相應(yīng)的菜單顯示給用戶。下面通過(guò)實(shí)施例二說(shuō)明該方案,在該實(shí)施例中,通過(guò)類模 型說(shuō)明系統(tǒng)菜單數(shù)據(jù)和用戶菜單數(shù)據(jù)的關(guān)系。下面通過(guò)本發(fā)明的實(shí)施例二并結(jié)合附圖詳細(xì)說(shuō)明PDM/PLM系統(tǒng)中,采用類模型的 菜單創(chuàng)建過(guò)程。參見圖2,包括S21 存儲(chǔ)全局菜單數(shù)據(jù);S22 設(shè)置全局菜單數(shù)據(jù);對(duì)全局菜單數(shù)據(jù)進(jìn)行設(shè)置,以便于企業(yè)用戶或系統(tǒng)管理員管理后續(xù)用戶的設(shè)置, 例如允許用戶定義的各種菜單形式、屬性等,如層級(jí)菜單、單擊菜單、活動(dòng)菜單等等。這種 全局菜單數(shù)據(jù)如果采用面向?qū)ο笏枷氲念惸P驮O(shè)計(jì),也可稱為菜單元模型或系統(tǒng)全局菜單 數(shù)據(jù)。系統(tǒng)全局菜單數(shù)據(jù)生成私有用戶菜單,系統(tǒng)全局菜單數(shù)據(jù)可以按照不同企業(yè)的需 求進(jìn)行定制;而私有用戶菜單即用戶菜單數(shù)據(jù),可由用戶進(jìn)行設(shè)置,并在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建。通過(guò)菜單元模型(即系統(tǒng)默認(rèn)初始功能)即可很快通過(guò)定義“元菜單環(huán) 境.SetAvailability”,設(shè)置“元菜單環(huán)境”是否有效;同時(shí)影響菜單環(huán)境所關(guān)聯(lián)的各個(gè)元 根菜單的有效性,如果元菜單環(huán)境設(shè)置為有效,則關(guān)聯(lián)的元根菜單可以有效(元根菜單同 時(shí)可以設(shè)置自身的有效性);如果菜單環(huán)境設(shè)置為無(wú)效,則關(guān)聯(lián)的所有元根菜單無(wú)效(且根 菜單下的所有子孫菜單也默認(rèn)無(wú)效)。元根菜單與元菜單環(huán)境是多對(duì)多關(guān)系,即各個(gè)不同功能的元菜單環(huán)境可以存在對(duì) 應(yīng)同一個(gè)元根菜單;同一功能模塊可以存在對(duì)應(yīng)多個(gè)元根菜單,當(dāng)設(shè)置關(guān)聯(lián)的元菜單環(huán)境 有效時(shí),該元菜單環(huán)境所對(duì)應(yīng)的元根菜單也有效,相應(yīng)的,當(dāng)設(shè)置關(guān)聯(lián)的元菜單環(huán)境無(wú)效 時(shí),該元菜單環(huán)境所對(duì)應(yīng)的元根菜單也無(wú)效。通過(guò)選擇開放或關(guān)閉實(shí)現(xiàn)設(shè)置元菜單環(huán)境的 有效,從而實(shí)現(xiàn)是否允許后續(xù)的用戶設(shè)置,設(shè)置元菜單環(huán)境對(duì)應(yīng)的元根菜單開啟后,可進(jìn)行 后續(xù)的元根菜單設(shè)置。通過(guò)菜單元模型(即系統(tǒng)默認(rèn)初始功能)即可很快通過(guò)定義“元根菜 單.SetAvailability",即設(shè)置元根菜單的有效性。如果“元根菜單”設(shè)置無(wú)效,那么元根菜 單關(guān)聯(lián)的所有子孫菜單項(xiàng)默認(rèn)就不可見、也不可用;如果元根菜單設(shè)置有效,那么元根菜單 關(guān)聯(lián)的所有子孫菜單項(xiàng)可以可見或可用(元菜單項(xiàng)可以自身設(shè)置其可見性與可用性,但只 有作為父菜單項(xiàng)的元菜單項(xiàng)可見/可用,子菜單項(xiàng)才有可能可見/可用)。根菜單對(duì)具體顯 示的菜單起引導(dǎo)作用,根菜單具體分為主菜單、工具條菜單與單擊菜單(如鼠標(biāo)的右鍵或 左鍵菜單)。通過(guò)菜單元模型(即系統(tǒng)默認(rèn)初始功能)即可很快通過(guò)定義“元菜單 項(xiàng).SetAvailability",即設(shè)置元菜單項(xiàng)的可用性及可見性,在元根菜單被設(shè)置為有效的基 礎(chǔ)上,設(shè)置元根菜單關(guān)聯(lián)的各個(gè)元菜單項(xiàng),從而實(shí)現(xiàn)設(shè)置所關(guān)聯(lián)的各個(gè)元菜單項(xiàng)的有效或 無(wú)效,元菜單項(xiàng)包括當(dāng)前菜單項(xiàng)及其子孫菜單中各項(xiàng)功能中的每項(xiàng)功能顯示。當(dāng)前菜單項(xiàng) 是層級(jí)菜單項(xiàng)中的某一層以及其子孫菜單。通過(guò)菜單元模型(即系統(tǒng)默認(rèn)初始功能)即可很快通過(guò)定義“元菜單命 令.SetAvailability”,即設(shè)置其有效性,因?yàn)椤霸藛蚊睢笔窍鄬?duì)公共的,可以提供任何“菜單項(xiàng)”進(jìn)行關(guān)聯(lián),菜單命令即具體系統(tǒng)功能,系統(tǒng)功能通過(guò)系統(tǒng)插件機(jī)制開發(fā)并注冊(cè)系統(tǒng);所以通過(guò)設(shè)置“元菜單命令”的有效性,同時(shí)會(huì)影響到該元菜單命令相關(guān)聯(lián)的葉子菜單 項(xiàng)的有效性(可見性與可用性),即如果“元菜單命令”無(wú)效,那么其關(guān)聯(lián)的所有頁(yè)子菜單項(xiàng) 就默認(rèn)不可用(即菜單灰顯)。經(jīng)過(guò)對(duì)上述的默認(rèn)菜單元模型設(shè)置后,可以向用戶顯示或關(guān)閉一些后續(xù)的設(shè)置, 從而實(shí)現(xiàn)對(duì)用戶的后續(xù)設(shè)置的授權(quán);可以對(duì)全局菜單數(shù)據(jù)進(jìn)行設(shè)置,也可以不進(jìn)行設(shè)置,即 認(rèn)為所有的全局菜單數(shù)據(jù)均對(duì)用戶授權(quán)。上述的設(shè)置可以是企業(yè)用戶進(jìn)行設(shè)置或系統(tǒng)管理 員進(jìn)行設(shè)置,進(jìn)行首次設(shè)置后,從而便于后續(xù)的用戶二次設(shè)置。S23 接收來(lái)自用戶的設(shè)置請(qǐng)求并建立用戶標(biāo)識(shí);用戶打開設(shè)置后的默認(rèn)菜單元模型,系統(tǒng)為該用戶建立標(biāo)識(shí);S24 采用設(shè)置后的全局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù);生成用戶菜單數(shù)據(jù)的過(guò)程是映射的過(guò)程,即將所述元菜單環(huán)境映射為用戶菜單環(huán) 境,將所述元菜單項(xiàng)映射成用戶菜單項(xiàng),將所述元菜單命令映射成用戶菜單命令,將所述元 根菜單映射成用戶根菜單,將映射后的所述用戶菜單環(huán)境、用戶菜單項(xiàng)、用戶菜單命令和用 戶根菜單作為所述用戶菜單數(shù)據(jù),并將所述用戶標(biāo)識(shí)關(guān)聯(lián)所述用戶菜單數(shù)據(jù),建立一一對(duì) 應(yīng)關(guān)系。在映射的過(guò)程中,加入用戶的屬性信息,如用戶的名稱、使用范圍、領(lǐng)域等。S25 按照用戶的菜單屬性設(shè)置請(qǐng)求對(duì)所述用戶菜單數(shù)據(jù)進(jìn)行設(shè)置;按照用戶的設(shè)置請(qǐng)求,進(jìn)行二次設(shè)置;二次設(shè)置時(shí),會(huì)設(shè)置“用戶菜單環(huán)境”、“用戶 根菜單”、“用戶菜單項(xiàng)”與“用戶菜單命令”之間的關(guān)聯(lián)關(guān)系以及有效性,系統(tǒng)會(huì)為每個(gè)系統(tǒng) 用戶復(fù)制一份經(jīng)過(guò)設(shè)置的菜單元模型,在此基礎(chǔ)上每個(gè)系統(tǒng)用戶可以定義自己個(gè)性化的菜 單,如添加新的菜單、修改菜單與刪除菜單等,主要包括以下設(shè)置用戶設(shè)置“用戶菜單環(huán)境.SetAvailability”的有效性,設(shè)置用戶菜單環(huán)境是否有 效,影響該用戶菜單環(huán)境所關(guān)聯(lián)的各個(gè)元根菜單的有效性,如果用戶菜單環(huán)境設(shè)置為有效, 則關(guān)聯(lián)的用戶根菜單可以進(jìn)行設(shè)置,如設(shè)置為有效,或設(shè)置為無(wú)效。如果設(shè)置為無(wú)效,則關(guān) 聯(lián)的所有用戶根菜單均無(wú)效,且根菜單下的所有子孫菜單也無(wú)效。當(dāng)用戶設(shè)置好用戶菜單環(huán)境下的根菜單有效時(shí),用戶可進(jìn)一步設(shè)置“用戶根菜 單.SetVisible"中各項(xiàng)根菜單是否可見。即是否顯示給用戶,如果設(shè)置為不可見,則不顯 示給用戶。當(dāng)用戶根菜單可見時(shí),用戶可設(shè)置“用戶根菜單.SetEnable”中各項(xiàng)根菜單是否可用。通過(guò)設(shè)置開啟或關(guān)閉根菜單的可見和可用,從而實(shí)現(xiàn)對(duì)用戶根菜單中各項(xiàng)根菜單 的有效性設(shè)置,只有將可見和可用均設(shè)置為開啟時(shí),該根菜單的功能才有效。如果用戶將用戶根菜單設(shè)置為可見,但可見的用戶根菜單設(shè)置為不可用,則該用 戶根菜單對(duì)用戶灰顯,即對(duì)用戶可見,但用戶無(wú)法使用。實(shí)現(xiàn)在根菜單被設(shè)置為可用、可見的基礎(chǔ)上,用戶可以進(jìn)一步設(shè)置根菜單所關(guān)聯(lián) 的菜單項(xiàng)的可用、及可見。即用戶對(duì)“用戶菜單項(xiàng).SetMenuCaption”中各項(xiàng)“菜單項(xiàng)”進(jìn)行 設(shè)置。在用戶根菜單設(shè)為可用、可見的基礎(chǔ)上,用戶進(jìn)一步設(shè)置“用戶菜單 項(xiàng).SetVisible”中各項(xiàng)“菜單項(xiàng)”及其子孫菜單是否可見。如果設(shè)置為可見,則此用戶菜單項(xiàng)對(duì)用戶顯示。用戶設(shè)置“用戶菜單項(xiàng).SetEnable"中各項(xiàng)“菜單項(xiàng)”及其子孫是否可用。在菜單項(xiàng)設(shè)置為可用、可見的基礎(chǔ)上,該根菜單所關(guān)聯(lián)的菜單項(xiàng)才可以使用。如果 設(shè)置為可見,但設(shè)置為不可用,則此用戶菜單項(xiàng)對(duì)用戶灰顯。在設(shè)置完用戶菜單環(huán)境、用戶根菜單、用戶菜單項(xiàng)后,用戶可進(jìn)一步通過(guò)設(shè)置“用 戶菜單命令.SetAvailability”中的菜單命令,設(shè)置用戶菜單命令關(guān)聯(lián)的各個(gè)菜單及菜單 項(xiàng)是否有效。經(jīng)過(guò)上述的設(shè)置,最后得到設(shè)置后的用戶菜單數(shù)據(jù),以上的設(shè)置,可以設(shè)置其中一 項(xiàng)也可以設(shè)置多項(xiàng),當(dāng)不做設(shè)置時(shí),可向用戶顯示全部的菜單數(shù)據(jù)功能或全部不顯示菜單 數(shù)據(jù)功能;該用戶菜單數(shù)據(jù)與用戶標(biāo)識(shí)相對(duì)應(yīng)。當(dāng)用戶登錄時(shí),系統(tǒng)會(huì)按照用戶菜單數(shù)據(jù)動(dòng) 態(tài)創(chuàng)建成相應(yīng)的菜單顯示給用戶,下面通過(guò)詳細(xì)說(shuō)明實(shí)施例二中,經(jīng)過(guò)用戶設(shè)置后的登錄 過(guò)程。參見圖3,包括S31 接收用戶的登錄請(qǐng)求;S32 識(shí)別出該用戶的標(biāo)識(shí),選擇出相應(yīng)的用戶菜單數(shù)據(jù);S33 運(yùn)行用戶菜單數(shù)據(jù),判斷用戶的設(shè)置;由于各個(gè)菜單可能會(huì)對(duì)應(yīng)多個(gè)用戶菜單環(huán)境。因此,在確定向用戶顯示生成菜單 的時(shí),不僅需要判斷用戶設(shè)置菜單的可見,還需要判斷用戶設(shè)置該菜單所屬菜單環(huán)境的有 效性。確定的過(guò)程包括首先判斷用戶根菜單對(duì)于其所屬的菜單環(huán)境是否設(shè)置為可見,如果在所屬的用戶 菜單環(huán)境下,用戶根菜單設(shè)置為可見,則向用戶顯示該根菜單;如果設(shè)置為可用,則該根菜 單有效,可以使用;如果判斷出用戶設(shè)置的根菜單不可見、或判斷出該根菜單所屬的用戶菜 單環(huán)境無(wú)效,則確定出不向用戶顯示此根菜單。只有確定出向用戶顯示生成的根菜單可見并可用時(shí),則進(jìn)一步判斷該根菜單所關(guān) 聯(lián)的子孫菜單及葉子菜單項(xiàng)是否可見、可用,從而確定是否向用戶顯示、以及所關(guān)聯(lián)菜單是 否可以使用。判斷的過(guò)程與判斷用戶根菜單的過(guò)程相同,直至全部確定完畢。如果判斷出 用戶根菜單所關(guān)聯(lián)的菜單項(xiàng)可見并可用,則該菜單項(xiàng)有效,可以使用;如果判斷出無(wú)效但可 見,則向菜單項(xiàng)向用戶灰顯,但不可以使用。最后判斷各個(gè)菜單項(xiàng)所關(guān)聯(lián)的命令是否有效,如果有效,將各個(gè)菜單項(xiàng)關(guān)聯(lián)相應(yīng) 的命令。S34 將創(chuàng)建出的菜單顯示給用戶。在經(jīng)過(guò)上述的確定過(guò)程后,向用戶顯示創(chuàng)建出的菜單。其中,創(chuàng)建過(guò)程可采用應(yīng)用 程序接口 API的方式等其它的菜單軟件進(jìn)行創(chuàng)建。實(shí)施例二中的對(duì)菜單進(jìn)行自定義設(shè)置和動(dòng)態(tài)創(chuàng)建菜單的方法,由于通過(guò)不同用戶 的標(biāo)識(shí)、及對(duì)用戶菜單數(shù)據(jù)的設(shè)置,可實(shí)現(xiàn)為各個(gè)用戶分別動(dòng)態(tài)創(chuàng)建屬于用戶自己的菜單, 提高了用戶體驗(yàn)及人性化感受。本發(fā)明通過(guò)全局菜單數(shù)據(jù)的設(shè)置,實(shí)現(xiàn)由軟件提供商對(duì)不同的企業(yè)用戶的特殊情 況進(jìn)行定制,不必為每個(gè)企業(yè)用戶單獨(dú)制作系統(tǒng)菜單,降低了設(shè)計(jì)成本,提高了軟件系統(tǒng)制 作效率;各個(gè)企業(yè)用戶還可按照自己的需求對(duì)菜單進(jìn)行二次設(shè)置,即通過(guò)私有用戶菜單設(shè) 置,滿足自身使用的需要,提高了用戶體驗(yàn)及人性化。
本發(fā)明的方法可以多種形式結(jié)構(gòu)的硬件形式實(shí)現(xiàn),下面通過(guò)優(yōu)選的實(shí)施例三說(shuō)明 裝置的結(jié)構(gòu)。參見圖4,該包括映射單元11,用于通過(guò)全局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù);其中,所述全局菜單數(shù)據(jù)包括元菜單環(huán)境、元菜單項(xiàng)、元菜單命令和元根菜單。設(shè)置單元12,用于按照用戶的菜單屬性設(shè)置請(qǐng)求對(duì)所述用戶菜單數(shù)據(jù)進(jìn)行設(shè)置;菜單生成單元13,用于通過(guò)設(shè)置后的用戶菜單數(shù)據(jù)創(chuàng)建相應(yīng)的用戶菜單。
優(yōu)選地,映射單元11包括菜單環(huán)境映射模塊110,用于將所述元菜單環(huán)境映射為用戶菜單環(huán)境;菜單項(xiàng)映射模塊111,用于將所述元菜單項(xiàng)映射成用戶菜單項(xiàng);菜單命令映射模塊112,用于將所述元菜單命令映射成用戶菜單命令;根菜單映射模塊113,用于將所述元根菜單映射成用戶根菜單;將映射后的所述用戶菜單環(huán)境、用戶菜單項(xiàng)、用戶菜單命令和用戶根菜單作為所 述用戶菜單數(shù)據(jù)。在映射過(guò)程中,加入用戶的屬性信息,如用戶名稱、使用范圍、領(lǐng)域等。優(yōu)選地,該裝置還包括全局菜單數(shù)據(jù)設(shè)置單元14,用于在所述映射單元11生成用戶菜單數(shù)據(jù)之前,對(duì)所 述元菜單環(huán)境、元菜單項(xiàng)、元菜單命令和元根菜單進(jìn)行設(shè)置。優(yōu)選地,所述設(shè)置單元12,用于按照所述用戶的菜單屬性設(shè)置請(qǐng)求,對(duì)所述用戶菜 單數(shù)據(jù)進(jìn)行設(shè)置,包括以下模塊菜單環(huán)境設(shè)置模塊120,用于設(shè)置每個(gè)用戶菜單環(huán)境關(guān)聯(lián)的根菜單的有效性,即關(guān) 聯(lián)的根菜單是否可以使用;根菜單設(shè)置模塊122,用于在用戶菜單環(huán)境內(nèi)有效的用戶根菜單基礎(chǔ)上,對(duì)有效的 用戶根菜單進(jìn)行設(shè)置,設(shè)置其中的各個(gè)菜單項(xiàng)的可用性、以及是否可見;菜單項(xiàng)設(shè)置模塊123,用于在設(shè)置為有效的用戶根菜單基礎(chǔ)上,對(duì)有效的用戶菜單 項(xiàng)進(jìn)行設(shè)置,設(shè)置其中的子孫菜單中的可用性、以及是否可見。菜單命令設(shè)置模塊121,用于設(shè)置所述用戶菜單命令所關(guān)聯(lián)的用戶菜單項(xiàng)的有效 性;優(yōu)選地,菜單生成單元13通過(guò)所述設(shè)置后的用戶菜單數(shù)據(jù)創(chuàng)建相應(yīng)的用戶菜單 的過(guò)程包括將所述用戶菜單數(shù)據(jù)作為應(yīng)用程序接口 API的輸出參數(shù),通過(guò)所述API創(chuàng)建所述 用戶菜單。優(yōu)選地,該裝置還包括標(biāo)識(shí)單元15,用于在所述菜單生成單元13通過(guò)全局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù) 之前,設(shè)置所述用戶的標(biāo)識(shí);在所述菜單生成單元13生成用戶菜單數(shù)據(jù)之后,建立所述用 戶菜單數(shù)據(jù)與所述標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。優(yōu)選地,該裝置還包括登錄控制單元16,用于在所述菜單生成單元13創(chuàng)建相應(yīng)的用戶菜單之后,接收用 戶的登錄請(qǐng)求,通過(guò)所述標(biāo)識(shí)單元15識(shí)別用戶的標(biāo)識(shí),按照所述標(biāo)識(shí)獲取所述用戶菜單數(shù) 據(jù),觸發(fā)所述菜單生成單元13通過(guò)所述用戶菜單數(shù)據(jù)創(chuàng)建所述用戶菜單并顯示給用戶。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而可以將它們存儲(chǔ)在 存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中 的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬 件和軟件結(jié)合。 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種自定義功能菜單的方法,其特征在于,包括通過(guò)全局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù);按照用戶的菜單屬性設(shè)置請(qǐng)求對(duì)所述用戶菜單數(shù)據(jù)進(jìn)行設(shè)置;通過(guò)設(shè)置后的用戶菜單數(shù)據(jù)創(chuàng)建相應(yīng)的用戶菜單。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述全局菜單數(shù)據(jù)包括元菜單環(huán)境、元 菜單項(xiàng)、元菜單命令和元根菜單。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述生成用戶菜單數(shù)據(jù)的過(guò)程包括將所述元菜單環(huán)境映射為用戶菜單環(huán)境,將所述元菜單項(xiàng)映射成用戶菜單項(xiàng),將所述 元菜單命令映射成用戶菜單命令,將所述元根菜單映射成用戶根菜單,將映射后的所述用 戶菜單環(huán)境、用戶菜單項(xiàng)、用戶菜單命令和用戶根菜單作為所述用戶菜單數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述生成用戶菜單數(shù)據(jù)之前,還包括 設(shè)置所述元菜單環(huán)境至少關(guān)聯(lián)一項(xiàng)元根菜單并設(shè)置關(guān)聯(lián)的元根菜單的有效性; 對(duì)有效的元根菜單設(shè)置其至少關(guān)聯(lián)一項(xiàng)元菜單項(xiàng)并設(shè)置所關(guān)聯(lián)元菜單項(xiàng)的有效性; 對(duì)有效的元菜單項(xiàng)設(shè)置其所關(guān)聯(lián)的元菜單命令并設(shè)置所關(guān)聯(lián)元菜單命令的有效性。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,按照所述用戶的菜單屬性設(shè)置請(qǐng)求,對(duì)所 述用戶菜單數(shù)據(jù)進(jìn)行設(shè)置包括設(shè)置所述用戶菜單環(huán)境至少關(guān)聯(lián)一項(xiàng)用戶根菜單并設(shè)置關(guān)聯(lián)的用戶根菜單的有效性;對(duì)有效的用戶根菜單設(shè)置其至少關(guān)聯(lián)一項(xiàng)用戶菜單項(xiàng)并設(shè)置所關(guān)聯(lián)用戶菜單項(xiàng)的有 效性;對(duì)有效的用戶菜單項(xiàng)設(shè)置其所關(guān)聯(lián)的用戶菜單命令并設(shè)置所關(guān)聯(lián)用戶菜單命令的有 效性。
6.根據(jù)權(quán)利要求1至5中任意一項(xiàng)所述的方法,其特征在于,通過(guò)所述設(shè)置后的用戶菜 單數(shù)據(jù)創(chuàng)建相應(yīng)的用戶菜單包括將所述用戶菜單數(shù)據(jù)作為應(yīng)用程序接口 API的輸出參數(shù),通過(guò)所述API創(chuàng)建所述用戶菜單。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述通過(guò)全局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù)之前,還包括 設(shè)置所述用戶的標(biāo)識(shí); 所述生成用戶菜單數(shù)據(jù)之后,還包括 建立所述用戶菜單數(shù)據(jù)與所述標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述創(chuàng)建相應(yīng)的用戶菜單之后,還包括 接收用戶的登錄請(qǐng)求,識(shí)別用戶的標(biāo)識(shí),按照所述標(biāo)識(shí)獲取所述用戶菜單數(shù)據(jù),將創(chuàng)建的所述用戶菜單顯示給用戶。
9.一種自定義功能菜單的裝置,其特征在于,包括 映射單元,用于通過(guò)全局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù);設(shè)置單元,用于按照用戶的菜單屬性設(shè)置請(qǐng)求對(duì)所述用戶菜單數(shù)據(jù)進(jìn)行設(shè)置; 菜單生成單元,用于通過(guò)設(shè)置后的用戶菜單數(shù)據(jù)創(chuàng)建相應(yīng)的用戶菜單。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,該裝置還包括全局菜單數(shù)據(jù)設(shè)置單元,用于在所述映射單元生成用戶菜單數(shù)據(jù)之前,設(shè)置所述全局菜單數(shù)據(jù)的有效性;標(biāo)識(shí)單元,用于在所述菜單生成單元通過(guò)全局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù)之前,設(shè)置 所述用戶的標(biāo)識(shí);在所述菜單生成單元生成用戶菜單數(shù)據(jù)之后,建立所述用戶菜單數(shù)據(jù)與 所述標(biāo)識(shí)的對(duì)應(yīng)關(guān)系;登錄控制單元,用于在所述菜單生成單元?jiǎng)?chuàng)建相應(yīng)的用戶菜單之后,接收用戶的登錄 請(qǐng)求,通過(guò)所述標(biāo)識(shí)單元識(shí)別用戶的標(biāo)識(shí),按照所述標(biāo)識(shí)獲取所述用戶菜單數(shù)據(jù),觸發(fā)所述 菜單生成單元。
全文摘要
本發(fā)明提供了一種自定義功能菜單的方法和裝置。本發(fā)明的方法包括通過(guò)全局菜單數(shù)據(jù)生成用戶菜單數(shù)據(jù);按照用戶的菜單屬性設(shè)置請(qǐng)求對(duì)所述用戶菜單數(shù)據(jù)進(jìn)行設(shè)置;通過(guò)設(shè)置后的用戶菜單數(shù)據(jù)創(chuàng)建相應(yīng)的用戶菜單。當(dāng)存在多個(gè)用戶時(shí),為各個(gè)用戶分別創(chuàng)建用戶菜單數(shù)據(jù)并建立標(biāo)識(shí),由于通過(guò)不同用戶的標(biāo)識(shí)、及對(duì)用戶菜單數(shù)據(jù)的設(shè)置,為各個(gè)用戶分別動(dòng)態(tài)創(chuàng)建屬于用戶自己的菜單,提高了用戶體驗(yàn)及人性化;全局菜單數(shù)據(jù)也就是系統(tǒng)全局元模型菜單,全局菜單數(shù)據(jù)中的元模型菜單產(chǎn)生私有用戶菜單,也就是用戶菜單數(shù)據(jù);系統(tǒng)全局元模型菜單可為不同企業(yè)定制;私有用戶菜單可由用戶定制,并在系統(tǒng)運(yùn)行時(shí)創(chuàng)建,降低了軟件設(shè)計(jì)成本,提高了軟件系統(tǒng)制作效率。
文檔編號(hào)G06F9/44GK101833444SQ201010123010
公開日2010年9月15日 申請(qǐng)日期2010年3月11日 優(yōu)先權(quán)日2010年3月11日
發(fā)明者倪永全, 鐘廣友 申請(qǐng)人:北京數(shù)碼大方科技有限公司