專利名稱:一種屬性頁的動態(tài)生成方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種Visual Integrator中基于Eclipse的動態(tài)屬性 頁技術(shù),具體為一種屬性頁的動態(tài)生成方法及裝置。
背景技術(shù):
開發(fā)Eclipse插件時,經(jīng)常會使用屬性頁視圖來描述選中對象的 詳細(xì)信息,但Eclipse只提供了最簡單的表格式輸入界面。
Eclipse本身的屬性頁視圖是非常簡單的,沒有相應(yīng)的布局,對 用戶的輸入也沒有提供提示幫助和校驗的功能。在具體插件產(chǎn)品的實 際開發(fā)中,往往不能滿足用戶對輸入界面的要求。
Eclipse提供了一個插件運行的平臺,方便的插件安裝和更新機 制,使之逐漸成為各大公司融合自身開發(fā)工具的一個平臺。
屬性頁視圖是Eclipse插件開發(fā)中最常使用的擴展之一,為了進(jìn) 行屬性的輸入,Eclipse提供了兩種實現(xiàn)方式 ■簡單實現(xiàn)方式
實現(xiàn)簡單,但展示效果很難讓人滿意。 ■ Tabbed實現(xiàn)方式
展示效果由開發(fā)人員決定,但實現(xiàn)的代價十分高昂,要求開發(fā)人 員不但要為每個具體的tabbed頁提供實現(xiàn)類,還要在plug in. xml中 提供引用的聲明。
雖然在tabbed頁實現(xiàn)在理論上可以共享,^f旦tabbed頁一般都代 表了多個屬性控件的集成,粒度過大,在實際使用過程中一般無法共 享。
發(fā)明內(nèi)容
本發(fā)明的目的就是針對上述的不足,提供了一種將展示效果和實 現(xiàn)難度兩方面4斤中的基于Eclipse的屬性頁動態(tài)生成方法。 一種屬性頁的動態(tài)生成方法,包括如下步驟
1 ) XML解析器讀取xml的模型文件,并對其進(jìn)行解析,形成系統(tǒng) 內(nèi)部的數(shù)據(jù)結(jié)構(gòu)即模型元信息;
2) 元模型解析器將上述讀取的模型元信息填充到模型層,初始化 構(gòu)件元信息,形成構(gòu)件元模型列表;
3) 利用Eclipse的才#4牛4支術(shù),通過實J見IPropertySource方法才廣 展eclipse的屬性頁,Eclipse本身就是支持插件開發(fā),提供各式接口, IPropertySource就是其提供的接口 ; Eel ipse本身就是支持插件 開發(fā),提供各式接口, IPropertySource就是其提供擴展屬性頁的接 口,通過實現(xiàn)本步驟來擴展eclipse的屬性頁;
4) 用戶拖拽一個構(gòu)件至編排視圖,構(gòu)件獲得焦點,觸發(fā)顯示該構(gòu) 件的屬性頁;
5) 控件映射裝置從模型層中獲取構(gòu)件元信息,并將元信息的控件 信息與控件庫中的控件——映射,并實例化其對應(yīng)控件;
6) 控件組裝裝置遍歷構(gòu)件信息,將元信息分類放到List中;
7) 控件組裝模塊創(chuàng)建一個Group,將實例化后的控件根據(jù)布局信 息進(jìn)行組裝裝載至Group中,最后一個個Group組裝成一個Section, 一個個的Section組裝成一個Tab, —個個Tab填充到屬性頁中并展 示出來,這時顯示的是完整的構(gòu)件屬性頁面。
實現(xiàn)上述方法的裝置包括
一XML解析器,實現(xiàn)XML文檔與內(nèi)部信息的相互翻譯; 一元模型解析器,對構(gòu)建模型進(jìn)行解析和驗證,形成模型層的內(nèi) 部數(shù)據(jù)結(jié)構(gòu);
一控件映射裝置,通過對元模型的解析,模型層獲得相應(yīng)的配置 信息,從控件庫中找到相對應(yīng)的控件實體,根據(jù)配置信息,創(chuàng)建控件 實例;
一控件組裝裝置,將實例化的控件根據(jù)配置信息,形成對應(yīng)的布 局信息,將布局信息進(jìn)行組裝在屬性頁面展示;
一控件庫,定義有固定的長寬高的控件,提供簡單控件和復(fù)雜控件。
本發(fā)明提供的屬性頁的生成方法和裝置,其優(yōu)點為提供多樣化的 屬性頁展示,為用戶提供更友好,更易用的,提高代碼重用率,用戶 只要配置xml文件即可實現(xiàn)復(fù)雜布局的屬性頁,若是不滿意當(dāng)前布局, 修改xml配置文件即可改變布局方式,真正的實現(xiàn)零^碼編程
首先本發(fā)明實現(xiàn)了 UI控件的共享。
與Tabbed的共享粒度相比,本發(fā)明不但提供了小粒度的簡單屬性 生成控件,還提供了粒度可控的復(fù)雜屬性生成控件。加上為此提供的 布局參數(shù),以及屬性關(guān)聯(lián)的條件參數(shù)。 一起提供了一個對用戶友好的 輸入界面。
共享的好處一方面是減少了重復(fù)UI代碼的編寫, 一方面也為共享 UI提供了更多的精華時間,降低了 BUG出現(xiàn)的機率,即使出現(xiàn)了 Bug,修改起來也會更快更統(tǒng)一。
其次本發(fā)明實現(xiàn)了與原有Eclipse實現(xiàn)方式的兼容。 與原Eclipse的Tabbed屬性頁相兼容,也提供了將為其加入校驗
框架的接口,實現(xiàn)了與傳統(tǒng)方式的融合。
兼容給開發(fā)人員提供了選擇,他/她可以選擇不做修改繼續(xù)原有方
式,也可以選擇做少量修改,為原有Eclipse實現(xiàn)方式提供校驗功能。
圖l是本發(fā)明實施例的流程圖。
圖2是本發(fā)明實施例的結(jié)構(gòu)原理圖。 .
具體實施例方式
下面以非限定性的實施方式對本發(fā)明做進(jìn)一步解釋、i兌明。
本發(fā)明的核心是基于Eclipse實現(xiàn)的屬性頁動態(tài)生成方法和裝 置,Eclipse提供了一個插件運行的平臺,方便的插件安裝和更新機 制,使之逐漸成為各大公司融合自身開發(fā)工具的一個平臺。
如圖l所示,是一種屬性頁的動態(tài)生成方法,該方法首先開始于 步驟IOI, XML解析器讀取xml的模型文件,并對其進(jìn)行解析,形成系 統(tǒng)內(nèi)部的數(shù)據(jù)結(jié)構(gòu)即模型元信息。
然后進(jìn)入步驟102,元模型解析器將上述讀取的模型元信息填充 到模型層。
再進(jìn)入步驟103,利用 Eclipse的插件才支術(shù),通過實現(xiàn) IPropertySource的方法擴展Eclipse的屬性頁。Eclipse本身就是支 持插件開發(fā),提供各式接口, IPropertySource就是其提供擴展屬性 頁的4妄口 ,通過實現(xiàn)本步驟來擴展eclipse的屬性頁。
然后再開始步驟104和105,用戶拖拽一個構(gòu)件至編排視圖,構(gòu) 件獲得焦點。
再進(jìn)入步驟106,控件映射模塊從模型層中獲取構(gòu)件元信息,并 將元信息的控件信息與控件庫中的控件——映射,并實例化其對應(yīng)控件。
然后再進(jìn)入步驟107,控件組裝模塊遍歷構(gòu)件信息,將元信息分 類放到List中??丶M裝模塊創(chuàng)建一個Group,將實例化后的控件根 據(jù)布局信息進(jìn)行組裝裝載至Group中,最后一個個Group組裝成一個 Section,—個個的Section組裝成一個Tab, —個個Tab填充到屬性
頁中并展示出來。
由于整個過程是程序根據(jù)XML配置文件自行判斷布局并自行對控
5件進(jìn)行組裝形成完整的屬性頁面,所以隨時可以對XML配置文件進(jìn)行 寸務(wù)改,形成新布局方式的屬性頁面。
圖2是一種屬性頁的動態(tài)生成裝置,包括一XML解析器,實現(xiàn)XML 文檔與內(nèi)部信息的相互翻譯;
,一元模型解析器,對構(gòu)建模型進(jìn)行解析和驗證,形成模型層的內(nèi) 部數(shù)據(jù)結(jié)構(gòu);
一控件映射裝置,通過對元模型的解析,模型層獲得相應(yīng)的配置 信息,從控件庫中找到相對應(yīng)的控件實體,根據(jù)配置信息,創(chuàng)建控件 實例;
一控件組裝裝置,將實例化的控件根據(jù)配置信息,形成對應(yīng)的布 局信息,將布局信息進(jìn)行組裝在屬性頁面展示;
一控件庫,定義有固定的長寬高的控件,提供簡單控件和復(fù)雜控件。
權(quán)利要求
1.一種屬性頁的動態(tài)生成方法,其特征在于包括如下步驟1)XML解析器讀取xml的模型文件并進(jìn)行解析,形成內(nèi)部的數(shù)據(jù)結(jié)構(gòu)即模型元數(shù)據(jù)信息;2)元模型解析器將上述讀取的模型元信息填充到模型層;3)通過實現(xiàn)IPropertySource方法擴展eclipse的屬性頁;4)用戶從構(gòu)件元模型列表中拖拽一個構(gòu)件至編排視圖,構(gòu)件獲得焦點;5)控件映射裝置從模型層中獲取構(gòu)件元信息,并將元信息的控件信息與控件庫中的控件一一映射,并實例化其對應(yīng)控件;6)控件組裝裝置遍歷構(gòu)件信息,將元信息分類放到List中;7)控件組裝裝置創(chuàng)建一個Group,將實例化后的控件根據(jù)布局信息進(jìn)行組裝裝載至Group中,最后一個個Group組裝成一個Section,一個個的Section組裝成一個Tab,一個個Tab填充到屬性頁中并展示出來。
2. 實現(xiàn)權(quán)利要求1所述的方法的裝置,其特征在于包括 一 XML解析器,實現(xiàn)XML文檔與內(nèi)部數(shù)據(jù)結(jié)構(gòu)的相互翻譯; 一元模型解析器,對構(gòu)建模型進(jìn)行解析和驗證,形成模型層的內(nèi)部數(shù)據(jù)結(jié)構(gòu);一控件映射裝置,從模型層中獲得構(gòu)件元信息,將元信息中的控 件信息與控件庫的實體——映射,并將其實例化;一控件組裝裝置,將實例化的控件根據(jù)配置信息,形成對應(yīng)的布 局信息,將布局信息進(jìn)行組裝在屬性頁面展示;一控件庫,定義有固定的長寬高的控件,提供簡單控件和復(fù)雜控件。
全文摘要
一種屬性頁的動態(tài)生成方法及裝置,涉及一種Visual Integrator中基于Eclipse的動態(tài)屬性頁技術(shù),包括一XML解析器,實現(xiàn)XML文檔與內(nèi)部信息的相互翻譯;一元模型解析器,對構(gòu)建模型進(jìn)行解析和驗證,形成模型層的內(nèi)部數(shù)據(jù)結(jié)構(gòu);一控件映射裝置,通過對元模型的解析,模型層獲得相應(yīng)的配置信息,從控件庫中找到相對應(yīng)的控件實體,根據(jù)配置信息,創(chuàng)建控件實例;一控件組裝裝置,將實例化的控件根據(jù)配置信息,形成對應(yīng)的布局信息,將布局信息進(jìn)行組裝在屬性頁面展示;一控件庫,定義有固定的長寬高的控件,提供簡單控件和復(fù)雜控件。
文檔編號G06F9/44GK101645006SQ20091001820
公開日2010年2月10日 申請日期2009年8月25日 優(yōu)先權(quán)日2009年8月25日
發(fā)明者毅 戴, 欣 童, 雷玉玲 申請人:山東中創(chuàng)軟件商用中間件股份有限公司