專利名稱:應用程序的圖形用戶界面呈現方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明是有關于計算機技術,且特別有關于應用程序的圖形用戶界面呈現方法。
背景技術:
在程序設計過程中,圖形用戶界面(Graphical userinterface,簡稱GUI)通常是利用呼叫操作系統(tǒng)提供的應用程序界面(Application Program Interface,簡稱API)來實現,且通常需要結合多國語言的輔助文字。目前結合GUI的程序幾乎都是將GUI的屬性、多國語言的輔助文字與程序本身結合在一起。這樣不但會影響程序的執(zhí)行效率,使程序本身的可讀性降低,且難以維護。舉例來說,一旦程序完成編譯后,任何GUI或多國語言輔助文字的修改皆需重新編譯程序本身,因此非常不便。另外,不同操作系統(tǒng)提供的API各不相同,適用于一操作系統(tǒng)的GUI程序代碼不一定適用于另一操作系統(tǒng)。因此程序的設計者需學習不同的API來重新設計GUI。
發(fā)明內容
有鑒于此,本發(fā)明的目的在提供應用程序的圖形用戶界面呈現方法及系統(tǒng)。
基于上述目的,本發(fā)明提供一種應用程序的圖形用戶界面呈現方法,執(zhí)行于一嵌入式系統(tǒng)中。上述嵌入式系統(tǒng)包含一顯示器、控制上述顯示器的一驅動單元、一應用程序、一分析器、一描述文件及一可攜式層,上述可攜式層提供不同顯示器驅動單元的一標準控制界面。執(zhí)行上述應用程序,其中上述應用程序具有一圖形用戶界面。由上述應用程序啟動一分析器,用以分析一描述文件。上述描述文件用以描述上述圖形用戶界面的多個界面元件的屬性。由上述分析器分析上述描述文件以產生上述多個界面元件的屬性。產生的上述多個界面元件的屬性儲存于一數據結構中。當一界面元件要被顯示時,由上述應用程序根據上述數據結構中上述界面元件的屬性,產生符合上述標準控制界面的用以呈現上述界面元件的一第一指令。由上述可攜式層根據上述第一指令產生符合上述驅動單元所需的格式的一第二指令。上述驅動單元接收上述第二指令后,根據上述第二指令及上述界面元件的屬性將上述界面元件顯示于上述顯示器。
本發(fā)明所述的應用程序的圖形用戶界面呈現方法,上述數據結構為樹狀數據結構。
本發(fā)明所述的應用程序的圖形用戶界面呈現方法,上述描述文件符合可延伸標記語言。
本發(fā)明所述的應用程序的圖形用戶界面呈現方法,上述嵌入式系統(tǒng)中更包含一語言文件,包含上述界面元件的文字內容,上述分析器更分析上述語言文件。
本發(fā)明所述的應用程序的圖形用戶界面呈現方法,上述描述文件包含上述界面元件的預設文字內容,上述語言文件的上述文字內容用以取代其對應的上述預設文字內容,其中上述描述文件及上述語言文件記錄上述多個界面元件其中每一個的文字內容及預設文字內容的對應信息。
本發(fā)明所述的應用程序的圖形用戶界面呈現方法,上述語言文件的上述文字內容與上述預設文字內容屬不同國別語言。
本發(fā)明還提供一種嵌入式系統(tǒng),包含一顯示器、用以控制上述顯示器的一驅動單元、一應用程序、一描述文件及一分析器。上述應用程序具有一圖形用戶界面,并啟動上述分析器。上述描述文件用以描述上述圖形用戶界面的多個界面元件的屬性。上述分析器用以分析一描述文件以產生上述多個界面元件的屬性,其中產生的上述多個界面元件的屬性儲存于一數據結構中,當一界面元件要被顯示時,由上述應用程序根據上述數據結構中上述界面元件的屬性,產生符合一標準控制界面的用以呈現上述界面元件的一第一指令。上述可攜式層提供不同顯示器驅動單元的上述標準控制界面,根據上述第一指令產生符合上述驅動單元所需的格式的一第二指令,其中上述驅動單元在接收上述第二指令后,根據上述第二指令及上述界面元件的屬性將上述界面元件顯示于上述顯示器。
本發(fā)明所述的嵌入式系統(tǒng),上述數據結構為樹狀數據結構。
本發(fā)明所述的嵌入式系統(tǒng),上述描述文件符合可延伸標記語言。
本發(fā)明所述的嵌入式系統(tǒng),上述嵌入式系統(tǒng)中更包含一語言文件,包含上述界面元件的文字內容,上述分析器更分析上述語言文件。
本發(fā)明所述的嵌入式系統(tǒng),上述描述文件包含上述界面元件的預設文字內容,上述語言文件的上述文字內容用以取代其對應的上述預設文字內容,其中上述描述文件及上述語言文件記錄上述多個界面元件其中每一個的文字內容及預設文字內容的對應信息。
本發(fā)明所述的嵌入式系統(tǒng),上述語言文件的上述文字內容與上述預設文字內容屬不同國別語言。
本發(fā)明所述應用程序的圖形用戶界面呈現方法及系統(tǒng),當界面元件配置有變化時,可以修改描述文件而不需重新編譯應用程序。當應用程序程序執(zhí)行于不同規(guī)格的嵌入式系統(tǒng)時,可以修改可攜式層而不需重新編譯應用程序。
圖1顯示一嵌入式系統(tǒng)實施例結構方塊圖;圖2顯示應用程序的圖形用戶界面呈現方法實施例流程圖;圖3顯示一描述文件實施例;圖4顯示一語言文件實施例;圖5顯示根據圖3的描述文件及圖4的語言文件的屬性顯示于顯示器的界面元件實施例示意圖;圖6顯示一描述文件實施例;圖7顯示一語言文件實施例;圖8顯示根據圖6的描述文件及圖7的語言文件的屬性顯示于顯示器的界面元件實施例示意圖。
具體實施例方式
以下提供應用程序的圖形用戶界面(Graphical userinterface,簡稱GUI)呈現方法,執(zhí)行于一嵌入式系統(tǒng)中,例如手機、個人數字助理(Personal Digital Assistant,簡稱PDA)、或游戲機(video game console)。
在圖1中,一種應用程序的圖形用戶界面呈現方法,執(zhí)行于嵌入式系統(tǒng)10中??蓴y式層2、控制顯示器5的驅動單元3、及分析器9可以由計算機程序或電路實作。應用程序12包含GUI11,可以在不同情況下產生GUI 11其中的多個界面元件??梢酝高^此多個界面元件操作應用程序12。產生界面元件的機制將說明于下。
描述文件6及語言文件7為獨立于應用程序12之外的二個文件,可以符合可延伸標記語言(Extensible Markup Language,簡稱XML)或其它格式,且可以由分析器9分析。描述文件6用以描述GUI 11的多個界面元件的屬性。可攜式層2提供不同顯示器驅動單元的一標準控制界面。
參照圖2,嵌入式系統(tǒng)10一處理器執(zhí)行上述應用程序12,如步驟S2所示。
由應用程序12注冊必要的回呼函數(callback function)供分析器9在必要時呼叫,并啟動分析器9,如步驟S4所示。
分析器9分析描述文件6以產生上述多個界面元件的屬性,如步驟S8所示。上述多個界面元件的屬性儲存于數據結構8中,例如樹狀數據結構。描述文件6包含上述多個界面元件的預設文字內容,如圖3中卷標所包圍的文字“Country”、“China”、“Japan”、“U.S.”、“Ok”及“Cancel”。語言文件7包含用以取代上述預設文字內容的文字內容,依序如圖4中卷標所包圍的文字“國家”、“中國”、“日本”、“美國”、“確定”及“取消”。語言文件7的上述文字內容與上述預設文字內容可以屬不同語言。
參照圖3及圖4,其中是以XML的規(guī)范來做描述的描述文件及語言文件。所有使用的標簽是事先定義的。第L9列的<meta>標簽是描述文件的共享屬性。舉例來說,[charset=“UTF-8”],代表此描述文件是以八位通用轉換格式(UniversalTransformation Format 8bit,簡稱UTF-8)編碼。[lang-src=“Chinese.lang”]代表引用Chinese.lang語言描述文件的內容,列于圖4。第L10列定義描述文件中除有個別定義的界面元件之外,所有文字的字型、大小、顏色將按照第L10列的定義。第L12列的<display>卷標用以描述界面元件的屬性。舉例來說,配置屬性中[xBeg=“50”yBeg=“50”xEnd=“100”yEnd=“100”]用以描述界面元件的范圍坐標,可以是絕對坐標或相對坐標。<text>、<select>、及<button>分別用以描述文字、選單、及按鍵的界面元件,其中可具有配置屬性的描述。例如<text>標簽中有[xBeg=“10”yBeg=“10”]等屬性;<select>標簽中有[style=“3”maxlist=“3”]等屬性,分別用以描述選單的樣式及選項數。圖4的語言文件中,<language>卷標用以標示語言的國別。
分析器9判斷是否要加載語言文件7,如步驟S10所示。如是,則分析器9解析語言文件7,如步驟S12所示,將解析所得的文字內容取代上述預設文字內容,如步驟S14所示。舉例來說,根據圖3的描述文件及圖4的語言文件中[id]屬性,分析器9可以在語言文件7中找到用以取代描述文件6的預設文字內容的其它國別語言文字內容。如否,則分析器9解析語言文件7,如步驟S11所示,并繼續(xù)解析描述文件6。當解析操作已結束時,分析器9儲存描述文件6及語言文件7的分析結果于數據結構8,并且可以呼叫先注冊的回呼函數以提供所需數據及初始化界面元件,如步驟S20所示。舉例來說,圖5的選單U2的屬性由圖3的第L14-L18列及圖4的第L24-L29列描述,并記錄于數據結構8的屬性81中。
當應用程序12的一界面元件(例如圖5的選單U2)要被顯示時,由應用程序12根據數據結構8中上述界面元件的屬性(例如對應圖3的第L14-L18列及圖4的第L24-L29列的屬性81),產生符合上述標準控制界面且用以呈現上述界面元件的一第一指令,如步驟S22所示。
由可攜式層2根據上述第一指令產生符合驅動單元3所需的格式的一第二指令,如步驟S24所示??蓴y式層2提供不同顯示器驅動單元的一標準控制界面,使得應用程序12呈現GUI 11的程序代碼能適用于不同顯示器驅動單元。
驅動單元3接收上述第二指令后,根據上述第二指令及上述界面元件(例如圖5的選單U2)的屬性(例如屬性81)將上述界面元件顯示于顯示器5,如步驟S26所示。
圖5顯示根據圖3的描述文件及圖4的語言文件的屬性顯示于顯示器5的界面元件。文字界面元件U1對應圖3的描述文件及圖4的語言文件中[id]屬性同為“country”的<text>標簽(第L13列及第L24列),其預設的文字內容已經由“Country”取代為“國家”。界面元件U1-U4分別為文字、選單及二按鍵,其配置屬性取決于對應的標簽(第L13-L20列),其文字內容則由對應卷標的文字內容取代(第L24-L31列)。
由于國別的不同,界面元件的配置也可以相對的變化,而不需重新編譯應用程序12。圖3的描述文件修改成圖6的描述。圖8顯示根據圖6的描述文件及圖7的語言文件的屬性顯示于顯示器5的界面元件。圖6的描述文件第L33中[lang-src=“English.lang”]代表引用English.lang語言描述文件的內容,列于圖7。界面元件U5-U8的配置屬性取決于其對應的標簽(第L37-L44列),其文字內容則由對應卷標的文字內容取代(第L48-L55列)。圖7的語言文件中的<select>卷標的選項(第L49-L53列)與對應的圖6的描述文件中的<select>卷標的選項(第L38-L42列)順序不同。因此,語言文件的選項及文字內容取代描述文件的選項及預設文字內容后,圖8的界面元件U6根據語言文件的選項順序呈現,且文字內容為英文。
因此,當界面元件配置有變化時,可以修改描述文件而不需重新編譯應用程序。當應用程序程序執(zhí)行于不同規(guī)格的嵌入式系統(tǒng)時,可以修改可攜式層而不需重新編譯應用程序。
以上所述僅為本發(fā)明較佳實施例,然其并非用以限定本發(fā)明的范圍,任何熟悉本項技術的人員,在不脫離本發(fā)明的精神和范圍內,可在此基礎上做進一步的改進和變化,因此本發(fā)明的保護范圍當以本申請的權利要求書所界定的范圍為準。
附圖中符號的簡單說明如下2可攜式層
3驅動單元5控制顯示器6描述文件7語言文件8數據結構9分析器10嵌入式系統(tǒng)11GUI12應用程序81屬性U1-U8界面元件
權利要求
1.一種應用程序的圖形用戶界面呈現方法,其特征在于所述應用程序的圖形用戶界面呈現方法執(zhí)行于一嵌入式系統(tǒng)中,上述嵌入式系統(tǒng)包含一顯示器、控制上述顯示器的一驅動單元、一應用程序、一分析器、一描述文件及一可攜式層,上述可攜式層提供不同顯示器驅動單元的一標準控制界面,包含執(zhí)行上述應用程序,其中上述應用程序具有一圖形用戶界面;由上述應用程序啟動一分析器,用以分析一描述文件,其中上述描述文件用以描述上述圖形用戶界面的多個界面元件的屬性;由上述分析器分析上述描述文件以產生上述多個界面元件的屬性,其中產生的上述多個界面元件的屬性儲存于一數據結構中;當一界面元件要被顯示時,由上述應用程序根據上述數據結構中上述界面元件的屬性,產生符合上述標準控制界面的用以呈現上述界面元件的一第一指令;由上述可攜式層根據上述第一指令產生符合上述驅動單元所需的格式的一第二指令;以及上述驅動單元接收上述第二指令后,根據上述第二指令及上述界面元件的屬性將上述界面元件顯示于上述顯示器。
2.根據權利要求1所述的應用程序的圖形用戶界面呈現方法,其特征在于上述數據結構為樹狀數據結構。
3.根據權利要求1所述的應用程序的圖形用戶界面呈現方法,其特征在于上述描述文件符合可延伸標記語言。
4.根據權利要求1所述的應用程序的圖形用戶界面呈現方法,其特征在于上述嵌入式系統(tǒng)中更包含一語言文件,包含上述界面元件的文字內容,上述分析器更分析上述語言文件。
5.根據權利要求4所述的應用程序的圖形用戶界面呈現方法,其特征在于上述描述文件包含上述界面元件的預設文字內容,上述語言文件的上述文字內容用以取代其對應的上述預設文字內容,其中上述描述文件及上述語言文件記錄上述多個界面元件其中每一個的文字內容及預設文字內容的對應信息。
6.根據權利要求4所述的應用程序的圖形用戶界面呈現方法,其特征在于上述語言文件的上述文字內容與上述預設文字內容屬不同國別語言。
7.一種嵌入式系統(tǒng),其特征在于所述嵌入式系統(tǒng)包含一顯示器;一驅動單元,用以控制上述顯示器;一應用程序,具有一圖形用戶界面;一描述文件,用以描述上述圖形用戶界面的多個界面元件的屬性;一分析器,由上述應用程序啟動,用以分析一描述文件以產生上述多個界面元件的屬性,其中產生的上述多個界面元件的屬性儲存于一數據結構中,當一界面元件要被顯示時,由上述應用程序根據上述數據結構中上述界面元件的屬性,產生符合一標準控制界面的用以呈現上述界面元件的一第一指令;以及一可攜式層,提供不同顯示器驅動單元的上述標準控制界面,根據上述第一指令產生符合上述驅動單元所需的格式的一第二指令,其中上述驅動單元在接收上述第二指令后,根據上述第二指令及上述界面元件的屬性將上述界面元件顯示于上述顯示器。
8.根據權利要求7所述的嵌入式系統(tǒng),其特征在于上述數據結構為樹狀數據結構。
9.根據權利要求7所述的嵌入式系統(tǒng),其特征在于上述描述文件符合可延伸標記語言。
10.根據權利要求7所述的嵌入式系統(tǒng),其特征在于上述嵌入式系統(tǒng)中更包含一語言文件,包含上述界面元件的文字內容,上述分析器更分析上述語言文件。
11.根據權利要求10所述的嵌入式系統(tǒng),其特征在于上述描述文件包含上述界面元件的預設文字內容,上述語言文件的上述文字內容用以取代其對應的上述預設文字內容,其中上述描述文件及上述語言文件記錄上述多個界面元件其中每一個的文字內容及預設文字內容的對應信息。
12.根據權利要求11所述的嵌入式系統(tǒng),其特征在于上述語言文件的上述文字內容與上述預設文字內容屬不同國別語言。
全文摘要
本發(fā)明提供一種應用程序的圖形用戶界面呈現方法及系統(tǒng),所述應用程序的圖形用戶界面呈現方法,首先執(zhí)行上述應用程序,其中上述應用程序具有一圖形用戶界面。由上述應用程序啟動一分析器,用以分析一描述文件。上述描述文件用以描述上述圖形用戶界面的多個界面元件的屬性。由上述分析器分析上述描述文件以產生上述多個界面元件的屬性并儲存于一數據結構中。當一界面元件要被顯示時,由上述應用程序根據上述數據結構中上述界面元件的屬性,透過不同顯示器驅動單元的一標準控制界面將上述界面元件顯示于一上述顯示器。
文檔編號G06F9/44GK1945526SQ20051010802
公開日2007年4月11日 申請日期2005年10月9日 優(yōu)先權日2005年10月9日
發(fā)明者許博盛 申請人:光寶科技股份有限公司