一種窗口界面展現方法及系統的制作方法
【技術領域】
[0001]本申請涉及計算機應用技術領域,特別是涉及一種窗口界面展現方法及系統。
【背景技術】
[0002]窗口(windows),也稱視窗,是圖形化用戶界面(GraphicalUser Interface,GUI)的基本組成部分,用于提供用戶與應用程序之間的交互接口,用戶可以在窗口中查看信息,或者點擊窗口中的按鈕、菜單等控件,實現對應用程序的操作。
[0003]在應用程序的執行過程中,可能需要創建一個或多個窗口以實現相應的功能。每個窗口都由若干不同類型的控件構成,而且不同功能的窗口對應不同的控件構成方案。根據現有技術的實現方式,每種功能的窗口都對應一個類,在這個類中定義了這種窗口所需要的控件類型的集合。當應用程序需要展現一個窗口時,該窗口中的所有控件都是作為整體被一次性創建并展現。如果需要展現其他功能的窗口,則需要重新針對新窗口對應的類來創建新的控件集合并展現。
[0004]然而,在實際應用中,一些窗口之間盡管功能不同,實際的控件構成情況卻大部分相同。應用現有技術的方案,每當要展現新的功能窗口時,都需要重新創建一個完整的窗口類,這必然會對程序運行效率和系統資源占用產生負面影響。另外,對于開發人員而言,如果只是因為少量控件不同而開發多套窗口類,會導致代碼大量重復,額外增加了開發和維護成本。
【發明內容】
[0005]為解決上述技術問題,本申請實施例提供一種窗口界面展現方法及系統,以提高窗口界面的展現性能,并且降低開發成本,技術方案如下:
[0006]本申請實施例提供一種窗口界面展現方法,該方法包括:
[0007]接收第一窗口創建請求,所述請求中,攜帶待創建的窗口的類型信息以及待加載的數據源信息;
[0008]根據所述類型信息,確定待創建窗口所包含的子區域;其中,所述子區域包括公共區域和特征區域,所述公共區域包括:至少兩種不同類型窗口之間的相同部分;所述特征區域包括:每一特定類型窗口區別于其他類型窗口的特征部分;
[0009]分別加載待創建的第一窗口各個子區域所對應的控件集以及各個子區域所對應的數據源;
[0010]對加載結果進行展現。
[0011]本申請實施例還提供一種窗口界面展現系統,該系統包括:
[0012]創建請求接收模塊,用于接收第一窗口創建請求,所述請求中,攜帶待創建的窗口的類型信息以及待加載的數據源信息;
[0013]子區域確定模塊,用于根據所述類型信息,確定待創建窗口所包含的子區域;其中,所述子區域包括公共區域和特征區域,所述公共區域包括:至少兩種不同類型窗口之間的相同部分;所述特征區域包括:每一特定類型窗口區別于其他類型窗口的特征部分;
[0014]第一加載模塊,用于分別加載待創建的第一窗口各個子區域所對應的控件集以及各個子區域所對應的數據源;
[0015]展現模塊,用于對所述第一加載模塊的加載結果進行展現。
[0016]本申請實施例所提供的技術方案,將窗口劃分為多個子區域,其中定義公共區域為:至少兩種不同類型窗口之間的相同部分,也就是說,存在多種類型的窗口,這些類型的窗口使用相同的公共區域控件集。這樣,從開發人員的角度來看,對多種類型的窗口僅需維護一份公共區域的代碼,而針對具體某種類型窗口的開發和維護僅需考慮非公共區域部分,與現有技術相比,整個窗口系統的代碼結構更為清晰簡潔,可以有效降低開發和維護的成本。
[0017]另外,在需要以切換或替代的形式展現不同類型的窗口時,對于這些窗口的公共區域控件集,可以僅加載一次,從而避免重復加載相同內容,提高程序運行效率、降低系統資源占用。
【附圖說明】
[0018]為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖。
[0019]圖1為本申請實施例單聊窗口的區域劃分示意圖;
[0020]圖2為本申請實施例群聊窗口的區域劃分示意圖;
[0021]圖3為本申請實施例窗口界面展現方法的一種流程圖;
[0022]圖4為本申請實施例窗口界面展現方法的第二種流程圖;
[0023]圖5為本申請實施例窗口界面展現方法的第二種流程圖;
[0024]圖6為本申請實施例窗口界面展現方法的第四種流程圖;
[0025]圖7為本申請實施例窗口界面展現裝置的一種結構示意圖;
[0026]圖8為本申請實施例窗口界面展現裝置的第二種結構示意圖。
【具體實施方式】
[0027]根據【背景技術】部分的說明,在實際應用中,一些窗口之間盡管功能不同,實際的控件構成情況卻大部分相同。本申請方案針對該特點,將多種類型窗口之間的相同部分提取出來,稱為“公共區域”。從控件的角度來理解,可以將每種類型窗口所需要加載的控件信息分別看作不同的集合,這里的“控件信息”包括控件的類型、布局以及具體的參數設置等。公共區域所對應的控件集則是這些集合的交集,也就是說,不同類型的窗口具有相同的公共區域控件集。在實際應用中,公共區域主要負責展示窗口業務的通用數據,以及提供通用的基礎業務操作接口,一個公共區域控件集能夠被多種窗口業務所共用。
[0028]與公共區域對應,本申請方案還定義了窗口中的“特征區域”,即每一特定類型窗口區別于其他類型窗口的特征部分;特征區域也有對應的控件集,而且不同類型的窗口分別具有各自的特征區域控件集。在實際應用中,特征區域主要負責展示窗口業務的特性數據,以及提供特性業務操作接口,每個特征區域控件集都對應一種具體的窗口業務。
[0029]可以理解的是,本申請實施例中所述的“不同類型的窗口”,可以是針對某一個特定的范圍而言,在實際應用中,一般是指在某個應用程序中,功能上相近、卻又不完全相同的窗口。例如即時通信軟件中的單聊/群聊窗口、電子郵件客戶端軟件中的收郵件/發郵件窗口,針對不同文檔類型的編輯窗口,等等。
[0030]公共區域和特征區域窗口的基本組成部分,也就是說,創建一個窗口時,至少要創建該窗口的這兩種子區域。除此之外,有些窗口在使用過程中,可能隨時需要在已展示的窗口基礎上,創建一個新的區域,用于提供一些擴展功能,例如在聊天窗口上附加一個搜索界面、在發郵件窗口上附加一個聯系人選擇界面,等等。本發明實施例中,將這部分提供擴展功能的區域,稱為“擴展區域”。
[0031]與公共區域和特征區域類似,擴展區域也有對應的控件集,在上文所述的特定范圍內,某個具體功能對應的擴展區域控件集可以僅適用于一種類型的窗口,也可以同時適用于多種類型的窗口。例如,擴展區域“搜索界面”,既可以附加在單聊窗口上,也可以附加在群聊窗口上。擴展區域對于一個窗口而言,并不是必須的組成部分。在實際應用中,擴展區域主要負責嫁接附屬外部業務的界面展示以及提供相應的操作接口。
[0032]以即時通信軟件為例,圖1和圖2分別示出了即時通信軟件中兩種類型窗口的子區域劃分示意圖,其中,圖1所示的單聊窗口包括公共區域10、特征區域20、擴展區域30 ;圖2所示的群聊窗口包括公共區域11、特征區域21、擴展區域31。可以看出,兩種類型窗口的公共區域控件配置情況是相同的,只是具體需要顯示的數據源不同(在此例中主要是指不同的聊天記錄);擴展區域的控件配置情況則不相同,相應需要顯示的數據源也不同(在此例中主要是指“個人用戶”和“群”的相關信息)。另外,兩種類型窗口分別具有擴展區域,如圖1和圖2所示,兩種擴展區域的控件配置情況和需要顯示的數據源也完全不同。
[0033]基于以上窗口子區域劃分機制,本申請實施例提供的一種界面展現方法,參見圖3所示,該方法可以包括以下步驟:
[0034]S101,接收窗口創建請求;
[0035]在窗口創建請求中,攜帶待創建的窗口的類型信息以及待加載的數據源信息;
[0036]以在即時通信軟件的運行過程中創建單聊窗口為例,用戶執行相應操作(例如在好友列表中雙擊一位好友的頭像)后,相當于向系統發出了一個創建窗口的請求,系統通過解析該請求,可以確定當前需要創建“單聊”類型的窗口,并且可以進一步確定需要加載的數據源,例如聊天對象的ID、昵稱、好友分組信息、簽名、頭像圖片、聊天記錄等等。
[0037]S102,根據所述類型信息,確定待創建窗口所包含的子區域;
[0038]根據本申請方案,公共區域和特征區域是一個窗口的必要組成部分,因此在本步驟中,至少需要確定待創建窗口的公共區域和特征區域。
[0