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

實(shí)體交互的自動(dòng)用戶界面生成的制作方法

文檔序號(hào):6594370閱讀:623來(lái)源:國(guó)知局
專利名稱:實(shí)體交互的自動(dòng)用戶界面生成的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及實(shí)體交互的自動(dòng)用戶界面生成。
背景技術(shù)
通常,軟件應(yīng)用,以及尤其是行業(yè)(LOB)應(yīng)用表示各種自然的數(shù)據(jù)對(duì)象(也稱為實(shí) 體)。例如,在行業(yè)(LOB)應(yīng)用中,客戶、訂單、產(chǎn)品、以及發(fā)票是需要被創(chuàng)建并操作的實(shí)體的 示例。由于應(yīng)用能用于多個(gè)不同的部署,對(duì)各個(gè)獨(dú)立的應(yīng)用以及應(yīng)用要在其上運(yùn)行的各個(gè) 類型的設(shè)備設(shè)計(jì)并創(chuàng)建用戶界面。由此,開(kāi)發(fā)者必須為那些實(shí)體類型中的每一個(gè)創(chuàng)建特定 的圖形用戶界面。這是消耗時(shí)間的并且是相當(dāng)重復(fù)的任務(wù)。然而,如果不是必須創(chuàng)建實(shí)體 特定的用戶界面,應(yīng)用可被更快地創(chuàng)建。概述下面提供了簡(jiǎn)化的概述,以便提供對(duì)此處所描述的一些新穎實(shí)施例的基本理解。 本概述不是詳盡的概述,并且它不旨在標(biāo)識(shí)關(guān)鍵/重要元素或描繪本發(fā)明的范圍。其唯一 的目的是以簡(jiǎn)化形式呈現(xiàn)一些概念,作為稍后呈現(xiàn)的更詳細(xì)描述的序言。揭示的架構(gòu)通過(guò)提供能自動(dòng)地創(chuàng)建應(yīng)用的用戶界面(UI)的片斷的引擎,允許開(kāi) 發(fā)者更快地創(chuàng)建應(yīng)用。引擎能將實(shí)體或任何實(shí)體類型的實(shí)例作為輸入,并創(chuàng)建一允許應(yīng)用 的用戶查看并修改實(shí)體的UI作為輸出。架構(gòu)也促進(jìn)了元數(shù)據(jù)和源實(shí)體的關(guān)聯(lián)來(lái)引導(dǎo)引擎 決定;決定諸如引擎選擇哪些UI控件來(lái)表示實(shí)體屬性,向?qū)嶓w提供了多少“區(qū)域(real estate),,(UI空間),以及如何放置UI控件。此外,應(yīng)用允許用戶與已知的實(shí)體類型進(jìn)行交互,但也允許與在應(yīng)用設(shè)計(jì)時(shí)所未 知的類型進(jìn)行交互。換句話說(shuō),應(yīng)用(例如,行業(yè))能夠處理動(dòng)態(tài)生成的隨機(jī)實(shí)體。為了為實(shí)現(xiàn)上述及相關(guān)目的,本文結(jié)合下面的描述和附圖來(lái)描述某些說(shuō)明性方 面。這些方面指示了可以實(shí)踐本文所公開(kāi)的原理的各種方式,所有方面及其等效方面旨在 落入所要求保護(hù)的主題的范圍內(nèi)。結(jié)合附圖閱讀下面的詳細(xì)描述,其他優(yōu)點(diǎn)和新穎特征將 變得顯而易見(jiàn)。附圖簡(jiǎn)述

圖1示出了根據(jù)所公開(kāi)的架構(gòu)的計(jì)算機(jī)實(shí)現(xiàn)的界面生成系統(tǒng)。圖2示出了由引擎組件展示的實(shí)體信息。圖3示出了能用于創(chuàng)建UI的屬性元數(shù)據(jù)的實(shí)例。圖4示出了使用多個(gè)引擎生成不同UI的系統(tǒng)。圖5示出了通過(guò)使用元數(shù)據(jù)和實(shí)體的關(guān)聯(lián)能在運(yùn)行時(shí)被創(chuàng)建的示例性用戶界面。圖6示出了在自動(dòng)生成的UI內(nèi)實(shí)體屬性的水平流布局。圖7示出了在自動(dòng)生成的UI內(nèi)實(shí)體屬性的垂直流布局。圖8示出了在自動(dòng)生成的UI內(nèi)實(shí)體屬性的水平流布局。圖9示出了在自動(dòng)生成的UI內(nèi)實(shí)體屬性的垂直流布局。圖10示出了生成界面的計(jì)算機(jī)實(shí)現(xiàn)的方法。
圖11示出了將布局策略應(yīng)用到已生成的用戶界面的方法。圖12示出了當(dāng)實(shí)體類型數(shù)據(jù)被設(shè)置時(shí),由引擎進(jìn)行處理的方法。圖13示出可用于根據(jù)所公開(kāi)的架構(gòu)將元數(shù)據(jù)與實(shí)體關(guān)聯(lián)并自動(dòng)地生成UI的計(jì)算 系統(tǒng)的框圖。詳細(xì)描述諸如行業(yè)(LOB)的應(yīng)用經(jīng)常操作實(shí)體(具有屬性的對(duì)象,諸如客戶對(duì)象)。相應(yīng) 地,通常在可視化實(shí)體和編輯實(shí)體中涉及應(yīng)用。通常,實(shí)體存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi),以在列表中的 緊湊表示顯示,或單獨(dú)地以擴(kuò)展的表示顯示。在大多數(shù)情況下,開(kāi)發(fā)者需要從頭創(chuàng)建用戶界 面(UI)來(lái)以詳細(xì)視圖表示具體的實(shí)體。所揭示的架構(gòu)通過(guò)將元數(shù)據(jù)附加到實(shí)體促進(jìn)了應(yīng)用UI的自動(dòng)創(chuàng)建,該元數(shù)據(jù)能 夠引導(dǎo)UI生成器(引擎)以產(chǎn)生更加有針對(duì)性的結(jié)果。引擎使用邏輯或算法在給定實(shí)體、 實(shí)體元數(shù)據(jù)和設(shè)備特征的情況下產(chǎn)生有意義的UI,諸如包括用于在UI內(nèi)表示實(shí)體的被分 配區(qū)域的硬件參數(shù)以及軟件參數(shù)?,F(xiàn)在將參考附圖,全部附圖中相同的附圖標(biāo)記用于表示相同的元件。在下面的描 述中,為了進(jìn)行說(shuō)明,闡述了很多具體細(xì)節(jié)以便提供對(duì)本發(fā)明的全面理解。然而,顯而易見(jiàn), 可以沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)施各新穎實(shí)施例。在其它情況下,以框圖形式示出了公 知的結(jié)構(gòu)和設(shè)備以便于描述它們。本發(fā)明將涵蓋落入所要求保護(hù)的主題的精神和范圍內(nèi)的 所有修改、等效方案和替換方案。圖1示出了根據(jù)所公開(kāi)的架構(gòu)的計(jì)算機(jī)實(shí)現(xiàn)的界面生成系統(tǒng)100。系統(tǒng)100包 括元數(shù)據(jù)組件102,用于創(chuàng)建元數(shù)據(jù)106和實(shí)體屬性108的關(guān)聯(lián)104(表示為Metadata1/ EntityProperty1 (元數(shù)據(jù) 1/ 實(shí)體屬性 1),,MetadataN/EntityPropertyN(元數(shù)據(jù) J 實(shí)體屬 性。),以及用于基于元數(shù)據(jù)106自動(dòng)地創(chuàng)建用戶界面112并在用戶界面112中呈現(xiàn)實(shí)體屬 性108的引擎組件110。引擎組件110還能考慮在其中呈現(xiàn)用戶界面112的設(shè)備116的設(shè)備特征114。設(shè) 備特征114可以包括設(shè)備116的硬件能力和/或軟件能力,諸如查看在設(shè)備116上可用于 查看用戶界面112的區(qū)域。引擎110促進(jìn)與實(shí)體屬性108的用戶交互,交互包括,例如,可 視化、編輯和/或驗(yàn)證。元數(shù)據(jù)組件102和引擎組件110可以是LOB應(yīng)用的一部分。在這樣的實(shí)施中,元 數(shù)據(jù)組件102和引擎組件110促進(jìn)已動(dòng)態(tài)生成的隨機(jī)實(shí)體的處理,隨機(jī)實(shí)體可以是商業(yè)實(shí)體。如將要在以下更加詳細(xì)描述的,可以使用重要性元數(shù)據(jù)和組元數(shù)據(jù)、并基于用戶 界面112的設(shè)備查看者的可用區(qū)域,在用戶界面112中呈現(xiàn)實(shí)體108。元數(shù)據(jù)組件102包括 重要性元數(shù)據(jù)。重要性元數(shù)據(jù)定義與實(shí)體屬性關(guān)聯(lián)的重要性等級(jí)(例如,較不重要)。例 如,較不重要的實(shí)體屬性將與指示較低等級(jí)重要性的重要性元數(shù)據(jù)關(guān)聯(lián)。引擎組件110基 于重要性元數(shù)據(jù)從用戶界面112中的視圖隱藏較不重要的實(shí)體屬性。然而,已隱藏的較不 重要的實(shí)體屬性能通過(guò)可選擇的鏈接變得可查看。當(dāng)用戶選擇該鏈接時(shí),已隱藏的較不重 要的實(shí)體屬性能被查看。根據(jù)使用,例如,重要性元數(shù)據(jù)和組元數(shù)據(jù)的布局、并基于設(shè)備查看者的可用區(qū) 域,在用戶界面112中呈現(xiàn)實(shí)體屬性108的部分或全部。元數(shù)據(jù)106涉及,僅舉數(shù)例,可見(jiàn)性、大小、呈現(xiàn)提示、分組、重要性、以及使用。圖2示出了由引擎組件110展示的實(shí)體信息。引擎組件110能展示實(shí)體類型200 以及實(shí)體實(shí)例202,用于生成用戶界面并用實(shí)體實(shí)例填充用戶界面。換言之,引擎組件110 展示用于用戶界面的生成的實(shí)體類型200,和/或用于生成用戶界面并用實(shí)體實(shí)例202填充 用戶界面的實(shí)體實(shí)例202。以下是用于展示實(shí)體信息的實(shí)例代碼。public Type EntityViewer. EntityTypepublic object EntityViewer. Entity設(shè)置EntityType允許UI的生成。設(shè)置Entity不僅僅允許UI的生成,也用所提 供的實(shí)體填充UI。引擎組件110確定與各種實(shí)體屬性關(guān)聯(lián)的潛在的屬性,并基于那元數(shù)據(jù)和內(nèi)建映 射(例如,映射到文本屬性編輯器的串屬性)在運(yùn)行時(shí)構(gòu)建UI。圖3示出了能被用于創(chuàng)建UI的屬性元數(shù)據(jù)106的元數(shù)據(jù)示例300。示例300包括 但不限于,例如,可見(jiàn)性、顯示名稱、通常大小(例如,長(zhǎng)度、寬度、高度、以及其變型)、呈現(xiàn) 提示、組、重要性、以及使用。示例300能被代碼表示為如下UIDescriptionVisible (UI描述可見(jiàn)性) (boolvisible),UlDescriptionDisplayName (UI 描述顯不名禾爾)(string displayName), UlDescriptionTypicalSize (UI 描述通常大小)(uint length,uint variation), UlDescriptionTypicalSize(UI 描述通 常大小)(uint width, uint height, uintwidthVariation, uint heightVariation),UIDescriptionRenderHint (UI 描述呈現(xiàn)提 7j\ ) (string assemblyQualifiedTypeName), UIDescriptionRenderHintv(UI 描述呈現(xiàn)提 7j\ ) (Type type), UlDescriptionGroup (UI 描述組)(string groupName),UIDescriptionI mportanceAttribute (UI 描述重要性屬性)(uint importance),andUIDescriptionUsageA ttribute (UI 描述使用屬性)(UIDescriptionPropertyUsagepropertyUsage)。公開(kāi)的架構(gòu)的其它方面包括以下適合于在UI內(nèi)表示的可讀公共屬性;基于 UlDescriptionGroup 屬性進(jìn)行分組的實(shí)體屬性;基于UlDescriptionImportance (基于 多個(gè)可能的排序算法)對(duì)不屬于一個(gè)組(一單實(shí)體屬性)以及屬性的多個(gè)組的屬性進(jìn)行 排序;組內(nèi)的屬性也基于UIDescriptionlmportance進(jìn)行排序;基于屬性類型、可寫(xiě)性、 UIDescriptionRenderHint 屬性挑選 UI 控件;基于 UlDescriptionTypicalSize 屬性對(duì) UI 控件的大小縮放;UI控件基于UIDescriptionUsage屬性重新解釋接收到的數(shù)據(jù)(例如,串 能被重新解釋為圖像URI (統(tǒng)一資源標(biāo)識(shí)符));基于布局策略以及可用的區(qū)域大小放置UI 控件。引擎組件(也稱為實(shí)體查看者控件)可以展示被稱為重要性閾值的屬性。該閾值 可以被稱為虛擬調(diào)節(jié)器(virtual knob),當(dāng)調(diào)節(jié)時(shí)顯示實(shí)體的較多或較少的字段。例如,假 設(shè)名字被給定重要性17。如果實(shí)體控件的閾值值是例如50,那么具有重要性大于50的屬 性將在UI內(nèi)呈現(xiàn)。具有低于50的重要性的屬性將被忽視并且不再UI內(nèi)表示。圖4示出了使用多個(gè)引擎402來(lái)生成不同UI404的系統(tǒng)400。如上所述,元數(shù)據(jù)組 件102基于元數(shù)據(jù)106和實(shí)體屬性108創(chuàng)建元數(shù)據(jù)/實(shí)體屬性的關(guān)聯(lián)104。在此,引擎組 件110包括多個(gè)引擎402 (表示為引擎,引擎J用于基于設(shè)備特征創(chuàng)建UI (表示為UI1,, UIt),設(shè)備特征諸如在其上將呈現(xiàn)實(shí)體(例如,商業(yè)對(duì)象)的設(shè)備的可查看區(qū)域。例如,如果正在使用的應(yīng)用在臺(tái)式計(jì)算機(jī)上運(yùn)行,那么相比于如果該應(yīng)用在移動(dòng)設(shè)備上運(yùn)行的情況, 生成不同類型的UI。由此,不同類型控件和不同類型交互模型的使用,以及元數(shù)據(jù)對(duì)于實(shí)體 的附加使得用戶在運(yùn)行時(shí)創(chuàng)建以不同類型的設(shè)備能力和設(shè)備供應(yīng)商為目標(biāo)的應(yīng)用。圖5示出了通過(guò)使用元數(shù)據(jù)和實(shí)體的關(guān)聯(lián)能在運(yùn)行時(shí)被創(chuàng)建的示例性用戶界面 500。UI500顯示了實(shí)體屬性的布局以及分組。姓名分組502將名字和姓氏進(jìn)行組合。類似 地,地址分組504將房屋號(hào)(#)實(shí)體、街道實(shí)體、城市實(shí)體、郵政編碼實(shí)體以及州實(shí)體進(jìn)行組 合。照片實(shí)體506也被呈現(xiàn)。當(dāng)處理元數(shù)據(jù)時(shí),UI500基于元數(shù)據(jù)在運(yùn)行時(shí)被創(chuàng)建,該元數(shù) 據(jù)指示姓名分組502、地址分組504、照片實(shí)體506、以及其它實(shí)體屬性(例如,生日、年齡、個(gè) 人介紹等)將基于顯示的布局策略(例如,自頂向下的順序和/或從左往右的順序)被呈 現(xiàn)。UI500,可以例如,根據(jù)設(shè)備上的可用區(qū)域來(lái)改變布局和大小,其中應(yīng)用(例如,商 業(yè))正在為該設(shè)備生成視圖。例如,由于在視圖內(nèi)有更多的區(qū)域,大的文本框能被選擇并在 臺(tái)式機(jī)器上呈現(xiàn),相反,較小的文本框?qū)⒈贿x擇以在給定小了許多的查看區(qū)域的PDA或手 機(jī)上呈現(xiàn)。然而,諸如姓氏的某些信息能被固定在最小和/或最大尺寸。例如,姓氏的通常 大小是10個(gè)字符,并且關(guān)聯(lián)的實(shí)體能被限制為10個(gè)字符。元數(shù)據(jù)能作為給定應(yīng)用的默認(rèn)的一組常用實(shí)體來(lái)提供,然后能使用由用戶創(chuàng)建的 一組自定義的元數(shù)據(jù)來(lái)補(bǔ)充。例如,金融應(yīng)用能具有關(guān)于姓名和地址的一組相同的基本元 數(shù)據(jù),但是也具有與具有相同的默認(rèn)組以及涉及產(chǎn)品、物流等的其它元數(shù)據(jù)的商業(yè)應(yīng)用不 同的關(guān)于賬戶、利息等的其它元數(shù)據(jù)。關(guān)于組信息,一個(gè)人具有名字和姓氏。當(dāng)生成一個(gè)人的UI500時(shí),本能地將姓氏和 名字鄰近地放置(例如,并排)。這意味著名字和姓氏能共享相同的組502。由此,元數(shù)據(jù) 與指示與名字和姓氏關(guān)聯(lián)的組Name(姓名)的這兩個(gè)屬性相關(guān)聯(lián)。此人具有由稱為地址 (Address)的組504定義的地址,該地址可以包括街道號(hào)、街道名稱、郵政編碼、城市名稱、
國(guó)家等。重要性元數(shù)據(jù)能夠是值范圍(例如,一在2-100范圍內(nèi)的值)。特定組的重要性元 數(shù)據(jù)以及在該組上的放置的屬性(例如,該組放置在用戶的空間內(nèi),將組放在底下、隱藏該 組等)能指示該組的查看位置,或該組到底是否要被呈現(xiàn)。當(dāng)為一個(gè)人創(chuàng)建UI500時(shí),本能 地,名字和姓氏將是突出的;由此,名字和姓氏屬性的重要性元數(shù)據(jù)將是高的。另一方面,眼 睛顏色可以是一個(gè)人的無(wú)意義的特征;因此,相對(duì)于名字而言,重要性元數(shù)據(jù)是低的。相應(yīng)地,當(dāng)生成UI500時(shí),實(shí)體屬性能被自上向下放置,其中被分配重要性元數(shù)據(jù) 的高重要性屬性在上而被分配重要性元數(shù)據(jù)的較低屬性在降序范圍內(nèi)。可以對(duì)較不重要的屬性創(chuàng)建鏈接使得用戶實(shí)際上必須選擇鏈接來(lái)引起對(duì)話框的 呈現(xiàn),例如,顯示較不重要屬性的對(duì)話框。當(dāng)實(shí)體要在與例如PDA或手機(jī)關(guān)聯(lián)的區(qū)域上呈現(xiàn) 時(shí),這是非常有用的。因此,如果UI是針對(duì)較大的手機(jī)界面設(shè)計(jì)的,但是然后在較小的手機(jī) 界面上使用,鏈接能自動(dòng)地在運(yùn)行時(shí)實(shí)現(xiàn)以適應(yīng)較小的UI。然后,用戶可以選擇鏈接來(lái)訪問(wèn) 隱藏的屬性。例如,考慮引擎所接收指示查看區(qū)域的設(shè)備特征是寬200像素、高300像素。引擎 隨后創(chuàng)建用于該設(shè)備的合適的UI。然而,當(dāng)在PDA上使用時(shí),引擎可以接收指示查看區(qū)域的 設(shè)備特征是寬50像素、高60像素,并接著創(chuàng)建合適的UI。相應(yīng)地,將具有諸如與UI的向?qū)ь愋完P(guān)聯(lián)的鏈接的UI呈現(xiàn)給PDA用戶,其中導(dǎo)航是從一頁(yè)面到另一頁(yè)面,以可視化此人的 不同特征。相反,臺(tái)式機(jī)用戶可被給予足夠查看此人的所有特征的單個(gè)表格。在更穩(wěn)健的實(shí)施例中,除了查看區(qū)域,可以考慮其它設(shè)備特征,諸如CPU、存儲(chǔ)器、 軟件(例如,操作系統(tǒng))、輸入設(shè)備(例如,鍵盤(pán)、麥克風(fēng)、鼠標(biāo)等)、語(yǔ)音輸入能力等。此外, 或可替換地,可以基于用戶偏好(例如,用戶偏好在上部放置圖像,接下來(lái)是姓名信息,并 且沒(méi)有地址信息)和/或數(shù)據(jù)類型(例如,金融、商業(yè))創(chuàng)建UI。在另一示例中,用戶能與UI交互,以按響應(yīng)于用戶交互來(lái)生成元數(shù)據(jù)的方式更改 UI。接著可以將該元數(shù)據(jù)附加或合并到現(xiàn)有的來(lái)自實(shí)體的元數(shù)據(jù)中,并且引擎不僅僅將由 實(shí)體提供的元數(shù)據(jù)作為輸入,也將由終端用戶生成的元數(shù)據(jù)作為輸入。基于生成的UI,屬性可與訪問(wèn)等級(jí)關(guān)聯(lián)。例如,用戶的體重信息能被作為只讀屬 性??商鎿Q地,所提供的諸如街道號(hào)屬性的地址可以是可寫(xiě)的。引擎組件能選擇并初始化UI內(nèi)實(shí)體方向的各種布局以填充區(qū)域。接下來(lái)是四個(gè) 示例,但是可以理解的是也能使用其它布局。圖6示出了水平流布局600。在該流布局中, 實(shí)體呈現(xiàn)是從上至下以及從左到右。圖7示出了垂直流布局700。圖8示出水平布局800。 圖9示出垂直布局900。根據(jù)正在被創(chuàng)建的表格表示的目的,可以添加特定的實(shí)體元數(shù)據(jù)從而以一種用于 正在被創(chuàng)建的視圖的特定的方式引導(dǎo)UI的創(chuàng)建。使用電子郵件實(shí)體作為示例,電子郵件具 有發(fā)送方、接收方、電子郵件發(fā)送的日期和時(shí)間、電子郵件在某個(gè)日期和時(shí)間被接收、以及 正文。電子郵件的正文通??梢允且粋€(gè)或多個(gè)段落形式的一大段信息(例如,文本、圖像、 鏈接等)。由開(kāi)發(fā)者給予電子郵件正文的通常大小是,例如,10,000字符。當(dāng)以更緊湊的方 式呈現(xiàn)電子郵件時(shí),對(duì)正文分配10,000字符是不理想的。可以創(chuàng)建一個(gè)以更緊湊表示的方 式來(lái)表示電子郵件的表格。例如,對(duì)于特定的視圖,可以減少分配給電子郵件的區(qū)域,使得 對(duì)于電子郵件的特定視圖,所分配的區(qū)域現(xiàn)在是200字符。對(duì)于特定視圖,用戶能覆蓋附加 到特定字段的默認(rèn)元數(shù)據(jù)。以下是能被使用的示例性簡(jiǎn)單類分層。頂級(jí)EntityViewer (實(shí)體查看者)類可以 為如下pubLIc class EntityViewer Control, IEntityEditor引擎組件能實(shí)現(xiàn)public interface IEntityEditor,使得實(shí)體能以標(biāo)準(zhǔn)方式被編 輯。單個(gè)屬性編輯器能實(shí)現(xiàn)public interfaceIEntityPropertyEditor以標(biāo)準(zhǔn)化在UI片 斷和頂級(jí)實(shí)體查看者之間的協(xié)議。TextPropertyEditor(文本屬性編輯器)是該界面的特 定實(shí)現(xiàn)public class TextPropertyEditor Control, IEntityPropertyEditorEntityViewer (實(shí)體查看者)能夠使用各個(gè)屬性的說(shuō)明的預(yù)定標(biāo)記public class EntityPropertyLabel Control界面詳細(xì)描述的一個(gè)示例可包括以下public interface IEntityEditor {
bool AllowEdit {
get ; set ;
object Entity {
get; set;
Type EntityType {
get ; set;event EventHandler CancelEdit;
eventEventHandler<MemberVaIueChangedEventArgs>
VaIueChanged;
eventEventHandler<MemberVaIueChangedEventArgs>
ValueChangeCanceled; }
public interface IEntityPropertyEditor {
bool AllowEdit {
get ; set;
}
〇bj ect Value {
get; set ;
}
Size PreferredSize(uint
uint
heightVariation);
width, uint height, widthVariation,
uint
eventEventHandler<MemberVaIueChangedEventArgs>
ValueChanged;
eventEventHandler<MemberVaIueChangedEventArgs>
ValueChangeCanceled;
}如在上述代碼中使用的,EntityViewer是引擎組件,并且其負(fù)責(zé)創(chuàng)建和填充UI。EntityViewer不初始化、提交、或取消關(guān)聯(lián)的實(shí)體的編輯。是例如協(xié)作數(shù)據(jù)導(dǎo)航器控件 的責(zé)任來(lái)執(zhí)行這三個(gè)任務(wù)。EntityViewer將由單個(gè)屬性控件引起的屬性更改通知通過(guò) IEntityEditor' s ValueChanged 以及 ValueChangedCanceled 事件轉(zhuǎn)發(fā)。此外,當(dāng)用戶試 圖取消實(shí)體編輯時(shí),EntityViewer引起其CancelEdit (取消編輯)事件。實(shí)體屬性編輯器負(fù)責(zé)表示單個(gè)屬性,并且處理編輯經(jīng)驗(yàn)(如果有的話)。屬性編輯 器實(shí)現(xiàn)IEntityPropertyEditor,使得=EntityViewer能告知屬性應(yīng)該是只讀的或可讀寫(xiě) 的;EntityViewer以及屬性編輯器具有交換屬性值的標(biāo)準(zhǔn)方式;屬性編輯器具有通知值更 改(以及取消)的標(biāo)準(zhǔn)方式;并且,EntityViewer能指出用于查看屬性所需的合理的區(qū)域。以下是公開(kāi)的架構(gòu)的過(guò)程的功能流程的示例。當(dāng)EntityViewer的EntityType (實(shí) 體類型)屬性被設(shè)置時(shí)(例如,在Entity(實(shí)體)屬性被設(shè)置時(shí)直接地或內(nèi)部地設(shè)置), 控件能執(zhí)行以下類型屬性被枚舉并且關(guān)聯(lián)的自定義屬性被訪問(wèn);基于那些屬性,引擎 創(chuàng)建一組EntityftOperty (實(shí)體屬性)對(duì)象和EntityftOpertyGroup (實(shí)體屬性組) 對(duì)象,并填充對(duì)象;引擎對(duì)具有建議的可視性的每個(gè)屬性發(fā)起RequestVisibility (請(qǐng) 求可視性)事件,并允許開(kāi)發(fā)者覆蓋默認(rèn)行為(注意的是,可視性取決于屬性的重要 性是否低于或高于重要性閾值);然后,基于屬性類型、潛在的呈現(xiàn)提示、以及Requ estPropertyRenderControlType (請(qǐng)求屬性呈現(xiàn)控件類型)事件選擇屬性控件(注 意的是,雖然屬性不需要與IEntityPropertyEditor實(shí)現(xiàn)關(guān)聯(lián),但是實(shí)體查看者也能 處理幾個(gè)存儲(chǔ)控件:TextBlock (文本塊),TextBox (文本框),DateTimePicker (日 期時(shí)間提取器),and PictureBox(圖片框));如果沒(méi)有提供呈現(xiàn)提示,當(dāng)屬性使用 UlDescriptionPropertyUsage. ImageSourcefP/ 或當(dāng)屬性類型是 System. DateTime 時(shí)使用 DateTimePicker時(shí),實(shí)體查看者選取PictureBox ;確定各個(gè)屬性控件和關(guān)聯(lián)的標(biāo)記的偏好 大??;從那里,組的偏好大小被計(jì)算;并且,最后,創(chuàng)建呈現(xiàn)組的控件(GroupBox(組框)控 件)。當(dāng)引擎要呈現(xiàn)自己時(shí),引擎首先根據(jù)屬性重要性和 GroupImportanceDefinition (組重要性定義)屬性對(duì)組進(jìn)行排序。然后,各種組、標(biāo)記和屬 性控件根據(jù)當(dāng)前的布局策略被放置。當(dāng)設(shè)置Entity屬性時(shí),如果類型被更改以及屬性控件 通過(guò)IEntityPropertyEditor. Value成員被填充,則UI被重新生成。以下是表示用于執(zhí)行所公開(kāi)的體系結(jié)構(gòu)的各新穎方面的示例性方法的一系列流 程圖。盡管出于解釋簡(jiǎn)明的目的,此處例如以流圖或流程圖形式示出的一個(gè)或多個(gè)方法被 示出并描述為一系列動(dòng)作,但是可以理解和明白,各方法不受動(dòng)作的次序的限制,因?yàn)楦鶕?jù) 本發(fā)明,某些動(dòng)作可以按與此處所示并描述的不同的次序和/或與其他動(dòng)作同時(shí)發(fā)生。例 如,本領(lǐng)域技術(shù)人員將會(huì)明白并理解,方法可被替換地表示為一系列相互關(guān)聯(lián)的狀態(tài)或事 件,諸如以狀態(tài)圖的形式。此外,并非在一方法中示出的所有動(dòng)作都是新穎實(shí)現(xiàn)所必需的。圖10示出了生成界面的計(jì)算機(jī)實(shí)現(xiàn)的方法。在1000,元數(shù)據(jù)與實(shí)體關(guān)聯(lián)。在1002, 基于元數(shù)據(jù)和設(shè)備的可查看區(qū)域,為該設(shè)備自動(dòng)創(chuàng)建用于實(shí)體的表示的用戶界面。圖11示出了將布局策略應(yīng)用到已生成的用戶界面的方法。在1100,引擎組件檢測(cè) 實(shí)體類型屬性被設(shè)置。在1102,引擎組件訪問(wèn)并處理實(shí)體元數(shù)據(jù)。在1104,初始化呈現(xiàn)。在 1106,基于重要性屬性和組重要性定義屬性,對(duì)組進(jìn)行排序。在1108,訪問(wèn)布局策略信息。 在1110,根據(jù)策略呈現(xiàn)組并標(biāo)記屬性控件。
圖12示出了當(dāng)實(shí)體類型數(shù)據(jù)被設(shè)置時(shí),由引擎進(jìn)行處理的方法。在1200,設(shè)置引 擎檢測(cè)實(shí)體類型屬性。在1202,枚舉類型屬性并且訪問(wèn)關(guān)聯(lián)的元數(shù)據(jù)。在1204,創(chuàng)建實(shí)體 屬性對(duì)象并創(chuàng)建實(shí)體屬性組對(duì)象,并且填充各個(gè)對(duì)象。在1206,展示并建議可視性數(shù)據(jù),并 且允許默認(rèn)覆蓋。在1208,基于類型、呈現(xiàn)提示以及呈現(xiàn)控件類型事件選擇屬性控件。在 1210,計(jì)算各個(gè)屬性以及關(guān)聯(lián)的標(biāo)記的大小。在1212,計(jì)算組大小。在1214,創(chuàng)建表示組的 控件。盡管參考如屏幕截圖的各個(gè)附圖示出并描述了向用戶顯示信息的一些方式,但相 關(guān)領(lǐng)域的技術(shù)人員可以認(rèn)識(shí)到,可采用各種其它替換方案。術(shù)語(yǔ)“屏幕”、“屏幕截圖”、“網(wǎng) 頁(yè)”、“文檔”和“頁(yè)面”在本文中一般可互換使用。頁(yè)面或屏幕作為顯示描述、作為圖形用戶 界面或通過(guò)描繪屏幕(例如,無(wú)論是個(gè)人計(jì)算機(jī)、PDA、移動(dòng)電話還是其它合適的設(shè)備)上的 信息的其它方法被存儲(chǔ)和/或傳輸,其中要顯示在頁(yè)面上的布局和信息或內(nèi)容被存儲(chǔ)在存 儲(chǔ)器、數(shù)據(jù)庫(kù)或另一存儲(chǔ)設(shè)施中。如在本申請(qǐng)中所使用的,術(shù)語(yǔ)“組件”和“系統(tǒng)”旨在表示計(jì)算機(jī)相關(guān)的實(shí)體,其可 以是硬件、硬件和軟件的組合、軟件、或者執(zhí)行中的軟件。例如,組件可以是但不限于,在處 理器上運(yùn)行的進(jìn)程、處理器、硬盤(pán)驅(qū)動(dòng)器、多個(gè)(光和/或磁存儲(chǔ)介質(zhì)的)存儲(chǔ)驅(qū)動(dòng)器、對(duì) 象、可執(zhí)行代碼、執(zhí)行的線程、程序、和/或計(jì)算機(jī)。作為說(shuō)明,在服務(wù)器上運(yùn)行的應(yīng)用程序 和服務(wù)器兩者都可以是組件。一個(gè)或多個(gè)組件可以駐留在進(jìn)程和/或執(zhí)行的線程內(nèi),且組 件可以位于一臺(tái)計(jì)算機(jī)上和/或分布在兩臺(tái)或更多的計(jì)算機(jī)之間。詞語(yǔ)“示例性”此處可 用于表示用作示例、實(shí)例或說(shuō)明。在此被描述為“示例性”的任何方面或設(shè)計(jì)并不一定要被 解釋為相比其他方面或設(shè)計(jì)更優(yōu)選或有利。現(xiàn)在參考圖13,圖13示出可用于根據(jù)所公開(kāi)的架構(gòu)將元數(shù)據(jù)與實(shí)體關(guān)聯(lián)并自動(dòng) 地生成UI的計(jì)算系統(tǒng)1300的框圖。為了提供用于其各方面的附加上下文,圖13及以下討 論旨在提供對(duì)其中可實(shí)現(xiàn)該各方面的合適的計(jì)算系統(tǒng)1300的簡(jiǎn)要概括描述。盡管以上描 述是在可在一個(gè)或多個(gè)計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中進(jìn)行的,但是本 領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,新穎實(shí)施例也可結(jié)合其他程序模塊和/或作為硬件和軟件的組 合來(lái)實(shí)現(xiàn)。—般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組 件、數(shù)據(jù)結(jié)構(gòu)等等。此外,本領(lǐng)域的技術(shù)人員可以理解,本發(fā)明的方法可用其他計(jì)算機(jī)系統(tǒng) 配置來(lái)實(shí)施,包括單處理器或多處理器計(jì)算機(jī)系統(tǒng)、小型計(jì)算機(jī)、大型計(jì)算機(jī)、以及個(gè)人計(jì) 算機(jī)、手持式計(jì)算設(shè)備、基于微處理器的或可編程消費(fèi)電子產(chǎn)品等,其每一個(gè)都可操作上耦 合到一個(gè)或多個(gè)相關(guān)聯(lián)的設(shè)備。所示各方面也可以在其中某些任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行 的分布式計(jì)算環(huán)境中實(shí)施。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存 儲(chǔ)設(shè)備中。計(jì)算機(jī)通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是可由計(jì)算機(jī)訪問(wèn)的 任何可用介質(zhì),且包括易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例而非限 制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以存儲(chǔ)如 計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)來(lái)實(shí)現(xiàn)的易失 性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于RAM、R0M、EEPR0M、閃存或者其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字視頻盤(pán)(DVD)或其他光盤(pán)存儲(chǔ)、磁帶盒、磁帶、磁盤(pán)存 儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或可以用于存儲(chǔ)所需信息并且可以由計(jì)算機(jī)訪問(wèn)的任何其他介質(zhì)。再次參考圖13,用于實(shí)現(xiàn)各方面的示例性計(jì)算系統(tǒng)1300包括具有處理單元1304、 系統(tǒng)存儲(chǔ)器1306和系統(tǒng)總線1308的計(jì)算機(jī)1302。系統(tǒng)總線1308向包括但不限于系統(tǒng)存 儲(chǔ)器1306的各系統(tǒng)組件提供到處理單元1304的接口。處理單元1304可以是市場(chǎng)上可購(gòu) 買(mǎi)到的各種處理器中的任意一種。雙微處理器和其他多處理器體系結(jié)構(gòu)也可用作處理單元 1304。系統(tǒng)總線1308可以是若干種總線結(jié)構(gòu)中的任一種,這些總線結(jié)構(gòu)還可互連到存 儲(chǔ)器總線(帶有或沒(méi)有存儲(chǔ)器控制器)、外圍總線、以及使用各類市場(chǎng)上可購(gòu)買(mǎi)到的總線體 系結(jié)構(gòu)中的任一種的局部總線。系統(tǒng)存儲(chǔ)器1306可包括非易失性存儲(chǔ)器(NOV-VOL) 1310 和/或易失性存儲(chǔ)器1312(例如,隨機(jī)存取存儲(chǔ)器(RAM))?;据斎?輸出系統(tǒng)(BIOS)可 被存儲(chǔ)在非易失性存儲(chǔ)器1310(例如,R0M、EPR0M、EEPR0M等)中,其中BIOS是幫助諸如在 啟動(dòng)期間在計(jì)算機(jī)1302內(nèi)的元件之間傳輸信息的基本例程。易失性存儲(chǔ)器1312還可包括 諸如靜態(tài)RAM等高速RAM來(lái)用于高速緩存數(shù)據(jù)。計(jì)算機(jī)1302還包括內(nèi)置硬盤(pán)驅(qū)動(dòng)器(HDD) 1314(例如,EIDE、SATA),該內(nèi)置HDD 1314還可被配置成在合適的機(jī)殼中外部使用;磁軟盤(pán)驅(qū)動(dòng)器(FDD) 1316(例如,從可移動(dòng)磁 盤(pán)1318中讀取或向其寫(xiě)入);以及光盤(pán)驅(qū)動(dòng)器1320(例如,從⑶-ROM盤(pán)1322中讀取,或從 諸如DVD等其他高容量光學(xué)介質(zhì)中讀取或向其寫(xiě)入)。HDD 1314,FDD 1316、以及光盤(pán)驅(qū)動(dòng) 器1320可分別由HDD接口 1324、FDD接口 13 和光盤(pán)驅(qū)動(dòng)器接口 13 連接到系統(tǒng)總線 1308。用于外置驅(qū)動(dòng)器實(shí)現(xiàn)的HDD接口 13M可包括通用串行總線(USB)和IEEE 1394接 口技術(shù)中的至少一種或兩者。驅(qū)動(dòng)器及相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)提供了對(duì)數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)可執(zhí)行指令 等的非易失性存儲(chǔ)。對(duì)于計(jì)算機(jī)1302,驅(qū)動(dòng)器和介質(zhì)容納適當(dāng)?shù)臄?shù)字格式的任何數(shù)據(jù)的存 儲(chǔ)。盡管以上對(duì)計(jì)算機(jī)可讀介質(zhì)的描述涉及HDD、可移動(dòng)磁盤(pán)(例如FDD)以及諸如CD或 DVD等可移動(dòng)光學(xué)介質(zhì),但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,示例性操作環(huán)境中也可使用可由 計(jì)算機(jī)讀取的任何其他類型的介質(zhì),諸如zip驅(qū)動(dòng)器、磁帶盒、閃存卡、盒式磁帶等等,并且 任何這樣的介質(zhì)可包含用于執(zhí)行所公開(kāi)的體系結(jié)構(gòu)的新穎方法的計(jì)算機(jī)可執(zhí)行指令。多個(gè)程序模塊可被存儲(chǔ)在驅(qū)動(dòng)器和易失性存儲(chǔ)器1312中,包括操作系統(tǒng)1330、一 個(gè)或多個(gè)應(yīng)用程序1332、其他程序模塊1334和程序數(shù)據(jù)1336。一個(gè)或多個(gè)應(yīng)用程序1332、 其他程序模塊1334、以及程序數(shù)據(jù)1336能包括例如,元數(shù)據(jù)組件102、關(guān)聯(lián)104、元數(shù)據(jù) 106、實(shí)體屬性108、實(shí)體組件110、UI112、設(shè)備特征114、實(shí)體類型200、實(shí)體實(shí)例202、元數(shù) 據(jù)示例300、引擎402、UI404、UI500、水平以及垂直流(600和700),水平以及垂直布局(800 和900),附圖10-12的方法。設(shè)備116能夠是計(jì)算機(jī)1302、手機(jī)、PDA、或其他表示信息的設(shè) 備。操作系統(tǒng)、應(yīng)用程序、模塊和/或數(shù)據(jù)的全部或部分也可被高速緩存在易失性存 儲(chǔ)器1312中。應(yīng)該明白,所公開(kāi)的體系結(jié)構(gòu)可以用市場(chǎng)上可購(gòu)得的各種操作系統(tǒng)或操作系 統(tǒng)的組合來(lái)實(shí)現(xiàn)。用戶可以通過(guò)一個(gè)或多個(gè)有線/無(wú)線輸入設(shè)備,例如鍵盤(pán)1338和諸如鼠標(biāo)1340 等定點(diǎn)設(shè)備將命令和信息輸入到計(jì)算機(jī)1302中。其他輸入設(shè)備(未示出)可包括話筒、IR遙控器、操縱桿、游戲手柄、指示筆、觸摸屏等等。這些和其他輸入設(shè)備通常通過(guò)耦合到系 統(tǒng)總線1304的輸入設(shè)備接口 1342連接到處理單元1308,但也可通過(guò)諸如并行端口、IEEE 1394串行端口、游戲端口、USB端口、頂接口等其他接口連接。監(jiān)視器1344或其他類型的顯示設(shè)備也經(jīng)由諸如視頻適配器1346等接口連接到系 統(tǒng)總線1308。除了監(jiān)視器1344之外,計(jì)算機(jī)通常包括諸如揚(yáng)聲器、打印機(jī)等其他外圍輸出 設(shè)備(未示出)。計(jì)算機(jī)1302可使用經(jīng)由有線和/或無(wú)線通信至諸如遠(yuǎn)程計(jì)算機(jī)1348等的一個(gè)或 多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)1348可以是工作站、服務(wù)器 計(jì)算機(jī)、路由器、個(gè)人計(jì)算機(jī)、便攜式計(jì)算機(jī)、基于微處理器的娛樂(lè)設(shè)備、對(duì)等設(shè)備或其他常 見(jiàn)的網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包括相對(duì)于計(jì)算機(jī)1302描述的許多或所有元件,盡管為簡(jiǎn)明起見(jiàn) 僅示出了存儲(chǔ)器/存儲(chǔ)設(shè)備1350。所描繪的邏輯連接包括到局域網(wǎng)(LAN) 1352和/或例如 廣域網(wǎng)(WAN) 13M等更大的網(wǎng)絡(luò)的有線/無(wú)線連接。這一 LAN和WAN連網(wǎng)環(huán)境常見(jiàn)于辦公 室和公司,并且方便了諸如內(nèi)聯(lián)網(wǎng)等企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò),所有這些都可連接到例如因特 網(wǎng)等全球通信網(wǎng)絡(luò)。當(dāng)在LAN連網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)1302通過(guò)有線和/或無(wú)線通信網(wǎng)絡(luò)接口或適 配器1352連接到LAN 1356。適配器1356可以方便到LAN 1352的有線和/或無(wú)線通信,并 且還可包括其上設(shè)置的用于使用適配器1356的無(wú)線功能進(jìn)行通信的無(wú)線接入點(diǎn)。當(dāng)在WAN連網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)1302可包括調(diào)制解調(diào)器1358,或連接到WAN 1354上的通信服務(wù)器,或具有用于諸如通過(guò)因特網(wǎng)等通過(guò)WAN13M建立通信的其他裝置。 或?yàn)閮?nèi)置或?yàn)橥庵靡约坝芯€和/或無(wú)線設(shè)備的調(diào)制解調(diào)器1358經(jīng)由輸入設(shè)備接口 1342連 接到系統(tǒng)總線1308。在聯(lián)網(wǎng)環(huán)境中,相對(duì)于計(jì)算機(jī)1302所描繪的程序模塊或其部分可以存 儲(chǔ)在遠(yuǎn)程存儲(chǔ)器/存儲(chǔ)設(shè)備1350中。應(yīng)該理解,所示網(wǎng)絡(luò)連接是示例性的,并且可以使用 在計(jì)算機(jī)之間建立通信鏈路的其他手段。計(jì)算機(jī)1302可操作來(lái)使用IEEE 802標(biāo)準(zhǔn)家族來(lái)與有線和無(wú)線設(shè)備或?qū)嶓w進(jìn)行通 信,這些實(shí)體例如是在操作上安置成與例如打印機(jī)、掃描儀、臺(tái)式和/或便攜式計(jì)算機(jī)、個(gè) 人數(shù)字助理(PDA)、通信衛(wèi)星、任何一件與無(wú)線可檢測(cè)標(biāo)簽相關(guān)聯(lián)的設(shè)備或位置(例如,電 話亭、報(bào)亭、休息室)以及電話進(jìn)行無(wú)線通信(例如,IEEE 802. 11空中調(diào)制技術(shù))的無(wú)線設(shè) 備。這至少包括Wi-Fi (即無(wú)線保真)、WiMax和藍(lán)牙 無(wú)線技術(shù)。由此,通信可以如對(duì)于常 規(guī)網(wǎng)絡(luò)那樣是預(yù)定義結(jié)構(gòu),或者僅僅是至少兩個(gè)設(shè)備之間的自組織(ad hoc)通信。Wi-Fi 網(wǎng)絡(luò)使用稱為IEEE 802. llx(a、b、g等等)的無(wú)線電技術(shù)來(lái)提供安全、可靠、快速的無(wú)線連 接。Wi-Fi網(wǎng)絡(luò)可用于將計(jì)算機(jī)彼此連接、連接到因特網(wǎng)以及連接到有線網(wǎng)絡(luò)(使用IEEE 802. 3相關(guān)介質(zhì)和功能)。上面描述的包括所公開(kāi)的體系結(jié)構(gòu)的各示例。當(dāng)然,描述每一個(gè)可以想到的組件 和/或方法的組合是不可能的,但本領(lǐng)域內(nèi)的普通技術(shù)人員應(yīng)該認(rèn)識(shí)到,許多其他組合和 排列都是可能的。因此,該新穎體系結(jié)構(gòu)旨在涵蓋所有這些落入所附權(quán)利要求書(shū)的精神和 范圍內(nèi)的更改、修改和變化。此外,就在說(shuō)明書(shū)或權(quán)利要求書(shū)中使用術(shù)語(yǔ)“包括”而言,這一 術(shù)語(yǔ)旨在以與術(shù)語(yǔ)“包含”在被用作權(quán)利要求書(shū)中的過(guò)渡詞時(shí)所解釋的相似的方式為包含 性的。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的界面生成系統(tǒng)(100),包括用于創(chuàng)建元數(shù)據(jù)和實(shí)體關(guān)聯(lián)的元數(shù)據(jù)組件(102);用于基于所述元數(shù)據(jù)自動(dòng)創(chuàng)建用戶界面并在用戶界面內(nèi)呈現(xiàn)實(shí)體的引擎組件(110)。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述引擎組件進(jìn)一步考慮所述用戶界面要 在其中呈現(xiàn)所述用戶界面的設(shè)備的設(shè)備特征。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述設(shè)備特征包括所述設(shè)備上能夠用于查 看所述用戶界面的區(qū)域。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述引擎組件展示用于生成所述用戶界面 的實(shí)體類型和實(shí)體實(shí)例,并使用實(shí)體實(shí)例來(lái)填充所述用戶界面。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述引擎組件促進(jìn)與實(shí)體的用戶交互,包括 可視化、編輯以及驗(yàn)證。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述元數(shù)據(jù)組件和所述引擎組件是行業(yè)應(yīng) 用的一部分,所述元數(shù)據(jù)組件和所述引擎組件促進(jìn)動(dòng)態(tài)生成的隨機(jī)商業(yè)實(shí)體的處理。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,使用重要性元數(shù)據(jù)和組元數(shù)據(jù),并基于所述 用戶界面的設(shè)備查看者的可用區(qū)域,在所述用戶界面中呈現(xiàn)所述實(shí)體。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述元數(shù)據(jù)組件將定義較不重要性的重要 性元數(shù)據(jù)與較不重要的實(shí)體屬性關(guān)聯(lián),并且所述引擎組件基于重要性元數(shù)據(jù)從用戶界面的 視圖中隱藏較不重要的實(shí)體屬性,并使得已隱藏的較不重要的實(shí)體屬性通過(guò)可選擇的鏈接 可見(jiàn)。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述引擎組件展示用于所述用戶界面的生 成的實(shí)體類型、或用于生成所述用戶界面的實(shí)體實(shí)例,并使用實(shí)體實(shí)例來(lái)填充所述用戶界
10.一種用于生成界面的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括將元數(shù)據(jù)與實(shí)體關(guān)聯(lián)(1000);以及基于所述元數(shù)據(jù)和設(shè)備的可查看區(qū)域,為所述設(shè)備自動(dòng)創(chuàng)建用于實(shí)體的表示的用戶界 面(1002)。
11.如權(quán)利要求10所述的方法,其特征在于,進(jìn)一步包括基于所述元數(shù)據(jù)對(duì)實(shí)體屬性 進(jìn)行分組。
12.如權(quán)利要求10所述的方法,其特征在于,進(jìn)一步包括基于所述設(shè)備的所述可查看 區(qū)域選擇實(shí)體的布局。
13.如權(quán)利要求10所述的方法,其特征在于,進(jìn)一步包括基于重要性元數(shù)據(jù)對(duì)所述實(shí) 體按垂直地或水平地中的至少之一進(jìn)行排序。
14.如權(quán)利要求10所述的方法,其特征在于,進(jìn)一步包括基于使用元數(shù)據(jù)重新解釋傳 送到實(shí)體的數(shù)據(jù)。
15.如權(quán)利要求10所述的方法,其特征在于,進(jìn)一步包括相對(duì)于重要性閾值來(lái)忽視具 有屬性元數(shù)據(jù)的實(shí)體。
全文摘要
本發(fā)明公開(kāi)了實(shí)體交互的自動(dòng)用戶界面生成。架構(gòu)通過(guò)提供自動(dòng)地創(chuàng)建應(yīng)用用戶界面(UI)的片斷的引擎,允許開(kāi)發(fā)者更快地創(chuàng)建應(yīng)用。引擎能將實(shí)體或任何實(shí)體類型的實(shí)例作為輸入,創(chuàng)建一允許應(yīng)用用戶查看并修改實(shí)體的UI作為輸出。架構(gòu)也促進(jìn)了元數(shù)據(jù)和源實(shí)體的關(guān)聯(lián)來(lái)引導(dǎo)引擎決定;諸如以下決定,引擎選擇哪些UI控件來(lái)表示實(shí)體屬性,向?qū)嶓w提供了多少“區(qū)域”(UI空間),以及如何放置實(shí)體屬性。此外,應(yīng)用允許用戶與已知的實(shí)體類型進(jìn)行交互,但也允許與在應(yīng)用設(shè)計(jì)時(shí)所未知的類型進(jìn)行交互。換句話說(shuō),應(yīng)用(例如,行業(yè))能夠處理動(dòng)態(tài)生成的隨機(jī)實(shí)體。
文檔編號(hào)G06F3/048GK102105862SQ200980130468
公開(kāi)日2011年6月22日 申請(qǐng)日期2009年7月16日 優(yōu)先權(quán)日2008年7月28日
發(fā)明者R·L·F·布里德 申請(qǐng)人:微軟公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1