專利名稱:一種配置可執(zhí)行程序運行界面的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種可執(zhí)行程序運行界面的配置 方法。
背景技術(shù):
使開發(fā)人員或者最終用戶可以在不修改可執(zhí)行程序的情況下,改變其運行界 面的外觀和功能。所述文本文件稱為界面配置文件。界面配置文件由至少一 個界面控件組成,每個界面控件用于對可執(zhí)行程序運行界面的外觀或功能進 行某一方面的配置。所述可執(zhí)行程序,是指源代碼文件經(jīng)過編譯器編譯后生 成的可以直接運行的文件。由于在通常情況下難以對可執(zhí)行程序進行直接修 改,所述運行界面的配置方法主要用于大規(guī)模的軟件界面開發(fā)中,實現(xiàn)將界 面控件的配置與程序邏輯功能分離,為開發(fā)人員提供快速和可靠的運行界面 的配置或修改方式。
在運行界面配置中,經(jīng)常遇到大量界面控件中具有彼此相同配置數(shù)據(jù)的 情況。將在不同界面控件中出現(xiàn)的彼此相同的配置數(shù)據(jù)稱為可復用配置數(shù) 據(jù)??梢灶A先定義可復用配置數(shù)據(jù)以及相應(yīng)的標識,當界面控件中需要使用 可復用配置數(shù)據(jù)時,只要使用該可復用配置數(shù)據(jù)的標識,就可以調(diào)用相應(yīng)的 可復用配置數(shù)據(jù)。
但是,現(xiàn)有技術(shù)的可復用配置數(shù)據(jù)是不可變的,引用可復用配置數(shù)據(jù)的 界面控件不能對可復用配置數(shù)據(jù)中的內(nèi)容進行修改。如果兩個界面控件中只 有少許屬性不同,也必須要重新編寫配置數(shù)據(jù)。
孩i軟公司最新的界面配置方法稱為XAML(extensible ApplicationMarkup Language) 4支術(shù),基于.Net Framework 3.0 的 WPF(Windows Presentation Foundation)4支術(shù)。它的配置文^N吏用風格(Style)和才莫4反 (Template)來實現(xiàn)可復用配置數(shù)據(jù)。下面的文本數(shù)據(jù)節(jié)選自微軟的 一個 Linq示例程序,這個程序的界面配置文件里大量重復配置畫刷屬性,實際上 這些畫刷中有兩個顏色值是需要修改的。
<TabControl. Background)
化ineaxGraciientBrush EndPoint="l, 0. 5" StartPoint O, 0. 5〃〉 〈GradientStop Color二〃ttFF000000〃 0ffset=〃07〉 〈GradientStop Color二〃ttFFF5F5F5〃 Offset=T/〉 </LineaxGradientBrush> </TabControl. Bsckground〉 <TabControl. Foreground〉
化inearGradientBrush EndPoint=〃l, 0. 5" StartPoint二"O, 0. 5〃〉 〈GradientStop Color二〃ttFF000000〃 Offset二〃0〃/〉 〈GradientStop Color二〃ftFFFDFDFD〃 Offset=T/〉 </LinearGradientBrush〉 〈/TabContro1. Foreground〉
以上背景界面控制(TabControl Background )控件和前景界面控制 (TabControl Foreground )控件中均需要定義線性梯度畫筆 (LinearGradientBmsh ),而只有其中第二個梯度終點顏色是不同的(即下 劃線的部分)。可以看出,當文件中有大量此類屬性需要配置的時候,整個 配置文件會變得非常龐大。而由于這些對象的屬性數(shù)值并不完全相同,所以 在XAML中并不能采用可復用配置數(shù)據(jù)簡化配置文件。更讓開發(fā)人員感到 不便的是,如果想修改已有配置文件的數(shù)據(jù),必須要把相關(guān)的上層數(shù)據(jù)都寫 出來,這嚴重提高了修改數(shù)據(jù)的復雜度。如果需要改動的內(nèi)容在很深層的節(jié) 點里,那么書寫難度會成倍提高。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于,提出一種可執(zhí)行程序運行界面的配置方 法和裝置,可以提高配置數(shù)據(jù)的復用性,降低數(shù)據(jù)維護的難度,增強配置的
可靠性。
本發(fā)明實施例提出的配置可執(zhí)行程序運行界面的方法,預先設(shè)置可復用配置數(shù)據(jù)模塊,所述可復用配置數(shù)據(jù)模塊包括模塊標識以及所述模塊標識對應(yīng)的
可復用配置數(shù)據(jù);在所述可復用配置數(shù)據(jù)中,包括至少一個變元風格單元,所 述變元風格單元包括變元風格標識以及變元風格的默認值;該方法包括如下步 驟
A、 判斷界面控件中是否包含可復用配置數(shù)據(jù)模塊標識,若是,則執(zhí)行步 驟B,否則退出本流程;
B、 判斷所述界面控件是否包含屬于所述可復用配置數(shù)據(jù)模塊的變元風格標 識以及變元風格的當前值;若是,則執(zhí)行步驟C;
C、 將所述可復用配置數(shù)據(jù)模塊標識對應(yīng)的可復用配置數(shù)據(jù)添加到界面控件 中,并根據(jù)變元風格標識查找到可復用數(shù)據(jù)中對應(yīng)的變元風格,將所述變元風 格的默認值替換為變元風格的當前值。
若所述步驟B中的判斷結(jié)果為否,則執(zhí)行如下步驟將所述可復用配置數(shù) 據(jù);溪塊標識對應(yīng)的可復用配置數(shù)據(jù)添加到配置文件中。
本發(fā)明實施例提出的一種配置可執(zhí)行程序運行界面的裝置,包括可復用配 置數(shù)據(jù)模塊、界面控件和引用模塊;
所述可復用配置數(shù)據(jù)模塊包括預先設(shè)置的模塊標識以及所述模塊標識對應(yīng) 的可復用配置數(shù)據(jù);在所述可復用配置數(shù)據(jù)中,包括至少一個變元風格單元, 所述變元風格單元包括變元風格標識以及變元風格的默認值;
所述界面控件給出可復用配置數(shù)據(jù)模塊標識、變元風格標識和變元風格當 前值;
所述引用模塊將所述可復用配置數(shù)據(jù)模塊標識對應(yīng)的可復用配置數(shù)據(jù)模塊 中的可復用配置數(shù)據(jù)添加到界面控件中;引用模塊并根據(jù)變元風格標識查找到 可復用數(shù)據(jù)中對應(yīng)的變元風格,將所述變元風格的默認值替換為變元風格的當
前值0
從以上技術(shù)方案可以看出,根據(jù)可復用配置數(shù)據(jù)模塊標識調(diào)用預先設(shè)置 的可復用配置數(shù)據(jù),并根據(jù)變元風格標識來將可復用配置數(shù)據(jù)中的變元風格 賦予當前值,可以最大限度地復用配置數(shù)據(jù),降低數(shù)據(jù)維護的難度,增強配置的可靠性。
圖1為本發(fā)明實施例提出的用于配置可執(zhí)行程序運行界面的裝置框圖; 圖2為本發(fā)明實施例提出的配置可執(zhí)行程序運行界面的方法流程圖。
具體實施例方式
本發(fā)明方案中,將可復用的配置數(shù)據(jù)分為可變部分和不可變部分,其中 可變部分稱為變元風格,不可變的部分稱為常量風格。
圖1所示為本發(fā)明實施例提出的用于配置可執(zhí)行程序運行界面的裝置, 該裝置包括如下邏輯模塊可復用配置數(shù)據(jù)模塊101、界面控件102和引用 模塊103。
其中,可復用配置數(shù)據(jù)模塊IOI中預先設(shè)置了可復用配置數(shù)據(jù),可復用 配置數(shù)據(jù)模塊101包括模塊標識以及所述模塊標識對應(yīng)的可復用配置數(shù)據(jù)。 在所述可復用配置數(shù)據(jù)中,包括至少一個變元風格單元,所述變元風格單元 包括變元風格標識以及變元風格的默認值。
當界面控件102引用可復用配置數(shù)據(jù)模塊101時,界面控件中給出模塊 標識。則引用模塊103將所述模塊標識對應(yīng)的可復用配置數(shù)據(jù)模塊中的可復 用配置數(shù)據(jù)添加到界面控件102中。
界面控件102引用可復用配置數(shù)據(jù)模塊時,界面控件102在給出模塊標 識的同時,還可以給出變元風格標識以及變元風格的當前值。則引用才莫塊 103將所述模塊標識對應(yīng)的可復用配置數(shù)據(jù)模塊101中的可復用配置數(shù)據(jù)添 加到界面控件中,并且根據(jù)變元風格標識查找到可復用數(shù)據(jù)中對應(yīng)的變元風 格,并將所述變元風格的默認值替換為當前值。
圖2示出了本發(fā)明實施例提出的配置可執(zhí)行程序運行界面的方法流程, 包括如下步驟
步驟201:判斷界面控件中是否包含可復用配置數(shù)據(jù)模塊標識,若是,則執(zhí)行步驟202,否則退出本流程,執(zhí)行現(xiàn)有的配置可執(zhí)行程序運行界面的流程;
步驟202:判斷所述界面控件是否包含屬于所述可復用配置數(shù)據(jù)模塊的變 元風格標識以及變元風格的當前值;若是,則執(zhí)行步驟203;否則執(zhí)行步驟204;
步驟203:將所述可復用配置數(shù)據(jù)模塊標識對應(yīng)的可復用配置數(shù)據(jù)添加到 界面控件中,并根據(jù)變元風格標識查找到可復用數(shù)據(jù)中對應(yīng)的變元風格,將所 述變元風格的默認值替換為變元風格的當前值。
步驟204:將所述可復用配置數(shù)據(jù)模塊標識對應(yīng)的可復用配置數(shù)據(jù)添加到 配置文件中。其中,變元風格的默認值保持不變。
下面給出應(yīng)用本發(fā)明方案的一個具體實例??蓮陀门渲脭?shù)據(jù)模塊標識為 "brush",并且定義兩個變元風格"colorl"和"color2,,。
<style name=〃brush〃〉 〈style n柳e二〃colorl〃 value="FF0000007〉 〈style name="color2〃 value=〃FFF5F5F57〉 <value〉
<linear—gradient—brush end=〃l,0.5〃 start=〃0,0. 5〃〉 〈stop color=〃@colorl〃 offset=〃0〃/〉 <stop color=〃@color2〃 offset二〃17〉 </linear jradient_brush〉 <Zvalue〉 </style〉
在界面控件里引用該可復用配置數(shù)據(jù)模塊
<tab〉
<background〉
〈using-brush colorl=〃FF000000〃 color2二〃FFF5F5F5'7〉 〈/b已ckground〉 〈foreground〉
<using-brush colorl=〃FF000000〃 color2二〃FFFDFDFD7〉 </foreground〉 〈/tab〉
也可簡寫為
<tab>
(background-brush colorl=〃FF000000" color2=〃FFF5F5F5〃/〉 (foreground-brush colorl=〃FF000000〃 color2=〃FFFDFDFD〃/>
</tab>
下面再舉另外一個界面設(shè)置的實施例,所要實現(xiàn)功能有三個部分 1創(chuàng)建三個不同顏色的面板,分別為紅、綠、籃。 2面板上各放置一個與面板顏色相同的按鈕。
3給4要鈕設(shè)置不同的文本,分別為"Red Text"、 ""Green Text""和"Blue Text"。采用本發(fā)明方案,其引用該可復用配置數(shù)據(jù)模塊的代碼可以表述為:
<panel-frm test frm—colo產(chǎn)〃FFFF0000〃 frm—offset=〃20, 20〃 frm—text=〃Red Text7> <panel-frm—test frm—color=〃FF00FF00〃 frm—offset="20, 80〃 frm_text=〃Green Text7> <panel-frm—test frm_color FF0000FF〃 frm—offset=〃20, 140〃 frm_text=〃Blue Text7>
而如果采用現(xiàn)有的XAML技術(shù),其引用可復用數(shù)據(jù)的代碼如下
<StackPanel Style="{StaticResource CommonPanel}〃 Background="Red" Margin="20, 20, 0, 0"> <Button Style=" {StaticResource CommonButtonl " Foregrour>d="Red"〉Red Text</Button〉 </StackPanel〉
<StackPanel Style=" {StaticResource CommonPaneir' Background="Green" Margin="20, 80, 0, 0〃〉 <Button Style=" {StaticResource Co咖onButton) 〃 Foreground="GreerT>Green Text</Button〉
</StackPanel〉
<StackPanel Style {StaticResource Co咖on卩anel廠'Background=〃Blue〃 Margin=〃20, 140, 0, 0〃〉
<Button Style="{StaticResource ComraonButton}" Foreground=〃Blue">Blue Text</Button〉 </StackPanel>
可以看出,對于多層控件配置,XAML并不能很好地進行數(shù)據(jù)復用。它需 要使用者逐層寫出這些控件的配置,才能做到對"深層控件屬性"進行修改。 當控件達到三層或者更多的時候,需要重新編寫的配置數(shù)據(jù)就會非常多。而本 發(fā)明提出的配置可執(zhí)行程序運行界面的方法通過定義變元風格,可以直接在引 用配置的地方傳入變元風格的參數(shù),變元風格可以直接被深層控件的屬性所使 用,從而極大簡化了配置數(shù)據(jù)。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明 可借助軟件加必需的硬件平臺的方式來實現(xiàn),當然也可以全部通過硬件來實施, 但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案對 背景技術(shù)做出貢獻的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機 軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指 令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本 發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1、一種配置可執(zhí)行程序運行界面的方法,其特征在于,預先設(shè)置可復用配置數(shù)據(jù)模塊,所述可復用配置數(shù)據(jù)模塊包括模塊標識以及所述模塊標識對應(yīng)的可復用配置數(shù)據(jù);在所述可復用配置數(shù)據(jù)中,包括至少一個變元風格單元,所述變元風格單元包括變元風格標識以及變元風格的默認值;該方法包括如下步驟A、判斷界面控件中是否包含可復用配置數(shù)據(jù)模塊標識,若是,則執(zhí)行步驟B,否則退出本流程;B、判斷所述界面控件是否包含屬于所述可復用配置數(shù)據(jù)模塊的變元風格標識以及變元風格的當前值;若是,則執(zhí)行步驟C;C、將所述可復用配置數(shù)據(jù)模塊標識對應(yīng)的可復用配置數(shù)據(jù)添加到界面控件中,并根據(jù)變元風格標識查找到可復用數(shù)據(jù)中對應(yīng)的變元風格,將所述變元風格的默認值替換為變元風格的當前值。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B中的判斷結(jié)果為 否,則執(zhí)行如下步驟將所述可復用配置數(shù)據(jù)模塊標識對應(yīng)的可復用配置數(shù)據(jù) 添加到配置文件中。
3、 一種配置可執(zhí)行程序運行界面的裝置,其特征在于,包括可復用配置數(shù) 據(jù)模塊、界面控件和引用模塊;所述可復用配置數(shù)據(jù)模塊包括預先設(shè)置的模塊標識以及所述模塊標識對應(yīng) 的可復用配置數(shù)據(jù);在所述可復用配置數(shù)據(jù)中,包括至少一個變元風格單元,所述界面控件給出可復用配置數(shù)據(jù)模塊標識、變元風格標識和變元風格當 前值;所述引用模塊將所述可復用配置數(shù)據(jù)模塊標識對應(yīng)的可復用配置數(shù)據(jù)模塊 中的可復用配置數(shù)據(jù)添加到界面控件中;引用模塊并根據(jù)變元風格標識查找到 可復用數(shù)據(jù)中對應(yīng)的變元風格,將所述變元風格的默認值替換為變元風格的當 前值。
全文摘要
本發(fā)明公開了一種配置可執(zhí)行程序運行界面的方法,預先設(shè)置可復用配置數(shù)據(jù)模塊,所述可復用配置數(shù)據(jù)模塊包括模塊標識以及所述模塊標識對應(yīng)的可復用配置數(shù)據(jù);在所述可復用配置數(shù)據(jù)中,包括至少一個變元風格單元,所述變元風格單元包括變元風格標識以及變元風格的默認值;判斷界面控件中是否包含可復用配置數(shù)據(jù)模塊標識,若是,判斷所述界面控件是否包含屬于所述可復用配置數(shù)據(jù)模塊的變元風格標識以及變元風格的當前值;若是,則將所述可復用配置數(shù)據(jù)模塊標識對應(yīng)的可復用配置數(shù)據(jù)添加到界面控件中,并根據(jù)變元風格標識查找到可復用數(shù)據(jù)中對應(yīng)的變元風格,將所述變元風格的默認值替換為變元風格的當前值。本發(fā)明還公開了配置可執(zhí)行程序運行界面的裝置。
文檔編號G06F9/44GK101539860SQ20091008277
公開日2009年9月23日 申請日期2009年4月29日 優(yōu)先權(quán)日2009年4月29日
發(fā)明者黎 蔣 申請人:北京像素軟件科技股份有限公司