專利名稱:一種創(chuàng)建會話窗口的方法及裝置的制作方法
技術(shù)領域:
本發(fā)明涉及計算機領域,特別涉及一種創(chuàng)建會話窗口的方法及裝置。
背景技術(shù):
會話窗口是即時通信軟件的重要組成部分。在即時通信軟件中,會話窗口的基本功能是為聯(lián)系人提供信息交流的界面。其中,建立一個窗口并在該窗口中設置編輯區(qū)域,再為該窗口建立聊天信道,就得到具有基本功能的會話窗口。另外,如果需要在會話窗口中承載豐富的應用,則在具有基本功能的會話窗口上加載實現(xiàn)應用的插件并設置每個插件之間進行交互的交互代碼。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題如果需要改變會話窗口的布局、升級會話窗口中的部分插件或通過修改原會話窗口的部分插件開發(fā)出新的會話窗口,則需要修改原會話窗口中的每個插件之間的交互代碼,如此增加了開發(fā)難度和成本。
發(fā)明內(nèi)容
為了能夠減輕開發(fā)難度以及減少開發(fā)成本,本發(fā)明提供了一種創(chuàng)建會話窗口的方法及裝置。所述技術(shù)方案如下—種創(chuàng)建會話窗口的方法,其特征在于,所述方法包括接收創(chuàng)建請求,所述創(chuàng)建請求中攜帶會話類型;創(chuàng)建母板以及獲取所述會話類型對應的腳本描述,所述腳本描述中至少包括會話區(qū)子控件;將所述腳本描述中描述的每個子控件填充在所述母板中;在所述母板中注冊所述每個子控件,使所述每個子控件與所述母板交互,將所述母板粘貼在窗口得到會話窗口,并為所述會話窗口建立聊天通道。所述將所述腳本描述中描述的每個子控件填充在所述母板中,具體包括通過對所述腳本描述進行解析,獲取所述每個子控件的標識和所述每個子控件的布局信息;根據(jù)所述會話類型和所述每個子控件的標識,獲取所述每個子控件的界面部分和邏輯部分;根據(jù)所述每個子控件的布局信息,將所述每個子控件的界面部分填充在所述母板中,并對所述每個子控件的界面部分和邏輯部分進行綁定。所述根據(jù)所述會話類型和所述每個子控件的標識,獲取所述每個子控件的界面部分和邏輯部分,具體包括根據(jù)所述每個子控件的標識,從標識與界面部分的對應關(guān)系中查找所述每個子控件的界面部分;根據(jù)所述會話類型和所述每個子控件的標識,從標識、會話類型與邏輯部分的對應關(guān)系中查找所述每個子控件的邏輯部分。所述子控件包括界面部分和邏輯部分,且任意兩個子控件通過所述母板進行交互。所述方法還包括 在所述會話窗口中,如果所述母板接收到事件,查詢所述母板中的每個子控件,如果查詢出能夠處理所述事件的子控件,則將所述事件交于所述查詢的子控件處理。一種創(chuàng)建會話窗口的裝置,所述裝置包括接收模塊,用于接收創(chuàng)建請求,所述創(chuàng)建請求中攜帶會話類型;創(chuàng)建模塊,用于創(chuàng)建母板以及獲取所述會話類型對應的腳本描述,所述腳本描述中至少包括會話區(qū)子控件;填充模塊,用于將所述腳本描述中描述的每個子控件填充在所述母板中;注冊模塊,用于在所述母板中注冊所述每個子控件,使所述每個子控件與所述母板交互,將所述母板粘貼在窗口得到會話窗口,并為所述會話窗口建立聊天通道。所述填充模塊具體包括第一獲取單元,用于通過對所述腳本描述進行解析,獲取所述每個子控件的標識和所述每個子控件的布局信息;第二獲取單元,用于根據(jù)所述會話類型和所述每個子控件的標識,獲取所述每個子控件的界面部分和邏輯部分;填充單元,用于根據(jù)所述每個子控件的布局信息,將所述每個子控件的界面部分填充在所述母板中,并對所述每個子控件的界面部分和邏輯部分進行綁定。 所述第二獲取單元具體包括第一查找子單元,用于根據(jù)所述每個子控件的標識,從標識與界面部分的對應關(guān)系中查找所述每個子控件的界面部分;第二查找子單元,用于根據(jù)所述會話類型和所述每個子控件的標識,從標識、會話類型與邏輯部分的對應關(guān)系中查找所述每個子控件的邏輯部分。所述子控件包括界面部分和邏輯部分,且任意兩個子控件通過所述母板進行交互。所述裝置還包括查詢模塊,用于在所述會話窗口中,如果所述母板接收到事件,查詢所述母板中的每個子控件,如果查詢出能夠處理所述事件的子控件,則將所述事件交于所述查詢的子控件處理。通過創(chuàng)建母板,并將腳本描述中描述的每個子控件填充在母板中,通過將每個子控件注冊在母板中,使得每個子控件與母板直接互交,再將母板放置在窗口中得到會話窗口,其中,會話窗口中的每個子控件相互獨立,任意兩個子控件通過母板進行交互,還可以通過子控件承載插件使會話窗口具有豐富的應用。由于會話窗口中任意兩個子控件之間不存在交互代碼,因此改變原會話窗口的布局時,不需要修改每個子控件之間的交互代碼;如果升級原會話窗口或在原會話窗口中開發(fā)新會話窗口,則只要對升級的部分或修改的部分所在的子控件進行修改,而該子控件與其他子控件相互獨立,所以其他部分繼承原會話窗口,如此減輕開發(fā)難度和減少開發(fā)成本。
圖1是本發(fā)明實施例1提供的一種創(chuàng)建會話窗口的方法流程圖;圖2是本發(fā)明實施例2提供的一種創(chuàng)建會話窗口的方法流程圖;圖3是本發(fā)明實施例2提供的第一種母板示意圖;圖4是本發(fā)明實施例2提供的第二種母板示意圖;圖5是本發(fā)明實施例3提供的一種創(chuàng)建會話窗口的方法流程圖;圖6是本發(fā)明實施例4提供的一種創(chuàng)建會話窗口的裝置示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。實施例1如圖1所示,本發(fā)明實施例1提供了一種創(chuàng)建會話窗口的方法,包括步驟101 接收創(chuàng)建請求,其中,該創(chuàng)建請求中攜帶會話類型;步驟102 創(chuàng)建母板并獲取該會話類型對應的腳本描述,其中,腳本描述中至少包括ChatMsg (會話區(qū))子控件;步驟103 將該腳本描述中描述的每個子控件填充在母板中;步驟104 通過在母板中注冊每個子控件使每個子控件與母板交互,將母板粘貼在窗口得到會話窗口,并為會話窗口建立聊天通道。 其中,母板中的任意兩個子控件都相互獨立且不可以直接交互。ChatMsg具有實現(xiàn)編輯界面的功能,在母板中填充ChatMsg子控件,可以使創(chuàng)建的會話窗口具有編輯界面,聯(lián)系人可以在該編輯界面中進行信息交流。在本發(fā)明實施例中,通過創(chuàng)建母板,并將腳本描述中描述的每個子控件填充在母板中,通過將每個子控件注冊在母板中,使得每個子控件與母板直接互交,再將母板放置在窗口中得到會話窗口,其中,會話窗口中的每個子控件相互獨立,任意兩個子控件通過母板進行交互,還可以通過子控件承載插件使會話窗口具有豐富的應用。由于會話窗口中任意兩個子控件之間不存在交互代碼,因此改變原會話窗口的布局時,不需要修改每個子控件之間的交互代碼;如果升級原會話窗口或在原會話窗口中開發(fā)新會話窗口,則只要對升級的部分或修改的部分所在的子控件進行修改,而該子控件與其他子控件相互獨立,所以其他部分繼承原會話窗口,如此減輕開發(fā)難度和減少開發(fā)成本,且使得會話窗口具有高內(nèi)聚低耦合的特性。實施例2如圖2所示,本發(fā)明實施例提供了一種創(chuàng)建會話窗口的方法,包括步驟201 接收會話請求,其中,該會話請求中攜帶會話類型;其中,會話請求是由外部事件引起的,會話類型包括好友類型、群類型、討論組類型或臨時會話類型等。例如,對于用于聊天的即時通信軟件,在該即時通信軟件的主面板的好友列表中,用戶利用鼠標等雙擊某個好友的頭像,該主面板生成會話請求并在會話請求中攜帶會話類型為好友類型。其中,外部事件為用戶雙擊該好友的頭像。
步驟202 創(chuàng)建母板,根據(jù)會話請求中攜帶的會話類型獲取該會話類型對應的腳本描述,其中,母板包括界面部分和邏輯部分;其中,母板為一個控件,在母板中可以填充其他的子控件。在本實施例中,分別以對象的形式實現(xiàn)母板中的界面部分和邏輯部分,界面部分提供了會話窗口的輪廓,如圖3 所示的一種母板的界面部分。其中,技術(shù)人員事先建立并存儲每種會話類型對應的腳本描述。在腳本描述中事先規(guī)定用于填充母板的每個子控件的控件名,以及在母板中各子控件的布局信息。因此, 腳本描述包括兩部分內(nèi)容一部分規(guī)定用于填充母板的所有子控件的控件名,另一部分為每個子控件的布局信息包括位置、大小、間隙或底圖等。腳本描述可以是XMUExtensible Markup Language,可擴展標記語言)代碼,并以XML文件的形式存在。如下所示的即時通信軟件中的好友類型所對應的腳本描述,該腳本描述的代碼為〈Control name = “ MainBorad" ><DockPanel><ProfileCtrl name =<ToolbarCtrl name =<SidebarCtrl name =<PromptCtrl name = 〃<BottomCtrl name ="<ChatMsgCtrl name =</DockPanel>〈/Control〉上述腳本描述中描述了六個子控件的控件名分別為“Pr0file”、“T00lbar”、 “Sidebar”、“Prompt”、“BottomFrame”和“ChatMsg”,以及每個子控件在母板中的位置分別為 “Top,,、“Top,,、“Right,,、“Top,,、“Bottom,,和 “Fi 11 ”。其中,在本實施例中,技術(shù)人員可以根據(jù)不同的即時通信軟件產(chǎn)品的要求,在腳本描述中設置用于填充母板的子控件以及每個子控件的布局,從而能夠滿足即時通信軟件產(chǎn)品的個性化要求。步驟203 通過對獲取的腳本描述進行解析,獲取用于填充母板的所有子控件的控件名,以及每個子控件的布局信息;其中,由于會話窗口的基本功能是為聯(lián)系人提供信息交流的界面,因此,每種會話類型對應的腳本描述都存在實現(xiàn)基本功能的ChatMsg子控件。例如,從步驟202中的好友類型對應的腳本描述中獲取用于填充母板的每個子控件的控件名分別為 Profile,,、“Toolbar,,、“Sidebar,,、“Prompt,,、“BottomFrame” 和“ ChatMsg ”,以及每個子控件在母板中的位置分別為“ Top ”、“ Top ”、“ Ri ght ”、“ Top ”、 "Bottom,,禾口 “Fill”。步驟204 根據(jù)獲取的每個控件名,獲取每個子控件的界面部分,并利用每個子控件的界面部分填充母板;具體地,根據(jù)獲取的每個控件名,從控件名與界面部分的對應關(guān)系中查找每個子控件的界面部分,根據(jù)每個子控件的布局信息,將每個子控件的界面部分填充在母板中。
“ProfileCtrl" dock=" Top" /> “ToolbarCtrl “ dock=" Top" /> “SidebarCtrl “ dock=" Right" /> PromptCtrl “ dock = “ Top" /> BottomCtrl “ dock=" Bottom" /> “ChatMsgCtrl“ dock = “ Fill" />
其中,參照腳本描述中描述的每個子控件的順序,依次將每個子控件的界面部分填充在母板中。另外,每個子控件包括界面部分和邏輯部分,在本實施例中以對象的數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)界面部分和邏輯部分。其中,對于同一控件名可以對應多種會話類型的子控件,但每個子控件的界面部分都相同而邏輯部分都互不相同。例如,對于“I^rofile”子控件,好友類型的“ftOfile”子控件和群類型的“I^rofile”子控件的界面部分都相同而邏輯部分互不相同。技術(shù)人員事先開發(fā)每個子控件對應的一個界面部分和對應的一個或多個邏輯部分;并將界面部分和邏輯部分分開存儲。其中,技術(shù)人員事先存儲控件名與界面部分的對應關(guān)系如表1所示,以及控件名、會話類型與邏輯部分的三者對應關(guān)系如表2所示。表 1
控件名界面部分ProfileProfile的界面部分SidebarSidebar的界面部分表2
控件名會話類型邏輯部分Profile好友類型好友類型的ft"ofile的邏輯部分Sidebar好友類型好友類型的Sidebar的邏輯部分Profile群類型群類類型的ftOfile的邏輯部分其中,通過將每個子控件的界面部分填充整個母板,使得整個母板被劃分成多個區(qū)域,每個子控件即為一個區(qū)域。例如,根據(jù)控件名“1^0打16”、“1100讓&1~”、“51(16卜&1~”、叩1~011^^”、“80 011^儀1116,,和 “ChatMsg”從如表1所示的控件名與界面部分,分別獲取“Profile”子控件、“Toolbar”子控件、“Sidebar”子控件、“ftx)mpt”子控件、“BottomFrame”子控件和“ChatMsg”子控件的界面部分;然后參照腳本描述中的每個子控件的順序,首先根據(jù)“ftOfile”子控件的位置 “Top”,將“Profile”子控件的界面部分填充在如圖3所示母板的頂部;然后根據(jù)“Toolbar” 子控件的位置“Top”,將“Toolbar”子控件的界面部分填充在母板的剩下部分的頂部;再根據(jù)“Sidebar”子控件的位置“Right”,將“Sidebar”子控件的界面部分填充在母板的剩下部分的右邊。按上述相同的方法分別將剩下的每個子控件的界面部分填充在如圖3所示的母板中,得到的填充后的母板如圖4所示。其中,在如圖4所示的母板中,Profile為資料區(qū),Toolbar為頂部按扭區(qū),Sidebar為擴展區(qū),Prompt為提示區(qū)和ChatMsgCtrl為會話區(qū)。步驟205 根據(jù)獲取的每個控件名和攜帶的會話類型,獲取每個子控件的邏輯部分,并將每個子控件的邏輯部分綁定在其自身的界面部分上;具體地,根據(jù)獲取的每個控件名和攜帶的會話類型,從控件名、會話類型與邏輯部分的三者對應關(guān)系中查找每個子控件的邏輯部分,在母板中將每個子控件的邏輯部分與其自身的界面部分進行綁定。例如,根據(jù)獲取的控件名“Profile”,從如表2所示的控件名、會話類型和邏輯部分的三者對應關(guān)系中,查找“Profile”子控件的邏輯部分,在如圖4所示的母板中將 “I^ofile”子控件的邏輯部分與界面部分進行綁定。按上述相同的方法對剩下的每個子控件的界面部分和邏輯部分進行綁定。其中,在實現(xiàn)具體的某個即時通信軟件產(chǎn)品時,為了能夠使會話窗口承載更多豐富的應用,將實現(xiàn)應用的插件加載到母板中的子控件上。其中,子控件的界面部分可以承載插件的圖標等,子控件的邏輯部分提供接口功能,可以與插件進行交互。將子控件的界面部分與邏輯部分綁定在一起,就可以實現(xiàn)當用戶單擊界面部分承載的插件的圖標時,邏輯部分與插件進行交互并運行插件。步驟206 通過在母板中注冊每個子控件,使每個子控件能夠與母板直接交互,建立窗口,并將母板放置在建立的窗口中,得到會話窗口 ;其中,在母板中注冊每個子控件的步驟具體為在母板的邏輯部分中為每個子控件設置一個指針,該指針用于母板與子控件進行交互。在本實施例中,母板中的每個子控件都是相互獨立地,任意兩個子控件不可以直接進行交互。如果兩個子控件需要交互信息,則其中一個子控件先與母板的邏輯部分進行交互信息,母板的邏輯部分通過指針調(diào)用另一個子控件,再與另一個子控件進行交互信息,如此完成該兩子控件進行交互信息。其中,在本實施例中,每個子控件都為自定義控件,在母板中每個子控件都相互獨立且不可以直接交互,而通過將每個子控件注冊在母板中,使得每個子控件都可以直接與母板交互,而任意兩個子控件都通過母板進行交互。其中,由于控件不能夠單獨顯示,所以母板以及母板中填充的子控件不能單獨地顯示,因此,必須將母板放置在窗口中,才能以會話窗口的形式顯示。另外,在本實施例中, 也可以當接收到會話請求后就建立窗口,如此,在本步驟中當在母板注冊完每個子控件后, 直接將母板放置在會話窗口中。步驟207 為該會話窗口建立聊天信道,其中,該會話窗口至少能夠為聯(lián)系人提供信息交流的界面。其中,先建立一個kssion (會話),將整個會話窗口粘貼在建立的kssion中,由 kssion建立聊天信道并維護聊天信道。另外,Session還負責會話窗口與即時通信軟件的主面板之間的信息交互。進一步地,對于即時通信軟件,由于可以同時存在多個會話窗口,每個會話窗口對應一個kssion,為了便于管理每個kssion,因此設置Session管理器并將建立的新 Session注冊在該kssion管理器中。進一步地,當會話窗口的母板接收到某個事件時,母板根據(jù)注冊在自身的每個子控件的指針,查詢每個子控件,如果查詢出能夠處理該事件的子控件,則將該事件交于查詢出的子控件處理。進一步地,如果需要使會話窗口中具有豐富的應用,則可以將插件加載到會話窗口中的子控件中,使會話窗口承載更多豐富的應用。例如,需要在會話窗口中承載聯(lián)系人的虛擬形象這個應用,則在會話窗口中,只要將聯(lián)系人的虛擬形象加載到Sidebar的界面部分,并通過Sidebar的邏輯部分與實現(xiàn)虛擬形象的插件進行交互。其中,由于會話窗口中的每個子控件是互相獨立且不可以直接交互,所以會話窗口中的任意一個子控件中的插件與其他子控件中的插件相互獨立且不可以直接交互,任意兩子控件通過母板進行交互,所以當需要改變會話窗口的布局時,只要改變會話窗口中的子控件的布局,且改變布局后不需要對會話窗口中各插件的交互代碼進行修改,如此減少開發(fā)成本;當對某個即時通信軟件產(chǎn)品的會話窗口進行升級時,只需要對升級的部分所在的子控件進行修改,其他的部分繼承原會話窗口,如此減輕新功能開發(fā)難度且減少開發(fā)成本;當在某個即時通信軟件產(chǎn)口的會話窗口的基礎上開發(fā)另一個會話窗口時,只要對修改的部分所在的子控件進行修改,而其他的部分繼承原會話窗口,如此減輕新產(chǎn)品開發(fā)難度且減少開發(fā)成本。其中,在即時通信軟件中,可以同時創(chuàng)建多個會話窗口,每個會話窗口的會話類型可以不全相同,在本實施例中,可以為該即時通信軟件創(chuàng)建一個樹,在該樹中,每個葉子節(jié)點用于標識創(chuàng)建的會話窗口 ;會話類型都相同的葉子節(jié)點具有公共的父節(jié)點,該父節(jié)點用于標識這些葉子節(jié)點所屬的會話類型;每個用于標識會話類型的節(jié)點具有公共的父節(jié)點, 該父節(jié)點用于標識該即時通信軟件。其中,樹中的每個節(jié)點的數(shù)據(jù)結(jié)構(gòu)可以為接口。其中,在本實施例中,可以對創(chuàng)建的母板進行橫向切割,采用分層的方式將母板分解成展示層、邏輯層和數(shù)據(jù)通信層等,然后,通過展示層承載每個子控件的界面部分,數(shù)據(jù)通信層負責與子控件交互并進行會話消息的收發(fā),邏輯層負責將展示層和數(shù)據(jù)通信層連接起來。在本發(fā)明實施例中,在腳本描述中設置用于填充母板的每個子控件,并將每個子控件填充在母板中,將母板放置在窗口中得到會話窗口。由于會話窗口中的每個子控件相互獨立,任意兩個子控件中承載的插件也相互獨立,因此改變原會話窗口的布局時,不需要修改每個插件之間的交互代碼,在原會話窗口中開發(fā)新會話窗口,則只要對修改的部分所在的子控件進行修改,而其他的部分繼承原會話窗口,如此減輕開發(fā)難度和減少開發(fā)成本, 且使得會話窗口具有高內(nèi)聚低耦合的特性。實施3如圖5所示,本發(fā)明實施例提供了一種創(chuàng)建會話窗口的方法,包括步驟301 接收創(chuàng)建請求,其中,該創(chuàng)建請求中攜帶會話類型;其中,會話請求是由外部事件引起的,會話類型包括好友類型、群類型、討論組類型或臨時會話類型等。例如,對于用于聊天的即時通信軟件,在該即時通信軟件的主面板的好友列表中,用戶利用鼠標等雙擊某個好友的頭像,該主面板生成會話請求并在會話請求中攜帶會話類型為好友類型。其中,外部事件為用戶雙擊該好友的頭像。步驟302 根據(jù)創(chuàng)建請求中攜帶的會話類型創(chuàng)建對應的母板,以及獲取該會話類型對應的腳本描述;其中,技術(shù)人員事先建立并存儲每種會話類型對應的腳本描述。在腳本描述中事先規(guī)定用于填充母板的每個子控件的控件ID,以及每個子控件在母板中的布局信息。所以在本實施例中,腳本描述包括兩部分內(nèi)容分別為一部分為用于填充母板的每個子控件的控件ID,另一部分為每個子控件的布局信息包括位置、大小、間隙或底圖等。如下所示的即時通信軟件中的好友類型所對應的腳本描述,該腳本描述的代碼為
權(quán)利要求
1.一種創(chuàng)建會話窗口的方法,其特征在于,所述方法包括接收創(chuàng)建請求,所述創(chuàng)建請求中攜帶會話類型;創(chuàng)建母板以及獲取所述會話類型對應的腳本描述,所述腳本描述中至少包括會話區(qū)子控件;將所述腳本描述中描述的每個子控件填充在所述母板中;在所述母板中注冊所述每個子控件,使所述每個子控件與所述母板交互,將所述母板粘貼在窗口得到會話窗口,并為所述會話窗口建立聊天通道。
2.如權(quán)利要求1所述的方法,其特征在于,所述將所述腳本描述中描述的每個子控件填充在所述母板中,具體包括通過對所述腳本描述進行解析,獲取所述每個子控件的標識和所述每個子控件的布局 fn息;根據(jù)所述會話類型和所述每個子控件的標識,獲取所述每個子控件的界面部分和邏輯部分;根據(jù)所述每個子控件的布局信息,將所述每個子控件的界面部分填充在所述母板中, 并對所述每個子控件的界面部分和邏輯部分進行綁定。
3.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述會話類型和所述每個子控件的標識,獲取所述每個子控件的界面部分和邏輯部分,具體包括根據(jù)所述每個子控件的標識,從標識與界面部分的對應關(guān)系中查找所述每個子控件的界面部分;根據(jù)所述會話類型和所述每個子控件的標識,從標識、會話類型與邏輯部分的對應關(guān)系中查找所述每個子控件的邏輯部分。
4.如權(quán)利要求1-3任意一項權(quán)利要求所述的方法,其特征在于,所述子控件包括界面部分和邏輯部分,且任意兩個子控件通過所述母板進行交互。
5.如權(quán)利要求1-3任意一項權(quán)利要求所述的方法,其特征在于,所述方法還包括在所述會話窗口中,如果所述母板接收到事件,查詢所述母板中的每個子控件,如果查詢出能夠處理所述事件的子控件,則將所述事件交于所述查詢的子控件處理。
6.一種創(chuàng)建會話窗口的裝置,其特征在于,所述裝置包括接收模塊,用于接收創(chuàng)建請求,所述創(chuàng)建請求中攜帶會話類型;創(chuàng)建模塊,用于創(chuàng)建母板以及獲取所述會話類型對應的腳本描述,所述腳本描述中至少包括會話區(qū)子控件;填充模塊,用于將所述腳本描述中描述的每個子控件填充在所述母板中;注冊模塊,用于在所述母板中注冊所述每個子控件,使所述每個子控件與所述母板交互,將所述母板粘貼在窗口得到會話窗口,并為所述會話窗口建立聊天通道。
7.如權(quán)利要求6所述的裝置,其特征在于,所述填充模塊具體包括第一獲取單元,用于通過對所述腳本描述進行解析,獲取所述每個子控件的標識和所述每個子控件的布局信息;第二獲取單元,用于根據(jù)所述會話類型和所述每個子控件的標識,獲取所述每個子控件的界面部分和邏輯部分;填充單元,用于根據(jù)所述每個子控件的布局信息,將所述每個子控件的界面部分填充在所述母板中,并對所述每個子控件的界面部分和邏輯部分進行綁定。
8.如權(quán)利要求7所述的裝置,其特征在于,所述第二獲取單元具體包括第一查找子單元,用于根據(jù)所述每個子控件的標識,從標識與界面部分的對應關(guān)系中查找所述每個子控件的界面部分;第二查找子單元,用于根據(jù)所述會話類型和所述每個子控件的標識,從標識、會話類型與邏輯部分的對應關(guān)系中查找所述每個子控件的邏輯部分。
9.如權(quán)利要求6-8任意一項權(quán)利要求所述的裝置,其特征在于,所述子控件包括界面部分和邏輯部分,且任意兩個子控件通過所述母板進行交互。
10.如權(quán)利要求6-8任意一項權(quán)利要求所述的裝置,其特征在于,所述裝置還包括 查詢模塊,用于在所述會話窗口中,如果所述母板接收到事件,查詢所述母板中的每個子控件,如果查詢出能夠處理所述事件的子控件,則將所述事件交于所述查詢的子控件處理。
全文摘要
本發(fā)明公開了一種創(chuàng)建會話窗口的方法及裝置,屬于計算機領域。所述方法包括接收創(chuàng)建請求,所述創(chuàng)建請求中攜帶會話類型;創(chuàng)建母板以及獲取所述會話類型對應的腳本描述,所述腳本描述中至少包括會話區(qū)子控件;將所述腳本描述中描述的每個子控件填充在所述母板中;在所述母板中注冊所述每個子控件,使所述每個子控件與所述母板交互,將所述母板粘貼在窗口得到會話窗口,并為所述會話窗口建立聊天通道。所述裝置包括接收模塊、創(chuàng)建模塊、填充模塊和注冊模塊。本發(fā)明能夠減輕開發(fā)新會話窗口的難度以及減少開發(fā)成本。
文檔編號H04L12/58GK102214090SQ201010144498
公開日2011年10月12日 申請日期2010年4月9日 優(yōu)先權(quán)日2010年4月9日
發(fā)明者劉曉宇, 李斌, 欒濤, 王文濤, 陳曦 申請人:騰訊科技(深圳)有限公司