快速完成頁面布局的裝置和方法
【專利摘要】本發(fā)明提供了一種快速完成頁面布局的裝置,包括:控件獲取單元,用于進行界面布局前,獲取所需控件;布局類型判斷單元,用于判斷獲取的控件中,位于當(dāng)前頁面的控件是否與其他控件相關(guān)聯(lián),或者說位于當(dāng)前頁面的控件在其他控件的什么位置;控件布局單元,用于基于布局類型判斷單元對當(dāng)前控件是否與其他控件相關(guān)聯(lián)的判斷結(jié)果,對當(dāng)前頁面進行布局。本發(fā)明還提供了一種快速完成頁面布局的方法。通過本發(fā)明的技術(shù)方案,可以在現(xiàn)有的頁面布局完成方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的頁面布局,建立多對象類型參與的頁面布局的通用、統(tǒng)一服務(wù)思路。
【專利說明】快速完成頁面布局的裝置和方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,具體地,涉及一種快速完成頁面布局的裝置和一種快速完成頁面布局的方法。
[0003]
【背景技術(shù)】
[0004]Kettle中所有頁面的布局方式全是采用FormLayout布局,如果我們需要對某一控件進行布局,傳統(tǒng)的布局方式需要定義FormData,然后對其各屬性進行初始化才能布局,如果我們對十幾個控件布局的話,整個程序會顯得非常長,編寫的過程非常浪費時間,一個看似簡單的界面卻會耗掉開發(fā)人員一上午甚至一天的工作時間,最重要的一點是這樣編寫的程序非常不利于后期維護。
[0005]因此,需要一種新的快速完成頁面布局技術(shù),可以在現(xiàn)有的頁面布局完成方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的頁面布局,建立多對象類型參與的頁面布局的通用、統(tǒng)一服務(wù)思路。
[0006]
【發(fā)明內(nèi)容】
[0007]本發(fā)明正是基于上述問題,提出了一種新的快速完成頁面布局技術(shù),可以在現(xiàn)有的頁面布局完成方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的頁面布局,建立多對象類型參與的頁面布局的通用、統(tǒng)一服務(wù)思路。
[0008]有鑒于此,本發(fā)明提出了一種快速完成頁面布局的裝置,包括:控件獲取單元,用于進行界面布局前,獲取所需控件;布局類型判斷單元,用于判斷獲取的控件中,位于當(dāng)前頁面的控件是否與其他控件相關(guān)聯(lián),或者說位于當(dāng)前頁面的控件在其他控件的什么位置;控件布局單元,用于基于布局類型判斷單元對當(dāng)前控件是否與其他控件相關(guān)聯(lián)的判斷結(jié)果,對當(dāng)前頁面進行布局。在該技術(shù)方案中,可以將復(fù)雜FormLayout布局簡化并容易后期進行維護,為后來AEDI Designer版本的升級打好了界面基礎(chǔ),使得界面布局變得簡單、方便,而且便于開發(fā)人員后期維護。
[0009]在上述技術(shù)方案中,優(yōu)選地,所述控件布局單元,具體包括:調(diào)用界面的父類進行頁面布局的模塊,用于當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件不和其他控件相關(guān)聯(lián)時,通過調(diào)用界面父類的方式對當(dāng)前頁面進行布局;添加控件進行頁面布局的模塊,用于當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,通過添加控件的方式對當(dāng)前頁面進行布局。在該技術(shù)方案中,可以將傳統(tǒng)的布局方式分為兩種,這兩種布局方案簡單方便,不易出錯。
[0010]在上述技術(shù)方案中,優(yōu)選地,所述調(diào)用界面的父類進行頁面布局的模塊,進一步包括:調(diào)用父類子模塊,用于調(diào)用界面的父類的節(jié)點方法;控件布局子模塊,用于利用界面的父類的節(jié)點方法,對控件進行布局。在該技術(shù)方案中,可以針對與其他控件位置沒有關(guān)系的控件直接用setPosit1nO布局即可。
[0011 ] 在上述技術(shù)方案中,優(yōu)選地,所述調(diào)用父類子模塊調(diào)用的界面的父類,更進一步包括:作業(yè)步驟節(jié)點父類為JobEntryDialog、轉(zhuǎn)換步驟節(jié)點父類為BaseStepDialog。
[0012]在上述技術(shù)方案中,優(yōu)選地,所述添加控件進行頁面布局的模塊,進一步包括:創(chuàng)建對象子模塊,用于當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,創(chuàng)建一 AEDIForm對象form ;添加控件子模塊,用于根據(jù)預(yù)設(shè)次序為創(chuàng)建的form的成員變量AEDIFormItem添加控件;統(tǒng)一布局子模塊,用于當(dāng)添加控件結(jié)束后,調(diào)用form的IayoutFormO方法為控件統(tǒng)一布局。在該技術(shù)方案中,可以針對與其他控件有關(guān)系的控件需要使用表單類AEDIForm加入指定控件列表,最后布局。
[0013]根據(jù)本發(fā)明的又一個方面,還提出了一種快速完成頁面布局的方法,包括:步驟202:進行界面布局前,獲取所需控件;步驟204:判斷獲取的控件中,位于當(dāng)前頁面的控件是否與其他控件相關(guān)聯(lián),或者說位于當(dāng)前頁面的控件在其他控件的什么位置;步驟206:基于步驟204對當(dāng)前控件是否與其他控件相關(guān)聯(lián)的判斷結(jié)果,對當(dāng)前頁面進行布局。在該技術(shù)方案中,可以將復(fù)雜FormLayout布局簡化并容易后期進行維護,為后來AEDI Designer版本的升級打好了界面基礎(chǔ),使得界面布局變得簡單、方便,而且便于開發(fā)人員后期維護。
[0014]在上述技術(shù)方案中,優(yōu)選地,所述步驟206,具體包括:步驟302:當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件不和其他控件相關(guān)聯(lián)時,通過調(diào)用界面父類的方式對當(dāng)前頁面進行布局;步驟402:當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,通過添加控件的方式對當(dāng)前頁面進行布局。在該技術(shù)方案中,可以將傳統(tǒng)的布局方式分為兩種,這兩種布局方案簡單方便,不易出錯。
[0015]在上述技術(shù)方案中,優(yōu)選地,所述步驟302,進一步包括:步驟502:調(diào)用界面的父類的節(jié)點方法;步驟504:利用界面的父類的節(jié)點方法,對控件進行布局。在該技術(shù)方案中,可以針對與其他控件位置沒有關(guān)系的控件直接用setPosit1nO布局即可。
[0016]在上述技術(shù)方案中,優(yōu)選地,所述步驟502調(diào)用的界面的父類,更進一步包括:作業(yè)步驟節(jié)點父類為JobEntryDialog、轉(zhuǎn)換步驟節(jié)點父類為BaseStepDialog。
[0017]在上述技術(shù)方案中,優(yōu)選地,所述步驟402,進一步包括:步驟602:當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,倉Il建一AEDIForm對象form ;步驟604:根據(jù)預(yù)設(shè)次序為創(chuàng)建的form的成員變量AEDIFormItem添加控件;步驟606:當(dāng)添加控件結(jié)束后,調(diào)用form的IayoutFormO方法為控件統(tǒng)一布局。在該技術(shù)方案中,可以針對與其他控件有關(guān)系的控件需要使用表單類AEDIForm加入指定控件列表,最后布局。
[0018]通過以上技術(shù)方案,可以在現(xiàn)有的頁面布局完成方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的頁面布局,建立多對象類型參與的頁面布局的通用、統(tǒng)一服務(wù)思路。
[0019]
【專利附圖】
【附圖說明】
[0020]圖1示出了根據(jù)本發(fā)明的實施例的快速完成頁面布局的裝置的框圖;
圖2示出了根據(jù)本發(fā)明的實施例的快速完成頁面布局的方法的流程圖; 圖3示出了根據(jù)本發(fā)明的實施例的調(diào)用界面的父類進行頁面布局的模塊的原理示意圖;
圖4示出了根據(jù)本發(fā)明的實施例的添加控件進行頁面布局的模塊的原理示意圖;
圖5示出了傳統(tǒng)的FormLayout布局的流程圖;
圖6示出了根據(jù)本發(fā)明的實施例的界面布局(即改進的界面布局)的流程圖。
[0021]
【具體實施方式】
[0022]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和【具體實施方式】對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
[0023]在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。
[0024]圖1示出了根據(jù)本發(fā)明的實施例的快速完成頁面布局的裝置的框圖。
[0025]如圖1所示,根據(jù)本發(fā)明的實施例的快速完成頁面布局的裝置100,包括:控件獲取單元102,用于進行界面布局前,獲取所需控件;布局類型判斷單元104,用于判斷獲取的控件中,位于當(dāng)前頁面的控件是否與其他控件相關(guān)聯(lián),或者說位于當(dāng)前頁面的控件在其他控件的什么位置;控件布局單元106,用于基于布局類型判斷單元對當(dāng)前控件是否與其他控件相關(guān)聯(lián)的判斷結(jié)果,對當(dāng)前頁面進行布局。在該技術(shù)方案中,可以將復(fù)雜FormLayout布局簡化并容易后期進行維護,為后來AEDI Designer版本的升級打好了界面基礎(chǔ),使得界面布局變得簡單、方便,而且便于開發(fā)人員后期維護。
[0026]在上述技術(shù)方案中,優(yōu)選地,控件布局單元106,具體包括:調(diào)用界面的父類進行頁面布局的模塊1062,用于當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件不和其他控件相關(guān)聯(lián)時,通過調(diào)用界面父類的方式對當(dāng)前頁面進行布局;添加控件進行頁面布局的模塊1064,用于當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,通過添加控件的方式對當(dāng)前頁面進行布局。在該技術(shù)方案中,可以將傳統(tǒng)的布局方式分為兩種,這兩種布局方案簡單方便,不易出錯。
[0027]在上述技術(shù)方案中,優(yōu)選地,調(diào)用界面的父類進行頁面布局的模塊1062,進一步包括:調(diào)用父類子模塊10622,用于調(diào)用界面的父類的節(jié)點方法;控件布局子模塊10624,用于利用界面的父類的節(jié)點方法,對控件進行布局。在該技術(shù)方案中,可以針對與其他控件位置沒有關(guān)系的控件直接用setPosit1nO布局即可。
[0028]在上述技術(shù)方案中,優(yōu)選地,調(diào)用父類子模塊10622調(diào)用的界面的父類,更進一步包括:作業(yè)步驟節(jié)點父類為JobEntryDialog、轉(zhuǎn)換步驟節(jié)點父類為BaseStepDialog。
[0029]在上述技術(shù)方案中,優(yōu)選地,添加控件進行頁面布局的模塊1064,進一步包括:創(chuàng)建對象子模塊10642,用于當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,倉Il建一 AEDIForm對象form ;添加控件子模塊10644,用于根據(jù)預(yù)設(shè)次序為創(chuàng)建的form的成員變量AEDIFormItem添加控件;統(tǒng)一布局子模塊10646,用于當(dāng)添加控件結(jié)束后,調(diào)用form的IayoutFormO方法為控件統(tǒng)一布局。在該技術(shù)方案中,可以針對與其他控件有關(guān)系的控件需要使用表單類AEDIForm加入指定控件列表,最后布局。
[0030]圖2示出了根據(jù)本發(fā)明的實施例的快速完成頁面布局的方法的流程圖。
[0031]如圖2所示,根據(jù)本發(fā)明的實施例的快速完成頁面布局的方法,包括:步驟202:進行界面布局前,獲取所需控件;步驟204:判斷獲取的控件中,位于當(dāng)前頁面的控件是否與其他控件相關(guān)聯(lián),或者說位于當(dāng)前頁面的控件在其他控件的什么位置;步驟206:基于步驟204對當(dāng)前控件是否與其他控件相關(guān)聯(lián)的判斷結(jié)果,對當(dāng)前頁面進行布局。在該技術(shù)方案中,可以將復(fù)雜FormLayout布局簡化并容易后期進行維護,為后來AEDI Designer版本的升級打好了界面基礎(chǔ),使得界面布局變得簡單、方便,而且便于開發(fā)人員后期維護。
[0032]在上述技術(shù)方案中,優(yōu)選地,步驟206,具體包括:步驟302:當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件不和其他控件相關(guān)聯(lián)時,通過調(diào)用界面父類的方式對當(dāng)前頁面進行布局;步驟402:當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,通過添加控件的方式對當(dāng)前頁面進行布局。在該技術(shù)方案中,可以將傳統(tǒng)的布局方式分為兩種,這兩種布局方案簡單方便,不易出錯。
[0033]在上述技術(shù)方案中,優(yōu)選地,如圖3所示,步驟302,進一步包括:步驟502:調(diào)用界面的父類的節(jié)點方法;步驟504:利用界面的父類的節(jié)點方法,對控件進行布局。在該技術(shù)方案中,可以針對與其他控件位置沒有關(guān)系的控件直接用setPosit1nO布局即可。
[0034]在上述技術(shù)方案中,優(yōu)選地,步驟502調(diào)用的界面的父類,更進一步包括:作業(yè)步驟節(jié)點父類為JobEntryDialog、轉(zhuǎn)換步驟節(jié)點父類為BaseStepDialog。
[0035]在上述技術(shù)方案中,優(yōu)選地,如圖4所示,步驟402,進一步包括:步驟602:當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,創(chuàng)建一 AEDIForm對象form ;步驟604:根據(jù)預(yù)設(shè)次序為創(chuàng)建的form的成員變量AEDIFormItem添加控件;步驟606:當(dāng)添加控件結(jié)束后,調(diào)用form的IayoutFormO方法為控件統(tǒng)一布局。在該技術(shù)方案中,可以針對與其他控件有關(guān)系的控件需要使用表單類AEDIForm加入指定控件列表,最后布局。
[0036]本發(fā)明的技術(shù)方案,可以用于SWT (是一種界面設(shè)計工具類)頁面布局中,針對Kettle所有界面的布局方式類似的特點,抽取出一布局接口與方法,用于布局,簡單方便、更容易維護。
[0037]本發(fā)明的技術(shù)方案,就是抽取界面構(gòu)建的共性組建表單類(AEDIForm),或者在作業(yè)父類(如JobEntryDialog)、轉(zhuǎn)換父類(如BaseStepDialog)中添加共性方法【如setPosit1nO】,要將傳統(tǒng)的布局方式分為兩種:1.針對與其他控件位置沒有關(guān)系的控件直接用共性方法【如setPosit1n O】布局即可;2.針對與其他控件有關(guān)系的控件需要使用表單類(AEDIForm)加入指定控件列表,最后布局。這兩種布局方案簡單方便,不易出錯。
[0038]本發(fā)明的技術(shù)方案,能夠解決如何簡化傳統(tǒng)的FormLayout布局方式,即能夠解決如何簡化傳統(tǒng)的SWT布局方式,參見圖5。針對本發(fā)明要解決的主要技術(shù)問題,提出解決方案的流程圖如圖6所不。
[0039]本發(fā)明的技術(shù)方案,將復(fù)雜FormLayout布局(如SWT布局)簡化并容易后期進行維護,為后來AEDI Designer版本的升級打好了界面基礎(chǔ)。當(dāng)進行界面布局的時候首先會觀察某些控件是否與其他控件相關(guān)聯(lián),也就是說在其他控件的什么位置,如果該控件不和其他控件相關(guān)聯(lián),此時開發(fā)人員便可以調(diào)用界面的父類(如作業(yè)步驟節(jié)點父類為JobEntryDialog、轉(zhuǎn)換步驟節(jié)點父類為BaseStepDialog)的共性方法【如setPosit1nO】對控件進行布局;如果該控件與其他控件相關(guān)聯(lián),此時開發(fā)人員可以利用表單類為控件統(tǒng)一布局,例如:開發(fā)人員可以創(chuàng)建一 AEDIForm對象form,然后根據(jù)一定的次序為form的成員變量AEDIFormItem添加控件,當(dāng)添加控件結(jié)束后,調(diào)用form的IayoutFormO方法為控件統(tǒng)一布局。
[0040]本發(fā)明的技術(shù)方案,經(jīng)在AEDI Designer (是用友UAP AE部門發(fā)版的一款產(chǎn)品)產(chǎn)品中進行檢驗和實驗驗證,可知:改進的界面布局方法布局變得簡單、方便,更為重要的一點是,代碼簡潔明了,便于開發(fā)人員后期維護。
[0041]以上結(jié)合附圖詳細說明了本發(fā)明的技術(shù)方案,考慮到相關(guān)技術(shù)中沒有簡便的、統(tǒng)一的針對復(fù)雜類型頁面布局完成的解決辦法?,F(xiàn)有的頁面布局完成方式無法完成有復(fù)雜類型參與的頁面布局完成過程。因此,本發(fā)明提出了一種快速完成頁面布局的裝置和一種快速完成頁面布局的方法,可以在現(xiàn)有的頁面布局完成方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的頁面布局,建立多對象類型參與的頁面布局的通用、統(tǒng)一服務(wù)思路。
[0042]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種快速完成頁面布局的裝置,其特征在于,包括: 控件獲取單元,用于進行界面布局前,獲取所需控件; 布局類型判斷單元,用于判斷獲取的控件中,位于當(dāng)前頁面的控件是否與其他控件相關(guān)聯(lián),或者說位于當(dāng)前頁面的控件在其他控件的什么位置; 控件布局單元,用于基于布局類型判斷單元對當(dāng)前控件是否與其他控件相關(guān)聯(lián)的判斷結(jié)果,對當(dāng)前頁面進行布局。
2.根據(jù)權(quán)利要求1所述的快速完成頁面布局的裝置,其特征在于,所述控件布局單元,具體包括: 調(diào)用界面的父類進行頁面布局的模塊,用于當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件不和其他控件相關(guān)聯(lián)時,通過調(diào)用界面父類的方式對當(dāng)前頁面進行布局; 添加控件進行頁面布局的模塊,用于當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,通過添加控件的方式對當(dāng)前頁面進行布局。
3.根據(jù)權(quán)利要求2所述的快速完成頁面布局的裝置,其特征在于,所述調(diào)用界面的父類進行頁面布局的模塊,進一步包括: 調(diào)用父類子模塊,用于調(diào)用界面的父類的節(jié)點方法; 控件布局子模塊,用于利用界面的父類的節(jié)點方法,對控件進行布局。
4.根據(jù)權(quán)利要求3所述的快速完成頁面布局的裝置,其特征在于,所述調(diào)用父類子模塊調(diào)用的界面的父類,更進一步包括:作業(yè)步驟節(jié)點父類為JobEntryDialog、轉(zhuǎn)換步驟節(jié)點父類為 BaseStepDialog。
5.根據(jù)權(quán)利要求2-4中任一項所述的快速完成頁面布局的裝置,其特征在于,所述添加控件進行頁面布局的模塊,進一步包括: 創(chuàng)建對象子模塊,用于當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,創(chuàng)建一 AEDIForm對象form ; 添加控件子模塊,用于根據(jù)預(yù)設(shè)次序為創(chuàng)建的form的成員變量AEDIFormItem添加控件; 統(tǒng)一布局子模塊,用于當(dāng)添加控件結(jié)束后,調(diào)用form的IayoutFormO方法為控件統(tǒng)一布局。
6.—種快速完成頁面布局的方法,其特征在于,包括: 步驟202:進行界面布局前,獲取所需控件; 步驟204:判斷獲取的控件中,位于當(dāng)前頁面的控件是否與其他控件相關(guān)聯(lián),或者說位于當(dāng)前頁面的控件在其他控件的什么位置; 步驟206:基于步驟204對當(dāng)前控件是否與其他控件相關(guān)聯(lián)的判斷結(jié)果,對當(dāng)前頁面進行布局。
7.根據(jù)權(quán)利要求6所述的快速完成頁面布局的方法,其特征在于,所述步驟206,具體包括: 步驟302:當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件不和其他控件相關(guān)聯(lián)時,通過調(diào)用界面父類的方式對當(dāng)前頁面進行布局; 步驟402:當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,通過添加控件的方式對當(dāng)前頁面進行布局。
8.根據(jù)權(quán)利要求7所述的快速完成頁面布局的方法,其特征在于,所述步驟302,進一步包括: 步驟502:調(diào)用界面的父類的節(jié)點方法; 步驟504:利用界面的父類的節(jié)點方法,對控件進行布局。
9.根據(jù)權(quán)利要求8所述的快速完成頁面布局的方法,其特征在于,所述步驟502調(diào)用的界面的父類,更進一步包括:作業(yè)步驟節(jié)點父類為JobEntryDialog、轉(zhuǎn)換步驟節(jié)點父類為BaseStepDialog。
10.根據(jù)權(quán)利要求6-9中任一項所述的快速完成頁面布局的方法,其特征在于,所述步驟402,進一步包括: 步驟602:當(dāng)布局類型判斷單元的判斷結(jié)果為當(dāng)前控件與其他控件相關(guān)聯(lián)時,創(chuàng)建一AEDIForm 對象 form ; 步驟604:根據(jù)預(yù)設(shè)次序為創(chuàng)建的form的成員變量AEDIFormItem添加控件; 步驟606:當(dāng)添加控件結(jié)束后,調(diào)用form的IayoutFormO方法為控件統(tǒng)一布局。
【文檔編號】G06F9/44GK104391703SQ201410671608
【公開日】2015年3月4日 申請日期:2014年11月21日 優(yōu)先權(quán)日:2014年11月21日
【發(fā)明者】王龍強 申請人:用友軟件股份有限公司