專(zhuān)利名稱(chēng):Gui程序制作輔助裝置、gui程序制作輔助方法、程序及集成電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種⑶I (Graphical User Interface,圖形用戶(hù)界面)程序的制作輔 助技術(shù),尤其是有關(guān)提高GUI程序的制作效率的技術(shù)。
背景技術(shù):
近年來(lái),個(gè)人電腦、手機(jī)及數(shù)字電視等數(shù)字家電產(chǎn)品(以下稱(chēng)為“設(shè)備”)普遍都具 備 GUI。在用于使設(shè)備運(yùn)行GUI的GUI程序制作中,為了提高開(kāi)發(fā)效率,利用輔助GUI程序 制作的GUI編譯器(GUI builder)。利用⑶I編譯器,設(shè)計(jì)師將構(gòu)成按鈕或圖像等⑶I的部件(⑶I部件)配置在工作 畫(huà)面上,給配置的GUI部件設(shè)定大小或顏色等屬性。GUI編譯器根據(jù)配置于工作畫(huà)面的GUI 部件、為各⑶I部件設(shè)定的屬性,制作畫(huà)面布局(screen layout)。而且,利用GUI編譯器,設(shè)計(jì)師進(jìn)行將處理程序與構(gòu)成畫(huà)面布局的各GUI部件關(guān)聯(lián) 起來(lái)的工作。在此,處理程序是記載有用戶(hù)對(duì)GUI部件進(jìn)行操作時(shí)要執(zhí)行的處理的程序,由 程序員預(yù)先記述。如果由設(shè)計(jì)師進(jìn)行的將處理程序?qū)?yīng)關(guān)聯(lián)的工作結(jié)束,GUI編譯器按照與畫(huà)面布 局和構(gòu)成該畫(huà)面布局的各GUI部件關(guān)聯(lián)的處理程序,自動(dòng)生成GUI程序的源代碼(source code)。作為這樣的⑶I編譯器,例如已由專(zhuān)利文獻(xiàn)1所公開(kāi)。然而,在專(zhuān)利文獻(xiàn)1所記載的GUI編譯器中,完全沒(méi)有考慮在處理程序所對(duì)應(yīng)關(guān)聯(lián) 的畫(huà)面布局被替換成別的畫(huà)面布局時(shí),簡(jiǎn)化對(duì)構(gòu)成替換后的畫(huà)面布局的各GUI部件進(jìn)行處 理程序的對(duì)應(yīng)關(guān)聯(lián)的工作。專(zhuān)利文獻(xiàn)1 :日本專(zhuān)利公報(bào)特許第4197095號(hào)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種能夠提高在替換畫(huà)面布局開(kāi)發(fā)新的GUI程序時(shí)的開(kāi) 發(fā)效率的技術(shù)。本發(fā)明所提供的GUI程序制作輔助裝置包括,根據(jù)用戶(hù)的操作輸入,生成包含多 個(gè)⑶I (圖形用戶(hù)界面)部件的⑶I畫(huà)面布局,并將已生成的畫(huà)面布局替換成別的畫(huà)面布局 的畫(huà)面布局制作部;根據(jù)用戶(hù)的操作輸入,制作與操作所述GUI部件時(shí)所執(zhí)行的處理有關(guān) 的處理程序的處理程序制作部;根據(jù)用戶(hù)的操作輸入,將所述GUI部件與所述處理程序進(jìn) 行關(guān)聯(lián),生成表示該關(guān)聯(lián)的連接信息的連接設(shè)定部;基于所述畫(huà)面布局、所述處理程序以及 所述連接信息,生成Gn程序的源代碼的源代碼生成部;當(dāng)由所述畫(huà)面布局制作部將已生 成的畫(huà)面布局替換成別的畫(huà)面布局時(shí),從替換前畫(huà)面布局推測(cè)與替換后畫(huà)面布局的GUI部 件類(lèi)似的GUI部件,并將類(lèi)似的GUI部件彼此對(duì)應(yīng)起來(lái)的畫(huà)面布局比較部;執(zhí)行將與所述替 換前畫(huà)面布局的⑶I部件關(guān)聯(lián)的所述處理程序與通過(guò)所述畫(huà)面布局比較部而被對(duì)應(yīng)起來(lái)的GUI部件進(jìn)行關(guān)聯(lián)的連接恢復(fù)處理的連接信息恢復(fù)部。
圖I是本發(fā)明實(shí)施方式的GUI程序制作輔助裝置的方框圖。圖2是在畫(huà)面布局制作部生成畫(huà)面布局時(shí)在顯示器顯示的輸入畫(huà)面的一個(gè)例子的示意圖。圖3是畫(huà)面布局定義信息的一個(gè)例子的示意圖。圖4是在用戶(hù)進(jìn)行將⑶I部件和處理程序關(guān)聯(lián)起來(lái)的工作時(shí)所顯示的輸入畫(huà)面的一個(gè)例子的示意圖。圖5是連接信息的一個(gè)例子的示意圖。 圖6是處理程序的一個(gè)例子的示意圖。圖7是源代碼的ー個(gè)例子的示意圖。圖8(A)是替換前畫(huà)面布局的一個(gè)例子的示意圖,(B)是替換后畫(huà)面布局的ー個(gè)例子的示意圖。圖9是表示本發(fā)明實(shí)施方式的GUI程序制作輔助裝置進(jìn)行GUI程序制作處理的流程圖。圖10是表示替換畫(huà)面布局時(shí)的處理的流程圖。圖11是表示圖10中S2300的子程序的流程圖。圖12是表示比較例的⑶I編譯器的結(jié)構(gòu)的方框圖。圖13是表示本發(fā)明實(shí)施方式的GUI程序制作輔助裝置的硬件結(jié)構(gòu)的方框圖。
具體實(shí)施例方式(到獲得本實(shí)施方式的⑶I程序制作輔助裝置為止的經(jīng)過(guò))圖12是表示比較例的⑶I編譯器的結(jié)構(gòu)的方框圖。在圖12中,比較例的⑶I編譯器2000包括畫(huà)面布局制作部2001、連接設(shè)定部2002、處理程序制作部2003、源代碼生成部2004以及存儲(chǔ)部2005。畫(huà)面布局制作部2001根據(jù)用戶(hù)的操作輸入生成⑶I的畫(huà)面布局。連接設(shè)定部2002根據(jù)用戶(hù)的操作輸入,將處理程序與構(gòu)成畫(huà)面布局的GUI部件進(jìn)行關(guān)聯(lián),生成表示GUI部件和處理程序的連接關(guān)系的連接信息。處理程序制作部2003按照程序員的操作輸入制作處理程序。源代碼生成部2004基于畫(huà)面布局、處理程序及連接信息,生成⑶I程序的源代碼。存儲(chǔ)部2005保存畫(huà)面布局、處理程序、連接信息、⑶I程序的源代碼。然而,在圖12所示的GUI編譯器的情況下,如果與處理程序關(guān)聯(lián)的畫(huà)面布局被替換為別的畫(huà)面布局,用戶(hù)還必須逐一進(jìn)行將處理程序與構(gòu)成替換后的畫(huà)面布局的各⑶I部件關(guān)聯(lián)起來(lái)的工作,存在非常費(fèi)事的問(wèn)題。尤其是,有時(shí)只需對(duì)替換前的畫(huà)面布局作些輕微的修正來(lái)制作替換后的畫(huà)面布局,在這種情況下,用戶(hù)也必須再次進(jìn)行與對(duì)替換前的畫(huà)面布局所做的工作幾乎同樣的エ作,造成很大的負(fù)擔(dān)。因此,本實(shí)施方式的目的在于提供ー種能夠提高在替換畫(huà)面布局開(kāi)發(fā)新的GUI程序時(shí)的開(kāi)發(fā)效率的技術(shù)。
(本發(fā)明的實(shí)施方式的GUI程序制作輔助裝置的說(shuō)明)下面,參照附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行說(shuō)明。圖I是本發(fā)明實(shí)施方式的GUI程序制作輔助裝置100的方框圖。⑶I程序制作輔助裝置100由包括中央運(yùn)算裝置、和ROM、RAM及硬盤(pán)等存儲(chǔ)裝置、顯示器等輸出裝置以及鍵盤(pán)等輸入裝置的計(jì)算機(jī)構(gòu)成。⑶I程序制作輔助裝置100包括畫(huà)面布局制作部101、連接設(shè)定部102、處理程序制作部103、源代碼生成部104、畫(huà)面布局比較部105、連接信息恢復(fù)部106及存儲(chǔ)部200。在此,畫(huà)面布局制作部101至連接信息恢復(fù)部106例如由CPU執(zhí)行的程序模塊構(gòu)成。畫(huà)面布局制作部101根據(jù)用戶(hù)的操作輸入,生成包含多個(gè)⑶ I部件的⑶I畫(huà)面布局。圖2是在畫(huà)面布局制作部101生成畫(huà)面布局時(shí)在顯示器顯示的輸入畫(huà)面301的ー個(gè)例子的示意圖。畫(huà)面布局制作部101通過(guò)該輸入畫(huà)面301接收來(lái)自用戶(hù)的操作輸入。輸入畫(huà)面301包括工作區(qū)域L31、程序配置區(qū)域L32及⑶I部件選擇區(qū)域L33。工作區(qū)域L31設(shè)置在輸入畫(huà)面301的中央,根據(jù)用戶(hù)的操作輸入,⑶I部件302被配置。工作區(qū)域L31與畫(huà)面布局相對(duì)應(yīng),工作區(qū)域L31的各位置為畫(huà)面布局的各位置。在此,規(guī)定工作區(qū)域L31的水平方向(橫向)為X軸,垂直方向(縱向)為Y軸,用X坐標(biāo)和Y坐標(biāo)規(guī)定各位置。因此,畫(huà)面布局的各位置也以工作區(qū)域L31的X坐標(biāo)和Y坐標(biāo)來(lái)表示。程序配置區(qū)域L32設(shè)在輸入畫(huà)面301的下部,顯示表示能夠與⑶I部件關(guān)聯(lián)起來(lái)的處理程序的圖標(biāo)304。在圖2的例子中,顯示寫(xiě)有player_program的一個(gè)圖標(biāo)304。另夕卜,如果能夠與GUI部件關(guān)聯(lián)的處理程序存在多個(gè),則各處理程序的圖標(biāo)304都顯示在程序配置區(qū)域L32。⑶I部件選擇區(qū)域L33設(shè)在輸入畫(huà)面的右側(cè),一覽顯示用戶(hù)可選擇的預(yù)先確定的多個(gè)⑶I部件。在圖2的例子中,GUI部件包括Box、Button、Label、以及List。用戶(hù)從⑶I部件選擇區(qū)域L33所顯示的⑶I部件中,通過(guò)點(diǎn)擊例如鼠標(biāo)來(lái)選擇喜歡的⑶I部件。然后,將所選擇的⑶I部件拖放在工作區(qū)域L31。由此,⑶I部件被追加到制作中的畫(huà)面布局。另外,畫(huà)面布局制作部101具備設(shè)定⑶I部件屬性的功能。作為⑶I部件的屬性,包括例如名稱(chēng)、位置、大小及字符串。名稱(chēng)屬性定義賦予CTI部件的名稱(chēng)。位置屬性定義⑶I部件配置在工作區(qū)域L31中的位置。字符串屬性定義⑶I部件所顯示的字符串。圖2中,假設(shè)用戶(hù)使用鼠標(biāo)雙擊了工作區(qū)域L31所顯示的⑶I部件302。于是,畫(huà)面布局制作部101在與⑶I部件302相鄰的位置顯示用于設(shè)定⑶I部件302的屬性的屬性設(shè)定面板303。用戶(hù)通過(guò)在屬性設(shè)定面板303設(shè)置的各屬性輸入欄內(nèi)輸入屬性值,設(shè)定⑶I部件302的屬性。在圖2的例子的屬性設(shè)定面板303中,“Name”欄中輸入名稱(chēng)的屬性值,“X”、“Y”欄中輸入位置的屬性值,欄中輸入大小屬性值,“Text”欄中輸入字符串屬性值?!癗ame”欄中填寫(xiě)了 “ Button_01”。因此,⑶I部件302的名稱(chēng)的屬性值為“Button_0I”。另外,“X”、“Y”欄里分別填寫(xiě)了“ 100”、“100”。因此,⑶I部件302的位置屬性值的X坐標(biāo)為100,Y坐標(biāo)為100。也就是說(shuō),⑶I部件302在畫(huà)面布局中配置在(X,Y) = (100,100)的位置。
另外,如果用戶(hù)在工作區(qū)域L31內(nèi)操作鼠標(biāo)使GUI部件302移動(dòng),則工作區(qū)域L31內(nèi)的⑶I部件302的位置在“X”、“Y”欄得到反映。也就是說(shuō),用戶(hù)通過(guò)在X”、“Y”欄中直接輸入屬性值,或用鼠標(biāo)使GUI部件302移動(dòng),從而設(shè)定GUI部件302的位置的屬性值?!癢”、“H”欄中分別填寫(xiě)了 “50”、“ 120”。因此,⑶I部件302的大小屬性值在水平方向?yàn)椤?0”,在垂直方向?yàn)椤?20”。此時(shí),⑶I部件302為具有50X120尺寸的矩形?!癟ext”欄中填寫(xiě)“push”。因此,⑶I部件302的字符串屬性為“push”,在⑶I部件302上重疊有“push”的字符串。當(dāng)由用戶(hù)在工作區(qū)域L31配置⑶I部件,對(duì)所配置的⑶I部件設(shè)定屬性的工作完成后,畫(huà)面布局制作部101生成各⑶I部件屬性已被定義的畫(huà)面布局定義信息201,并存儲(chǔ)于存儲(chǔ)部200。這樣,畫(huà)面布局制作部101通過(guò)生成畫(huà)面布局已被定義的畫(huà)面布局定義信息201,從而生成畫(huà)面布局。
畫(huà)面布局定義信息201,用例如XML(eXtensible Markup Language :可擴(kuò)展標(biāo)記語(yǔ)言)記述。圖3是畫(huà)面布局定義信息201的一個(gè)例子的示意圖。圖3的例子示出包含⑶I部件302的畫(huà)面布局的畫(huà)面布局定義信息201。⑶I部件302屬于按鈕部件類(lèi)別。因此,在圖3的例子中,〈class〉的標(biāo)記中記述“Button”。在此,部件類(lèi)別定義⑶I部件的種類(lèi)。另外,作為部件類(lèi)別,還存在標(biāo)簽、列表、文本框(box)等。因此,作為⑶I部件的種類(lèi),除按鈕外還存在標(biāo)簽、列表、文本框等。另外,GUI部件302的位置的屬性值為(X,Y) = (100,100)。因此,<x>的標(biāo)記中記述100, <y>的標(biāo)記中記述100。另外,⑶I部件302的大小的屬性值為(W,H) = (50,100)。因此,〈width〉的標(biāo)記中記述50,〈height〉的標(biāo)記中記述100。另外,由于⑶I部件302的字符串的屬性值為“push”,因此〈text〉的標(biāo)記中記述“push”。并且,畫(huà)面布局制作部101具有根據(jù)用戶(hù)的操作輸入,將通過(guò)上述的操作而制作成的畫(huà)面布局與保存完畢的畫(huà)面布局進(jìn)行替換的功能。回到圖1,連接設(shè)定部102根據(jù)用戶(hù)的操作輸入,將⑶I部件和處理程序進(jìn)行關(guān)聯(lián),生成表示該關(guān)聯(lián)的連接信息202,并存儲(chǔ)于存儲(chǔ)部200。具體來(lái)說(shuō),如果用戶(hù)在按壓鍵盤(pán)的指定鍵的狀態(tài)下用鼠標(biāo)選擇圖2所示的工作區(qū)域L31中配置的GUI部件302,并拖放至如圖2所示的程序配置區(qū)域L32中配置的圖標(biāo)304,則連接設(shè)定部102請(qǐng)求畫(huà)面布局制作部101在顯示器顯示圖4所示的輸入畫(huà)面。圖4是在用戶(hù)進(jìn)行將⑶I部件和處理程序關(guān)聯(lián)起來(lái)的工作時(shí)所顯示的輸入畫(huà)面的一個(gè)例子的示意圖。在圖4的輸入畫(huà)面中,⑶I部件302和圖標(biāo)304由線(xiàn)段502連接。然后,從該線(xiàn)段502的中央分歧出線(xiàn)段503,在線(xiàn)段503的前端顯示有方法列表501。方法列表501顯示圖標(biāo)304所示的處理程序(player_program)所具備的多個(gè)方法的ー覽表。在圖4的例子中,示出、]^”、“81(^”、“デ;1^¥31(1”、“代¥;[11(1”的方法。用戶(hù)從這些方法中選擇ー個(gè)或多個(gè)方法,將處理程序與GUI部件302關(guān)聯(lián)起來(lái)。在圖4的例子中,“play”的方法用黑圓點(diǎn)表示,被用戶(hù)所選擇。此時(shí),連接設(shè)定部102將player_program的“play”方法與GUI部件302關(guān)聯(lián)起來(lái)。這樣,本實(shí)施方式中,在將處理程序與GUI部件關(guān)聯(lián)起來(lái)的同時(shí)也將該處理程序所包含的某一方法與GUI部件進(jìn)行關(guān)聯(lián)。圖5是連接信息202的一個(gè)例子的示意圖。如圖5所示,連接信息202由例如XML記述。但是,這只是ー個(gè)例子,只要是電腦能解釋的語(yǔ)言,用什么樣的語(yǔ)言記述都可以。在圖5中,示出了針對(duì)圖2所示的⑶I部件302的連接信息202。圖5中,<ui>標(biāo)記中記述⑶I部件302的名稱(chēng)“Button_01”?!磒rogram〉的標(biāo)記中記述處理程序的名稱(chēng)“player_program”。由此,“player_program”的處理程序與⑶I部件302被關(guān)聯(lián)起來(lái)。另外,在“method”的標(biāo)記中,記述了處理程序中被關(guān)聯(lián)起來(lái)的方法名“play”。由此,“play”方法與⑶I部件302被關(guān)聯(lián)起來(lái)。 本實(shí)施方式中,連接信息202例如針對(duì)每個(gè)GUI部件而被生成并存儲(chǔ)于存儲(chǔ)部200。而且,連接信息202記述有⑶I部件的名稱(chēng)的屬性值。因此,將⑶I部件302的名稱(chēng)的屬性值作為線(xiàn)索(key),能夠確定GUI部件302的連接信息202,從而能夠確定與GUI部件關(guān)聯(lián)的處理程序。處理程序制作部103根據(jù)用戶(hù)的操作輸入,制作與⑶I部件被操作時(shí)執(zhí)行的處理有關(guān)的處理程序203。具體來(lái)說(shuō),處理程序制作部103例如由文本編輯器(text editor)構(gòu)成,進(jìn)行處理程序203的制作和編輯。制作成的處理程序203被保存在存儲(chǔ)部200。處理程序203例如由JavaScript (注冊(cè) 商標(biāo))等記述,具備至少ー個(gè)以上的方法。圖6是處理程序203的一個(gè)例子的不意圖。圖6的例子示出圖4所示的“player_program”的處理程序203。在圖6的第一行ILi述“player—program',, “player—program,,被宣布。如圖4 所不,“卩1&5^1'_卩1'08以111”包括“卩1&7”、“810卩”、“打(^ ^(1”、“代¥;[11(1”的方法。因此,在圖6的3至6行的各行定義了這些方法。圖6的例子省略了各方法的詳細(xì)的程序代碼。另外,假設(shè)制作處理程序203的用戶(hù)主要是程序員,是與制作畫(huà)面布局的設(shè)計(jì)人員不同的用戶(hù)。另外,執(zhí)行方法的設(shè)備也可以與顯示⑶I的設(shè)備不同。即,當(dāng)顯示⑶I的設(shè)備例如通過(guò)網(wǎng)絡(luò)與服務(wù)器連接時(shí),如果用戶(hù)操作GUI部件,則該設(shè)備將GUI部件的操作信息通知給服務(wù)器。然后,服務(wù)器可以根據(jù)該操作信息執(zhí)行與GUI部件關(guān)聯(lián)的方法,將處理結(jié)果返回給設(shè)備。在這種情況下,安裝有⑶I的設(shè)備也可不必安裝處理程序203。這樣,處理程序203即可以存在干與安裝有Gn設(shè)備同一的設(shè)備,也可以存在于用網(wǎng)絡(luò)連接的不同的設(shè)備。源代碼生成部104根據(jù)畫(huà)面布局定義信息201、連接信息202以及處理程序203,制作GUI程序的源代碼204。制作成的源代碼204被保存于存儲(chǔ)部200。源代碼204例如用Java (注冊(cè) 商標(biāo))Script記述。另外,畫(huà)面布局制作部101可以變更畫(huà)面布局的設(shè)定,使畫(huà)面布局存在于與安裝處理程序的設(shè)備不同的設(shè)備。此時(shí),源代碼生成部104生成用于讓畫(huà)面布局上的⑶I部件經(jīng)由網(wǎng)絡(luò)訪(fǎng)問(wèn)安裝處理程序203的設(shè)備的源代碼204。圖7是源代碼204的一個(gè)例子的示意圖。圖7的例子示出⑶I部件302的源代碼204。第一行屬于按鈕的部件類(lèi)別的對(duì)象的“buttonl”被宣布。在第二行記述“buttonl. setProgram(player_program),,,“player_program,,與“buttonl” 的對(duì)象關(guān)聯(lián)起來(lái)。在第三行,記述“buttonl. setProgramMethod ( “play”)”,“play” 的方法與buttonl的對(duì)象關(guān)聯(lián)起來(lái)。因此,安裝有源代碼204的設(shè)備在⑶I部件 302被操作時(shí),執(zhí)行player_program的“play”的方法。這樣,源代碼生成部104解析畫(huà)面布局定義信息201,提取表示畫(huà)面布局上的各GUI部件的種類(lèi)或顯示位置的屬性,生成各GUI部件的源代碼204,將所提取的屬性注冊(cè)到所生成的源代碼204。另外,在圖7的例子中,省略了 GUI部件的屬性的記述。而且,源代碼生成部104解析連接信息202,提取與各GUI部件相關(guān)聯(lián)的處理程序203及方法。然后,當(dāng)GUI部件發(fā)生了事件(event)(例如,用戶(hù)按下部件的GUI部件等事件)時(shí),源代碼生成部104將用于調(diào)出與⑶I部件關(guān)聯(lián)的處理程序203及方法的代碼記述于源代碼204。由此,當(dāng)GUI部件發(fā)生事件時(shí),源代碼204被解釋?zhuān)P(guān)聯(lián)的處理程序的方法被執(zhí)行。在本實(shí)施方式中,源代碼204針對(duì)每個(gè)GUI部件而生成,以畫(huà)面布局為單位歸納成I個(gè)文件?;氐綀DI,存儲(chǔ)部200例如由HDD (硬盤(pán)驅(qū)動(dòng)器)構(gòu)成,保存畫(huà)面布局定義信息201、連接信息202、處理程序203以及處理程序源代碼204。在由畫(huà)面布局制作部101將生成完畢的畫(huà)面布局替換為別的畫(huà)面布局時(shí),畫(huà)面布局比較部105從替換前畫(huà)面布局推測(cè)與替換后畫(huà)面布局的⑶I部件類(lèi)似的⑶I部件,將類(lèi)似的GUI部件彼此對(duì)應(yīng)起來(lái)。有關(guān)推測(cè)的詳細(xì)內(nèi)容,將在以后詳述。連接信息恢復(fù)部106執(zhí)行將與替換前畫(huà)面布局的⑶I部件關(guān)聯(lián)的處理程序與通過(guò)畫(huà)面布局比較部105而被對(duì)應(yīng)起來(lái)的⑶I部件進(jìn)行關(guān)聯(lián)的連接恢復(fù)處理。在以往的⑶I編譯器中,當(dāng)替換生成完畢的畫(huà)面布局制作別的畫(huà)面布局時(shí),用戶(hù)必須用手工進(jìn)行操作,逐一地將處理程序與替換后畫(huà)面布局的各⑶I部件進(jìn)行關(guān)聯(lián)。例如,替換后的畫(huà)面布局通過(guò)刪除替換前畫(huà)面布局的一部分⑶I部件、或向替換前畫(huà)面布局追加新的⑶I部件、或變更替換前畫(huà)面布局的⑶I部件的位置來(lái)制作的情況較多。因此,替換后畫(huà)面布局相對(duì)于替換前畫(huà)面布局而言很多⑶I部件是共同的可能性較高。如果象以往的GUI編譯器那樣,讓用戶(hù)進(jìn)行將處理程序分別與替換后畫(huà)面布局的各GUI部件關(guān)聯(lián)起來(lái)的操作,會(huì)加重用戶(hù)的負(fù)擔(dān)。因此,在本實(shí)施方式中,針對(duì)替換后畫(huà)面布局的各⑶I部件,從替換前畫(huà)面布局中推測(cè)類(lèi)似的GUI部件,對(duì)被推測(cè)有類(lèi)似的GUI部件的替換后畫(huà)面布局的GUI部件,自動(dòng)地將處理程序與類(lèi)似的GUI部件關(guān)聯(lián)起來(lái)。由此,能夠減輕用戶(hù)針對(duì)替換后畫(huà)面布局將處理程序進(jìn)行關(guān)聯(lián)的負(fù)擔(dān),從而能大幅提高⑶I畫(huà)面布局的開(kāi)發(fā)效率。具體來(lái)說(shuō),連接信息恢復(fù)部106將進(jìn)行了連接恢復(fù)處理的替換后畫(huà)面布局的⑶I部件的名稱(chēng)的屬性值,用對(duì)應(yīng)的替換前畫(huà)面布局的GUI部件的名稱(chēng)的屬性值更新。例如,假設(shè)替換后畫(huà)面布局的⑶I部件的名稱(chēng)的屬性值為“ButtonJU”,替換前畫(huà)面布局的⑶I部件的名稱(chēng)的屬性值為“Button_A”,則替換后畫(huà)面布局的GUI部件的名稱(chēng)的屬性值成為“Button—A”。
由此,將與替換前畫(huà)面布局的⑶I部件關(guān)聯(lián)的處理程序及方法與替換后畫(huà)面布局的GUI部件關(guān)聯(lián)起來(lái)。也就是說(shuō),替換后畫(huà)面布局的⑶I部件的連接信息202及源代碼204,以替換前畫(huà)面布局的GUI部件的名稱(chēng)的屬性值的“Button_A”為線(xiàn)索而與替換前畫(huà)面布局的畫(huà)面布局定義信息201相關(guān)聯(lián)。因此,如果用替換前畫(huà)面布局的GUI部件的名稱(chēng)的屬性值更新替換后畫(huà)面布局的⑶I部件的名稱(chēng)的屬性值,則可以不用重新生成替換后畫(huà)面布局的⑶I部件的連接信息202及源代碼204,將替換前畫(huà)面布局的⑶I部件的處理程序和方法與替換后畫(huà)面布局的GUI部件關(guān)聯(lián)起來(lái)。另外,連接信息恢復(fù)部106向用戶(hù)通知通過(guò)畫(huà)面布局比較部105而被對(duì)應(yīng)起來(lái)的GUI部件,對(duì)由用戶(hù)進(jìn)行了表示推測(cè)結(jié)果正確的操作輸入的GUI部品執(zhí)行連接恢復(fù)處理。
例如,對(duì)于替換后畫(huà)面布局的⑶I部件,也有可能推測(cè)出與用戶(hù)設(shè)想的⑶I部件不同的其他⑶I部件為類(lèi)似的⑶I部件。此時(shí),由于連接恢復(fù)處理自動(dòng)運(yùn)行,所以用戶(hù)必須解除關(guān)聯(lián),再次進(jìn)行將所希望的處理程序和方法與替換后畫(huà)面布局的GUI部件關(guān)聯(lián)起來(lái)的操作。這樣,反而降低了用戶(hù)的工作效率。因此,采用詢(xún)問(wèn)用戶(hù)推測(cè)結(jié)果是否正確的結(jié)構(gòu)。由此,可以讓用戶(hù)事先判斷推測(cè)結(jié)果是否正確,防止將用戶(hù)意圖之外的處理程序與替換后畫(huà)面布局的⑶I部件關(guān)聯(lián),從而可以提高工作效率。作為詢(xún)問(wèn)的方式,可以將替換后畫(huà)面布局的⑶I部件的名稱(chēng)的屬性值和替換前畫(huà)面布局的GUI部件的名稱(chēng)的屬性值對(duì)應(yīng)起來(lái)加以顯示,且在顯示器上顯示包含“正確”或者“不正確”的選擇項(xiàng)目的對(duì)話(huà)框。然后,可以使該對(duì)話(huà)框按GUI部件的數(shù)目反復(fù)顯示?;蛘呖梢詫⑷竣荌部件的對(duì)應(yīng)列表顯示,并且,針對(duì)各對(duì)應(yīng),在顯示器上顯示包含“正確”或者“不正確”的選擇項(xiàng)目的I個(gè)對(duì)話(huà)框?;蛘?,可以將替換前畫(huà)面布局和替換后畫(huà)面布局并排顯示,用連接GUI部件的線(xiàn)段表現(xiàn)GUI部件的對(duì)應(yīng),并且,通過(guò)用戶(hù)操作刪除不正確的對(duì)應(yīng)的線(xiàn)段。以上是對(duì)⑶I程序制作輔助裝置100的結(jié)構(gòu)的說(shuō)明。(流程圖)以下,對(duì)本實(shí)施方式中的⑶I程序制作輔助裝置100所進(jìn)行的處理進(jìn)行說(shuō)明。圖9是表示本發(fā)明實(shí)施方式的GUI程序制作輔助裝置100進(jìn)行的GUI程序制作處理的流程圖。首先,處理程序制作部103根據(jù)用戶(hù)的操作輸入,制作如圖6所示的針對(duì)GUI部件的處理程序203 (S1001)。制作成的處理程序203保存于存儲(chǔ)部200。處理程序203被保存后,表示處理程序203的圖標(biāo)304被顯示在如圖2所示的程序配置區(qū)域L32。其次,畫(huà)面布局制作部101根據(jù)用戶(hù)的操作輸入,配置⑶I部件,制作畫(huà)面布局(S1002)。此時(shí),對(duì)各⑶I部件設(shè)定只有唯一解釋的名稱(chēng)的屬性值。這個(gè)名稱(chēng)的屬性值,即可以由畫(huà)面布局制作部101自動(dòng)附加,也可以由用戶(hù)指定。作為由畫(huà)面布局制作部101自動(dòng)附加的方式,例如,如果GUI部件屬于按鈕的部件類(lèi)別,第一個(gè)按鈕的CTI部件為“Button_01”,第二個(gè)按鈕的⑶I部件為“Button_02”,如此,可以賦予由表示類(lèi)別或標(biāo)記的字符串和表示制作順序的數(shù)值的組合而成的名稱(chēng)的屬性值。然后,畫(huà)面布局制作部101在由用戶(hù)進(jìn)行的畫(huà)面布局的制作工作結(jié)束后,生成定義畫(huà)面布局的畫(huà)面布局定義信息201,并保存于存儲(chǔ)部200。由此,畫(huà)面布局被保存在存儲(chǔ)部200。此時(shí),畫(huà)面布局制作部101可以讓用戶(hù)輸入畫(huà)面布局定義信息201的文件名,使具有該文件名的畫(huà)面布局定義信息201保存于存儲(chǔ)部200。由此,用戶(hù)通過(guò)指定文件名,可以在顯示器上顯示用具有指定的文件名的畫(huà)面布局定義信息201定義的制作完畢的畫(huà)面布局。然后,在由用戶(hù)編輯制作完畢的畫(huà)面布局的情況下,當(dāng)編輯工作結(jié)束時(shí),畫(huà)面布局制作部101生成編輯后的畫(huà)面布局的畫(huà)面布局定義信息201,并將其蓋寫(xiě)在原來(lái)的畫(huà)面布局定義信息201上。圖8(A)是由畫(huà)面布局制作部101制作的畫(huà)面布局900的一個(gè)例子的示意圖。以后,將圖8(A)的畫(huà)面布局900作為替換前畫(huà)面布局進(jìn)行說(shuō)明。其次,連接設(shè)定部102根據(jù)用戶(hù)的操作輸入,將處理程序203與構(gòu)成由畫(huà)面布局制作部101制作的畫(huà)面布局900的⑶I部件關(guān)聯(lián)起來(lái)(S1003)。
在圖8(A)的例子中,⑶I部件901是按鈕類(lèi)別的⑶I部件,通過(guò)用戶(hù)而與處理程序203的“ play”方法關(guān)聯(lián)。因此,連接設(shè)定部102生成將處理程序203的“ play”方法與⑶I部件901進(jìn)行關(guān)聯(lián)的連接信息202。連接設(shè)定部102對(duì)其他的⑶I部件902至904也同樣進(jìn)行與處理程序203的關(guān)聯(lián),并生成連接信息202。生成的連接信息202被保存于存儲(chǔ)部200。其次,源代碼生成部104根據(jù)與各⑶I部件關(guān)聯(lián)的處理程序203、定義畫(huà)面布局910的畫(huà)面布局定義信息201以及連接信息202的記述內(nèi)容,生成如圖7所示的⑶I程序源代碼204 (S1004)。生成的源代碼204被保存于存儲(chǔ)部200。另外,處理程序203在啟動(dòng)⑶I程序時(shí)由設(shè)備讀入而可以使用。因此,源代碼204中明示的初始化處理沒(méi)有被定義。然而,在源代碼204中,當(dāng)明確地定義初始化處理的情況下,也可以在處理程序203中只記述處理程序的定義,使在源代碼204中進(jìn)行處理程序203的初始化處理。以上是⑶I程序的制作處理。下面,對(duì)替換畫(huà)面布局時(shí)的處理進(jìn)行說(shuō)明。圖10是表示替換畫(huà)面布局時(shí)的處理的流程圖。首先,畫(huà)面布局制作部101用與S1002同樣的方法制作與畫(huà)面布局900不同的畫(huà)面布局910 (S2100)。然后,制作定義畫(huà)面布局910的畫(huà)面布局定義信息201,并保存于存儲(chǔ)部200。在此,畫(huà)面布局制作部101暫時(shí)結(jié)束畫(huà)面布局910的制作處理。圖8(B)是畫(huà)面布局910的一個(gè)例子的示意圖。以后,將畫(huà)面布局910作為替換后畫(huà)面布局進(jìn)行說(shuō)明。其次,畫(huà)面布局制作部101根據(jù)用戶(hù)的操作輸入,將畫(huà)面布局900替換成畫(huà)面布局910(S2200)。具體來(lái)說(shuō),畫(huà)面布局制作部101在畫(huà)面布局910由顯示器顯示的狀態(tài)下,受理來(lái)自用戶(hù)的畫(huà)面布局的替換指示。于是,畫(huà)面布局制作部101列表顯示保存于存儲(chǔ)部200中的畫(huà)面布局定義信息201的文件名。然后,當(dāng)由用戶(hù)選擇了ー個(gè)畫(huà)面布局定義信息201時(shí),畫(huà)面布局制作部101將由選擇出的畫(huà)面布局定義信息201所定義的畫(huà)面布局900作為替換前畫(huà)面布局顯不于顯不器。然后,畫(huà)面布局制作部101在顯示器上顯示詢(xún)問(wèn)用戶(hù)是否可以用畫(huà)面布局910來(lái)替換畫(huà)面布局900的對(duì)話(huà)框。然后,如果用戶(hù)進(jìn)行了表示可以替換的操作輸入,畫(huà)面布局制作部101將畫(huà)面布局900認(rèn)作為畫(huà)面布局910的替換對(duì)象的畫(huà)面布局。另ー方面,如果用戶(hù)進(jìn)行表示不可以替換的操作輸入,則畫(huà)面布局制作部101可以再一次列表顯示畫(huà)面布局定義信息201的文件名,催促用戶(hù)選擇別的畫(huà)面布局。然后,畫(huà)面布局制作部101 —旦確認(rèn)了作為畫(huà)面布局910的替換對(duì)象的畫(huà)面布局900后,再次在顯示器上顯示畫(huà)面布局910。接著,畫(huà)面布局比較部105將畫(huà)面布局900和畫(huà)面布局910進(jìn)行比較,從畫(huà)面布局900中推測(cè)與構(gòu)成畫(huà)面布局910的⑶I部件類(lèi)似的⑶I部件(S2300)。在此,畫(huà)面布局比較部105將類(lèi)似的GUI部件對(duì)應(yīng)起來(lái),記述在推測(cè)數(shù)據(jù)中,并存儲(chǔ)于存儲(chǔ)部200。接著,連接信息恢復(fù)部106根據(jù)由畫(huà)面布局比較部105生成的推測(cè)數(shù)據(jù),判斷被推測(cè)與畫(huà)面布局910的⑶I部件類(lèi)似的⑶I部件在畫(huà)面布局900中是否存在(S2400)。然后,連接信息恢復(fù)部106當(dāng)判斷存在類(lèi)似的⑶I部件時(shí)(在S2400為是),處理進(jìn)入S2500,當(dāng)判斷不存在類(lèi)似的GUI部件時(shí)(在S2400為否),結(jié)束處理?!て浯?,連接信息恢復(fù)部106用類(lèi)似的GUI部件的名稱(chēng)的屬性值更新被推測(cè)存在類(lèi)似的⑶I部件的畫(huà)面布局910的⑶I部件的名稱(chēng)的屬性值(S2500)。由此,畫(huà)面布局900的GUI部件的處理程序以及方法與對(duì)應(yīng)的畫(huà)面布局910的GUI部件關(guān)聯(lián)起來(lái)。例如,假設(shè)推測(cè)⑶I部件901和⑶I部件911類(lèi)似,⑶I部件911的名稱(chēng)的屬性值為“Button_01”,⑶I部件901的名稱(chēng)的屬性值為“Button_A”。此時(shí),連接信息恢復(fù)部106將畫(huà)面布局910的⑶I部件911的名稱(chēng)的屬性值從“Button_01”更新為“Button_A”。另外,對(duì)于⑶I部件911以外的構(gòu)成畫(huà)面布局910的⑶I部件912至914,如果類(lèi)似的GUI部件在畫(huà)面布局900中存在,連接信息恢復(fù)部106將其名稱(chēng)的屬性值與GUI部件911 一祥,用對(duì)應(yīng)的GUI部件的名稱(chēng)的屬性值來(lái)更新。另外,在S2500,如果更新GUI部件的名稱(chēng)的屬性值的結(jié)果與其他的GUI部件的名稱(chēng)的屬性值相重復(fù),連接信息恢復(fù)部106可以酌情變更重復(fù)的⑶I部件的名稱(chēng)。例如,假設(shè)⑶I部件911的名稱(chēng)的屬性值被更新為“Button_A”,但在畫(huà)面布局910中,⑶I部件912的名稱(chēng)的屬性值為“Button_A”。在這種情況下,連接信息恢復(fù)部106可以將⑶I部件911的名稱(chēng)的屬性值變更為與“ Button_A”不同的屬性值(例如,“ Button_A’,,),也可以將⑶I部件912的名稱(chēng)的屬性值從 “Button_A” 變更為 “Button_A,”。另外,若將⑶I部件911的名稱(chēng)的屬性值設(shè)為“Button_A’”,則將畫(huà)面布局900的⑶I部件901的名稱(chēng)的屬性值從“Button_A”變更為“Button_A,”,將⑶I部件901的連接信息202及源代碼204的線(xiàn)索也從“Button_A”變更為“Button_A’”。通過(guò)這樣的操作,能防止⑶I部件901和處理程序203的關(guān)聯(lián)切斷。另外,在S2500,連接信息恢復(fù)部106也可以向用戶(hù)提示名稱(chēng)的屬性值可被更新的GUI部件的候補(bǔ),詢(xún)問(wèn)用戶(hù)是否實(shí)際更新名稱(chēng)的屬性值。另外,當(dāng)在S2400中類(lèi)似的⑶I部件不存在時(shí)(在S2400為否),連接信息恢復(fù)部106可以顯示畫(huà)面布局900和畫(huà)面布局910,讓用戶(hù)指定與畫(huà)面布局910的⑶I部件類(lèi)似的畫(huà)面布局900的⑶I部件。此時(shí),連接信息恢復(fù)部106可以將畫(huà)面布局910的⑶I部件的名稱(chēng)的屬性值用用戶(hù)指定的畫(huà)面布局900的GUI部件的名稱(chēng)的屬性值更新。這樣ー來(lái),用戶(hù)指定的GUI部件的處理程序及方法與畫(huà)面布局910的GUI部件關(guān)聯(lián)起來(lái)。
以上是替換畫(huà)面布局時(shí)的處理。下面對(duì)比較畫(huà)面布局900和畫(huà)面布局910的處理進(jìn)行詳細(xì)說(shuō)明。圖11是圖10中S2300的子程序的流程圖。另外,在以下的說(shuō)明中,假設(shè)GUI部件的名稱(chēng)的屬性值由畫(huà)面布局制作部101自動(dòng)生成,并且不重復(fù)。首先,畫(huà)面布局比較部105在畫(huà)面布局900中提取存在連接信息202、且與處理程序和方法關(guān)聯(lián)的GUI部件(S2301)。然后 ,將提取出的GUI部品與畫(huà)面布局910中的GUI部件進(jìn)行比較。其次,畫(huà)面布局比較部105判斷在S2301中提取的⑶I部件中是否存在沒(méi)有完成比較的⑶I部件(S2302)。如果存在未完成比較的⑶I部件(在S2302為是),處理進(jìn)入
S2303。另ー方面,如果在S2301提取的⑶I部件中全部的Gn部件都已完成比較(在S2302為否),結(jié)束處理。其次,畫(huà)面布局比較部105判斷在畫(huà)面布局910中是否存在具有與S2302中未完成比較的GUI部件相同名稱(chēng)的屬性值的GUI部件(S2303)。然后,畫(huà)面布局比較部105當(dāng)判定存在具有相同名稱(chēng)的屬性值的GUI部件時(shí)(在S2303為是),推測(cè)這兩個(gè)GUI部件類(lèi)似,將這兩個(gè)⑶I部件彼此對(duì)應(yīng)起來(lái)并記述于推測(cè)數(shù)據(jù)中(S2308)。另ー方面,畫(huà)面布局比較部105判斷不存在具有相同名稱(chēng)的屬性值的GUI部件時(shí)(在S2303為否),處理進(jìn)入S2304。例如,在畫(huà)面布局的制作過(guò)程中,通過(guò)對(duì)制作完畢的畫(huà)面布局追加⑶I部件或刪除一部分⑶I部件等來(lái)制作新的畫(huà)面布局的情況較多。在此情況下,在新的畫(huà)面布局中原封不動(dòng)地采用原來(lái)就存在的⑶I部件的名稱(chēng)的屬性值的情況也較多。S2303處理對(duì)于這種情況比較有效。其次,畫(huà)面布局比較部105判斷在畫(huà)面布局910中是否存在與S2302中未完成比較的GUI部件相同種類(lèi)的GUI部件,且判斷在兩個(gè)畫(huà)面布局中,該種類(lèi)的GUI部件是否只存在 I 個(gè)(S2304)。然后,畫(huà)面布局比較部105在判斷存在與S2302中未完成比較的⑶I部件相同種類(lèi)的GUI部件,且在兩個(gè)畫(huà)面布局中該種類(lèi)的GUI部件只存在I個(gè)時(shí)(在S2304為是),推測(cè)這兩個(gè)⑶I部件類(lèi)似,將這兩個(gè)⑶I部件彼此對(duì)應(yīng)起來(lái),并記述于推測(cè)數(shù)據(jù)中(S2308)。在此,作為⑶I部件的種類(lèi)比如有按鈕、列表、圖像等,⑶I部件由所屬的部件類(lèi)別來(lái)定義。在圖8(A),⑶的例子中,畫(huà)面布局900的⑶I部件904的種類(lèi)為列表。另外,畫(huà)面布局910的⑶I部件914的種類(lèi)也為列表。而且,在兩個(gè)畫(huà)面布局中,列表的⑶I部件只有I個(gè)。因此,推測(cè)⑶I部件904與⑶I部件914類(lèi)似。另ー方面,如果在兩個(gè)畫(huà)面布局中不存在相同種類(lèi)的GUI部件,或者是雖然存在相同種類(lèi)的⑶I部件但其個(gè)數(shù)為2個(gè)以上(在S2304為否),處理進(jìn)入S2305。例如,在視頻內(nèi)容的GUI中,由列表顯示視頻內(nèi)容的文件名或者縮略像的I個(gè)列表的GUI部件、和用于選擇并再生被列表顯示的視頻內(nèi)容的多個(gè)按鈕的GUI部件構(gòu)成的情況較多。
因此,S2304的處理對(duì)這樣的包含I個(gè)列表的⑶I部件的畫(huà)面布局有效。另外,在此,當(dāng)相同種類(lèi)的CTI部件為I個(gè)時(shí),推測(cè)兩個(gè)CTI部件類(lèi)似,但并不局限于此。例如,在相同種類(lèi)的⑶I部件在畫(huà)面布局900及910中存在2個(gè)以上且數(shù)目相同的情況下,也可以推測(cè)兩個(gè)GUI部件類(lèi)似。在這種情況下,根據(jù)相同種類(lèi)的相同數(shù)目的GUI部件的例如配置圖案等,可以推測(cè)構(gòu)成2個(gè)以上且相同數(shù)目的GUI部件的各GUI部件的類(lèi)似性。接著,畫(huà)面布局比較部105判斷畫(huà)面布局910中是否存在位置的屬性值與S2302中未完成比較的GUI部件相同的GUI部件(S2305)。然后,畫(huà)面布局比較部105在判定存在位置的屬性值相同的⑶I部件時(shí)(在S2305為是),推測(cè)這兩個(gè)⑶I部件類(lèi)似,將這兩個(gè)⑶I部件對(duì)應(yīng)起來(lái),并記述于推測(cè)數(shù)據(jù)(S2308)。另ー方面,當(dāng)畫(huà)面布局比較部105判定不存在位置的屬性值相同的GUI部件時(shí) (在S2305為否),處理進(jìn)入S2306。在此,即使位置的屬性值多少有些誤差,畫(huà)面布局比較部105也可以判定位置的屬性值相同。具體來(lái)說(shuō),畫(huà)面布局比較部105為X坐標(biāo)、Y坐標(biāo)分別設(shè)置下限閾值和上限閾值。然后,如果以畫(huà)面布局900的⑶I部件的位置的屬性值為基準(zhǔn),在畫(huà)面布局910中存在位于X坐標(biāo)及Y坐標(biāo)的各自的下限閾值及上限臨界值的范圍以?xún)?nèi)的GUI部件,畫(huà)面布局比較部105可以推測(cè)這些⑶I部件類(lèi)似。例如,在畫(huà)面布局的制作過(guò)程中,通過(guò)對(duì)制作完畢的畫(huà)面布局追加⑶I部件或刪除一部分⑶I部件等來(lái)制作新的畫(huà)面布局的情況較多。在這種情況下,在新的畫(huà)面布局中原來(lái)就存在的⑶I部件的位置未被修正的情況也較多。S2305的處理對(duì)于這種情況比較有效。另外,在定型圖案的GUI中,GUI部件的配置位置根據(jù)種類(lèi)而被預(yù)先確定的情況較多。為此,在替換前畫(huà)面布局和替換后畫(huà)面布局中被配置于相同位置的⑶I部件與相同的處理程序關(guān)聯(lián)的可能性變高。因此,S2305的處理可以高精度地推測(cè)定型圖案的⑶I中⑶I部件的類(lèi)似性。其次,畫(huà)面布局比較部105確定在S2302未完成比較的⑶I部件中種類(lèi)相同的⑶I部件群,判斷畫(huà)面布局910中是否存在與該GUI部件群種類(lèi)相同、且名稱(chēng)的規(guī)則性相同的GUI 部件群(S2306)。然后,畫(huà)面布局比較部105在判斷存在種類(lèi)相同且名稱(chēng)的規(guī)則性相同的GUI部件群時(shí)(在S2306為是),分別從兩個(gè)GUI部件群中按名稱(chēng)的屬性值從小到大的順序取出相同數(shù)目的⑶I部件,將取出的⑶I部件彼此對(duì)應(yīng)起來(lái),記述于推測(cè)數(shù)據(jù)(S2308)。另ー方面,如果畫(huà)面布局比較部105判斷不存在種類(lèi)相同且名稱(chēng)的規(guī)則性相同的⑶I部件群(在S2306為否),處理進(jìn)入S2307。在此,GUI部件群彼此的名稱(chēng)的規(guī)則性相同是指,例如一方的GUI部件群包括具有“Button01”、“Button02”、“Button03”名稱(chēng)的屬性值的⑶I部件,另一方的⑶I部件群包括具有 “naviButtonOl ”、“naviButton02”、“naviButton03” 名稱(chēng)的屬性值的 GUI 部件。例如,在畫(huà)面布局900中,⑶I部件901至903的名稱(chēng)的屬性值分別為“ButtonOl”、“Button02”、“Button03”。在畫(huà)面布局910中,⑶I部件911至913的名稱(chēng)的屬性值分別為“naviButtonOl”、“naviButton02”、“naviButton03”。此吋,⑶I部件901至903的種類(lèi)分別為按鈕,且其名稱(chēng)的屬性值具有“Button01”、“Button02”、“Button03”的規(guī)則性。更具體地說(shuō),其字符串一致,且接在字符串之后的數(shù)值以I為單位連續(xù)増大。因此,⑶I部件901至903作為⑶I部件群被確定。另ー方面,⑶I部件911至913的種類(lèi)為按鈕,且名稱(chēng)的屬性值具有“naviButton01”、“naviButton02”、“naviButton03” 的規(guī)則性。因此,GUI 部件 911 至 913作為GUI部件群被確定。然后,在從畫(huà)面布局900確定的GUI部件群中,名稱(chēng)的屬性值以GUI部件901為最小,其次是⑶I部件902、接著是⑶I部件903。另ー方面,在從畫(huà)面布局910確定的⑶I部件群中,名稱(chēng)的屬性值以GUI部件911為最小,其次是GUI部件912、接著是GUI部件913。因此,畫(huà)面布局比較部105推測(cè)⑶I部件901至903各部件分別與⑶I部件911至913類(lèi)似,并將這些GUI部件彼此對(duì)應(yīng)起來(lái)。另外,也有從畫(huà)面布局900確定的構(gòu)成⑶I部件群的⑶I部件的個(gè)數(shù)和從畫(huà)面布 局910確定的⑶I部件群的⑶I部件的個(gè)數(shù)不一致的情況。例如,在畫(huà)面布局900中的⑶I部件群有4個(gè)⑶I部件901至904,而畫(huà)面布局910中有3個(gè)⑶I部件911至913。此時(shí),假設(shè)⑶I部件904的名稱(chēng)的屬性值為“Button04”,畫(huà)面布局比較部105可以按名稱(chēng)的屬性值的順序?qū)⑾嗤瑪?shù)目的⑶I部件彼此對(duì)應(yīng)起來(lái),使⑶I部件901至903分別與⑶I部件911至913對(duì)應(yīng)。其次,畫(huà)面布局比較部105從在S2302未完成比較的⑶I部件中,確定位置連續(xù)的⑶I部件群,判斷是否存在與該⑶I部件群種類(lèi)相同、且位置連續(xù)的⑶I部件群(S2307)。然后,畫(huà)面布局比較部105在判斷存在種類(lèi)相同且位置連續(xù)的⑶I部件群時(shí)(在S2307為是),從兩個(gè)GUI部件群中分別取出相同數(shù)目的GUI部件,將取出的GUI部件彼此對(duì)應(yīng)起來(lái),記述于推測(cè)數(shù)據(jù)(S2308)。另ー方面,如果畫(huà)面布局比較部105判斷不存在種類(lèi)相同且位置連續(xù)的⑶I部件群(在S2307為否),處理返回S2302。在此,位置連續(xù)是指,⑶I部件在例如垂直方向或水平方向上連續(xù)的意思。在圖8(A)所示的畫(huà)面布局900中,由于⑶I部件901至903種類(lèi)相同且位置在水平方向上連續(xù),因此作為⑶I部件群被確定。另外,在圖8(B)所示的畫(huà)面布局910中,由于⑶I部件911至913種類(lèi)相同且位置在垂直方向上連續(xù),因此作為⑶I部件群被確定。該⑶I部件群與⑶I部件901至903種類(lèi)相同。另外,在畫(huà)面布局900的⑶I部件群中⑶I部件901位于左端,畫(huà)面布局910的⑶I部件群中⑶I部件911位于上端。因此,推測(cè)⑶I部件901和⑶I部件911類(lèi)似,這兩個(gè)GUI部件被對(duì)應(yīng)起來(lái)。而且,⑶I部件902、903位于畫(huà)面布局900的⑶I部件群中從左邊起第二、第三的位置,⑶I部件912、913位于畫(huà)面布局910的⑶I部件群中從上面起第2,第3的位置。因此,GUI部件902與GUI部件912相對(duì)應(yīng),GUI部件903與GUI部件913相對(duì)應(yīng)。另外,也有如同畫(huà)面布局900中的⑶I部件群包括在水平方向連續(xù)配置的4個(gè)⑶I部件901至904那樣,⑶I部件群彼此的⑶I部件個(gè)數(shù)不一致的情況。此時(shí),可以將畫(huà)面布局900的⑶I部件群中從左端起的3個(gè)⑶I部件901至903分別與畫(huà)面布局910的⑶I部件群從上端起的3個(gè)⑶I部件911至913相對(duì)應(yīng)。如果在S2307為否時(shí),則推測(cè)數(shù)據(jù)中完全未記述⑶I部件彼此的對(duì)應(yīng),處理返回到S2302。以上是畫(huà)面布局比較處理的詳細(xì)說(shuō)明。(變形例I)下面說(shuō)明上述的⑶I程序制作輔助裝置100的變形例I。在該變形例中,讓用戶(hù)輸入表示畫(huà)面布局中的CTI部件的配置圖案的圖案信息,根據(jù)該圖案信息適當(dāng)變更圖11的S2303至S2307所示的推測(cè)處理的順序。在該變形例I中,畫(huà)面布局制作部101根據(jù)用戶(hù)的操作輸入,在畫(huà)面布局上設(shè)定表示⑶I部件的配置圖案的圖案信息。具體來(lái)說(shuō),畫(huà)面布局制作部101在畫(huà)面布局的制作エ作中,讓用戶(hù)從預(yù)先確定的多個(gè)圖案信息中選擇其中之一的圖案信息。然后,將由用戶(hù)選擇的圖案信息記述到畫(huà)面布局定義信息201中,從而在畫(huà)面布局中設(shè)定圖案信息。在此,作為圖案信息存在表示視頻內(nèi)容的畫(huà)面布局的GUI部件的配置圖案的視頻 內(nèi)容圖案、表示操作菜單的畫(huà)面布局的GUI部件的配置圖案的操作菜單圖案,以及表示定型的畫(huà)面布局的GUI部件的配置圖案的定型圖案。視頻內(nèi)容的圖案,是設(shè)想了例如用戶(hù)在DVD錄像機(jī)等AV設(shè)備中再生視頻內(nèi)容時(shí),讓用戶(hù)從多個(gè)視頻內(nèi)容中選擇任意內(nèi)容的GUI的GUI部件的配置圖案而設(shè)計(jì)。操作菜單圖案,是設(shè)想了例如為了操縱AV設(shè)備或汽車(chē)導(dǎo)航系統(tǒng)等的數(shù)碼設(shè)備而在畫(huà)面上顯示的操作菜單的⑶I的⑶I部件的配置圖案。定型圖案,是設(shè)想了通過(guò)式樣書(shū)等適合CTI部件的種類(lèi)的配置位置被預(yù)先指定的定型的⑶I的⑶I部件的配置圖案。視頻內(nèi)容的GUI包括將視頻內(nèi)容的文件名或者縮略像列表顯示的一個(gè)列表的GUI部件、和用于選擇和再生被列表顯示的視頻內(nèi)容的多個(gè)按鈕GUI部件的情況較多。在設(shè)計(jì)這樣的⑶I時(shí),替換前畫(huà)面布局及替換后畫(huà)面布局中都包含一個(gè)列表的GUI部件的可能性變高。因此,如果圖案信息表示視頻內(nèi)容圖案,畫(huà)面布局比較部105接在圖11所示的S2302之后執(zhí)行S2304的“相同種類(lèi)的部件只存在I個(gè)”的推測(cè)處理(第I推測(cè)處理的ー個(gè)例子),接著,依次執(zhí)行S2303,S2305至S2307的剩余的推測(cè)處理。由此,在適用于視頻內(nèi)容圖案的⑶I的畫(huà)面布局中,可以高精度地類(lèi)推⑶I部件。在操作菜單的⑶I中,如同多個(gè)按鈕的⑶I部件被連續(xù)配置,多個(gè)圖像的⑶I部件被連續(xù)配置那樣,相同種類(lèi)的GUI部件有規(guī)則地配置的情況較多。因此,如果圖案信息表示操作菜單圖案,畫(huà)面布局比較部105接在S2302之后執(zhí)行S2307的“種類(lèi)相同且位置連續(xù)”的推測(cè)處理(第2推測(cè)處理的一個(gè)例子),接著,依次執(zhí)行S2303至S2306的推測(cè)處理。由此,在適用于操作菜單圖案的⑶I的畫(huà)面布局中,可以高精度地推測(cè)⑶I部件的類(lèi)似性。在定型圖案的⑶I中,⑶I部件的配置位置根據(jù)種類(lèi)而被預(yù)先規(guī)定的情況較多。因此,在替換前畫(huà)面布局和替換后畫(huà)面布局中被配置在相同位置的⑶I部件與相同處理程序關(guān)聯(lián)的可能性變聞。因此,如果圖案信息表示定型圖案,畫(huà)面布局比較部105接在S2302之后執(zhí)行S2305的“位置相同”的推測(cè)處理(第3推測(cè)處理的一個(gè)例子),接著,依次執(zhí)行S2303、
S2304、S2306、S2307的推測(cè)處理。由此,在適用于定型圖案的GM的畫(huà)面布局中,可以高精度地推測(cè)⑶I部件的類(lèi)似性。這樣,在變形例I中,由于根據(jù)畫(huà)面布局所適用的⑶I的種類(lèi),優(yōu)先應(yīng)用推測(cè)精度高的推測(cè)處理,因此,能夠高效地執(zhí)行比較⑶I部件彼此的類(lèi)似性的處理。另外,在變形例I中,用戶(hù)選擇一個(gè)圖案信息,但并不局限于此,也可以選擇多個(gè)圖案信息。此時(shí),對(duì)各圖案信息預(yù)先設(shè)置優(yōu)先度,在多個(gè)圖案信息被設(shè)定的情況下,可以按照優(yōu)先度決定推測(cè)處理的順序。例如,假設(shè)用戶(hù)設(shè)定視頻內(nèi)容圖案、操作菜單圖案作為圖案信息,并使視頻內(nèi)容圖案的優(yōu)先度高于操作菜單圖案的優(yōu)先度。在此情況下,畫(huà)面布局比較部105可以接在S2302的推測(cè)處理之后執(zhí)行S2304的推測(cè)處理,然后執(zhí)行S2307的推測(cè)處理,接下來(lái)再依次執(zhí)行剩余的推測(cè)處理。(變形例2)在上述的實(shí)施方式中,對(duì)于被對(duì)應(yīng)起來(lái)的GUI部件,用替換前畫(huà)面布局的名稱(chēng)的屬性值更新了替換后畫(huà)面布局的GUI部件的名稱(chēng)的屬性值。在變形例2中,對(duì)于被對(duì)應(yīng)起來(lái)的GUI部件,用替換后畫(huà)面布局的名稱(chēng)的屬性值更新替換前畫(huà)面布局的GUI部件的名稱(chēng)的屬性值。例如,假設(shè)替換后畫(huà)面布局的⑶I部件的名稱(chēng)的屬性值為“Button_01”,替換前畫(huà)面布局的⑶I部件的名稱(chēng)的屬性值為“Button_A”,用“ Button_01”更新“ Button_A”。假設(shè)設(shè)計(jì)師在替換后畫(huà)面布局的作成后,再次編輯替換前畫(huà)面布局。此時(shí),設(shè)計(jì)師由于在替換后畫(huà)面布局中針對(duì)⑶I部件(BI)已經(jīng)將名稱(chēng)的屬性值設(shè)定為“ButtonJU”,因此,無(wú)法迅速地確認(rèn)在替換前畫(huà)面布局中名稱(chēng)的屬性值為“Button_A”的⑶I部件是否為GUI 部品(BI)。因此,通過(guò)對(duì)替換前畫(huà)面布局的⑶I部件設(shè)定替換后畫(huà)面布局的⑶I部件的名稱(chēng)的屬性值,能夠提高替換前畫(huà)面布局的編輯工作的效率。在這種情況下,由于⑶I部件901與處理程序的關(guān)聯(lián)被切斷,因此必須將處理程序與GUI部件901進(jìn)行關(guān)聯(lián)。例如,在圖8(A)、(B)中,假設(shè)GUI部件901、911被對(duì)應(yīng)起來(lái)。此時(shí),連接信息恢復(fù)部106只需在⑶I部件901的連接信息202中將名稱(chēng)的屬性值從“Button_A”改寫(xiě)為“ButtonJU”即可。由此,⑶I部件901、911都恢復(fù)了與處理程序的關(guān)聯(lián)。(變形例3)在上述實(shí)施方式中,是以替換前畫(huà)面布局和替換后畫(huà)面布局的類(lèi)似性為基準(zhǔn),將處理程序與替換后畫(huà)面布局進(jìn)行關(guān)聯(lián)。在變形例3中,是從與替換前畫(huà)面布局關(guān)聯(lián)的處理程序的特征來(lái)類(lèi)推與替換后畫(huà)面布局的各GUI部件關(guān)聯(lián)的處理程序。例如,假設(shè)替換前畫(huà)面布局是在A(yíng)V設(shè)備中再生視頻內(nèi)容的離線(xiàn)(offline)用的畫(huà)面布局,將該替換前畫(huà)面布局替換成在網(wǎng)上再生視頻內(nèi)容的在線(xiàn)(online)用的畫(huà)面布局。此時(shí),假設(shè)在替換前畫(huà)面布局中,離線(xiàn)用的再生程序與例如再生按鈕的⑶I部件關(guān)聯(lián)。于是,畫(huà)面布局比較部105將與該離線(xiàn)用的再生程序相對(duì)應(yīng)的在線(xiàn)用的再生程序與再生按鈕的⑶I部件關(guān)聯(lián)起來(lái)。此時(shí),畫(huà)面布局比較部105例如可以從離線(xiàn)用的再生程序的名稱(chēng)或可選擇的方法的種類(lèi)來(lái)確定在線(xiàn)用的再生程序。具體來(lái)說(shuō),假設(shè)下線(xiàn)用的再生程序的名稱(chēng)為“ofT_play_program”,在線(xiàn)用的再生程序的名稱(chēng)為“on_play_program”,這兩個(gè)程序的名稱(chēng)的類(lèi)似度高,則可以將“on_play_pix)gram”與再生按鈕的⑶I部件關(guān)聯(lián)起來(lái)。作為類(lèi)似度,可以采用兩個(gè)名稱(chēng)中一致的文字?jǐn)?shù)目。另夕卜,如果像“ofT_play_program”和“on_play_program”都具有“play”、“stop”、“fTorwarWrewind”的方法那樣,兩個(gè)程序的方法的類(lèi)似度較高,則可以將“on_play_program”與再生按鈕的⑶I部件關(guān)聯(lián)起來(lái)。在此,作為方法的類(lèi)似度,可以采用兩個(gè)程序中一致的方法數(shù)目。另タ卜,假設(shè)程序員已將“off_play_program”和“on_play_program”預(yù)先對(duì)應(yīng)起來(lái)。此時(shí),畫(huà)面布局比較部105可以將與“ off_play_program”對(duì)應(yīng)的“ on_play_program”與再生按鈕的⑶I部件進(jìn)行關(guān)聯(lián)。這樣的結(jié)構(gòu)在例如與替換前畫(huà)面布局關(guān)聯(lián)的處理程序版本升級(jí)時(shí)比較有效。
例如,假設(shè)在替換前畫(huà)面布局中,“play_program(ver. I) ”與再生按鈕的⑶I部件關(guān)聯(lián),下一代的版本的“ play_program(ver. 2) ”與該 “play_program(ver. I) ” 對(duì)應(yīng)。于是,畫(huà)面布局比較部105可以在替換后畫(huà)面布局中,將“play_program(ver. 2) ”與再生按鈕的⑶I部件關(guān)聯(lián)起來(lái)。圖13是表示本發(fā)明實(shí)施方式的GUI程序制作輔助裝置100的硬件結(jié)構(gòu)的方框圖。⑶I程序制作輔助裝置100具備CPU (CENTRAL PROCESSING UNIT、中央處理單元)1201、R0M/RAM1202、顯示部1203、I/O 1204、網(wǎng)絡(luò)接ロ 1205、外部存儲(chǔ)裝置1206以及輸入部1207。CPU1201至輸入部1207通過(guò)總線(xiàn)1200彼此連接。R0M/RAM1202或外部存儲(chǔ)裝置1206存儲(chǔ)讓電腦作為GW程序制作輔助裝置100而發(fā)揮其功能的程序。顯示部1203例如由液晶顯示器或有機(jī)EL顯示器等構(gòu)成,顯示CPU1201處理的處
理結(jié)果。I/O 1204是用于連接外部設(shè)備的輸入輸出接ロ,例如采用USB端ロ。網(wǎng)絡(luò)接ロ1205例如由將GUI程序制作輔助裝置100與互聯(lián)網(wǎng)連接的通信電路構(gòu)成。外部存儲(chǔ)裝置1206例如由HDD(硬盤(pán))等的存儲(chǔ)裝置構(gòu)成。輸入部1207例如由鍵盤(pán)、鼠標(biāo)等的輸入裝置等構(gòu)成,接收來(lái)自用戶(hù)的各種各樣的操作輸入。圖I所示的畫(huà)面布局制作部101、連接設(shè)定部102以及處理程序制作部103是在顯示部1203顯示指定的GUI,通過(guò)GUI接收來(lái)自用戶(hù)的操作輸入的程序模塊,被存儲(chǔ)在ROM/RAM1202或外部存儲(chǔ)裝置1206,由CPU1201執(zhí)行來(lái)實(shí)現(xiàn)。圖I所示的源代碼生成部104、畫(huà)面布局比較部105以及連接信息恢復(fù)部106是存儲(chǔ)于R0M/RAM1202或外部存儲(chǔ)裝置1206的不伴隨⑶I顯示的程序模塊,由CPU1201執(zhí)行來(lái)實(shí)現(xiàn)。圖I所示的存儲(chǔ)部200例如由R0M/RAM1202或外部存儲(chǔ)裝置1206等構(gòu)成。另外,圖I所示的⑶I程序制作輔助裝置100也可以作為集成電路的LSI來(lái)實(shí)現(xiàn)。此時(shí),將圖I所示的畫(huà)面布局制作部101至連接信息恢復(fù)部106集成化即可。而且,在這種情況下,沒(méi)有必要將程序從R0M/RAM1202或外部存儲(chǔ)裝置1206加載到CPU1201。可以將這些分別集成一個(gè)芯片,也可以將含有這些的一部分或全部集成一個(gè)芯片。在此,雖然稱(chēng)作了 LSI,但根據(jù)集成度的不同,有時(shí)也稱(chēng)為1C,系統(tǒng)LSI,超(super)LSI,超大(ultra)LSI 的。另外,集成電路化的手段不限于LSI,也可以用專(zhuān)用電路或通用處理器來(lái)實(shí)現(xiàn)。也可以在LSI制造后,利用可編程的FPGA(Field Programmable Gate Array)或可重新配置LSI內(nèi)部的電路單元的連接或設(shè)定的可重構(gòu)處理器(Reconfigurable Processor)。此外,如果由于半導(dǎo)體技術(shù)的進(jìn)步或衍生出的其他技術(shù)而出現(xiàn)了能替換LSI的集成電路化的技術(shù),當(dāng)然,也可以利 用該技術(shù)進(jìn)行功能塊的集成化。也有可能應(yīng)用生物技木。另外,在⑶I程序制作輔助裝置100的構(gòu)成要素中,也可以將存儲(chǔ)部200與從畫(huà)面布局制作部101至連接信息恢復(fù)部106合在一起集成ー個(gè)芯片。另外,在本實(shí)施方式中,可以通過(guò)將構(gòu)成GUI程序制作輔助裝置100的處理手段作為步驟的方法來(lái)實(shí)現(xiàn)。而且,本實(shí)施方式也可以作為讓電腦執(zhí)行該方法所包含的步驟的程序來(lái)實(shí)現(xiàn)。再者,本實(shí)施方式也可以作為存儲(chǔ)該程序的CD-ROM等計(jì)算機(jī)可讀取的存儲(chǔ)媒體來(lái)實(shí)現(xiàn)。(本實(shí)施方式的⑶I程序制作輔助裝置匯總)(I)本實(shí)施方式的⑶I程序制作輔助裝置包括根據(jù)用戶(hù)的操作輸入生成包含多個(gè)Gn(圖形用戶(hù)界面)部件的⑶I畫(huà)面布局,并將已生成的畫(huà)面布局替換成別的畫(huà)面布局的畫(huà)面布局制作部;根據(jù)用戶(hù)的操作輸入制作與所述Gn部件被操作時(shí)所執(zhí)行的處理有關(guān)的處理程序的處理程序制作部;根據(jù)用戶(hù)的操作輸入將所述GUI部件與所述處理程序進(jìn)行關(guān)聯(lián),生成表示該關(guān)聯(lián)的連接信息的連接設(shè)定部;基于所述畫(huà)面布局、所述處理程序以及所述連接信息生成GUI程序的源代碼的源代碼生成部;當(dāng)由所述畫(huà)面布局制作部將已生成的畫(huà)面布局替換成別的畫(huà)面布局時(shí),從替換前畫(huà)面布局推測(cè)與替換后畫(huà)面布局的Gn部件類(lèi)似的GUI部件,并將類(lèi)似的GUI部件彼此對(duì)應(yīng)起來(lái)的畫(huà)面布局比較部;執(zhí)行將與所述替換前畫(huà)面布局的GUI部件關(guān)聯(lián)的所述處理程序與通過(guò)所述畫(huà)面布局比較部而被彼此對(duì)應(yīng)起來(lái)的GUI部件進(jìn)行關(guān)聯(lián)的連接恢復(fù)處理的連接信息恢復(fù)部。根據(jù)此結(jié)構(gòu),從替換前畫(huà)面布局中推測(cè)與替換后畫(huà)面布局的各⑶I部件類(lèi)似的GUI部件,將與類(lèi)似的GUI部件關(guān)聯(lián)的處理程序自動(dòng)地與被推測(cè)有類(lèi)似的GUI部件的替換后畫(huà)面布局的⑶I部件關(guān)聯(lián)起來(lái)。因此,能夠減輕用戶(hù)將處理程序與替換后畫(huà)面布局進(jìn)行關(guān)聯(lián)的工作量,從而能夠大幅提高⑶I的畫(huà)面布局的開(kāi)發(fā)效率。(2)優(yōu)選,所述連接信息恢復(fù)部向用戶(hù)通知通過(guò)所述畫(huà)面布局比較部而被對(duì)應(yīng)起來(lái)的GUI部件,對(duì)由用戶(hù)進(jìn)行表示推測(cè)結(jié)果正確的操作輸入的GUI部品執(zhí)行所述連接恢復(fù)處理。根據(jù)此結(jié)構(gòu),可以讓用戶(hù)事先判斷推測(cè)結(jié)果是否正確,可以防止將用戶(hù)意圖之外的處理程序與替換后畫(huà)面布局的GUI部件關(guān)聯(lián)起來(lái),從而提高工作效率。(3)優(yōu)選,所述畫(huà)面布局比較部通過(guò)比較所述替換前畫(huà)面布局與所述替換后畫(huà)面布局中賦予各GUI部件的名稱(chēng),推測(cè)類(lèi)似性。根據(jù)此結(jié)構(gòu),在替換后畫(huà)面布局和替換前畫(huà)面布局中,名稱(chēng)共通的⑶I部件被大量采用時(shí),可以高精度地推測(cè)類(lèi)似的GUI部件。(4)優(yōu)選,所述畫(huà)面布局比較部通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中相同種類(lèi)的GUI部件的個(gè)數(shù),推測(cè)類(lèi)似性。根據(jù)此結(jié)構(gòu),在具有I個(gè)列表的GUI部件的視頻內(nèi)容的GUI的畫(huà)面布局中,可以高精度地推測(cè)類(lèi)似的GUI部件。
(5)優(yōu)選,所述畫(huà)面布局比較部通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中賦予各GUI部件的名稱(chēng)的連續(xù)性,推測(cè)類(lèi)似性。根據(jù)此結(jié)構(gòu),在⑶I的名稱(chēng)按一定的規(guī)則自動(dòng)作成的畫(huà)面布局中,可以高精度地檢測(cè)類(lèi)似的GUI部件。(6)優(yōu)選,所述畫(huà)面布局比較部通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中GUI部件的位置,推測(cè)類(lèi)似性。根據(jù)此結(jié)構(gòu),在適用于由式樣書(shū)預(yù)先規(guī)定了 GUI部件的配置位置的定型圖案的⑶I的畫(huà)面布局中,可以高精度地推測(cè)⑶I部件的類(lèi)似性。(7)優(yōu)選,所述畫(huà)面布局比較部通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中各GUI部件配置的規(guī)則性,推測(cè)類(lèi)似性。 根據(jù)此結(jié)構(gòu),在為了操作AV設(shè)備等在畫(huà)面上顯示的操作菜單的GUI的畫(huà)面布局中,可以高精度地檢測(cè)類(lèi)似的⑶I部件。(8)優(yōu)選,所述連接信息恢復(fù)部將進(jìn)行了所述連接恢復(fù)處理的所述替換后畫(huà)面布局的GUI部件的名稱(chēng),用相對(duì)應(yīng)的所述替換前畫(huà)面布局的GUI部件的名稱(chēng)來(lái)更新。根據(jù)此結(jié)構(gòu),不必重新生成替換后畫(huà)面布局的⑶I部件的連接信息及源代碼,可以將替換前畫(huà)面布局的⑶I部件的處理程序與替換后畫(huà)面布局的⑶I部件關(guān)聯(lián)起來(lái)。(9)優(yōu)選,所述連接信息恢復(fù)部用進(jìn)行了所述連接恢復(fù)處理的所述替換后畫(huà)面布局的GUI部件的名稱(chēng),更新對(duì)應(yīng)的所述替換前畫(huà)面布局的GUI部件的名稱(chēng)。根據(jù)此結(jié)構(gòu),可以謀求再次編輯替換前畫(huà)面布局時(shí)的編輯工作的高效率。(10)優(yōu)選,所述畫(huà)面布局生成部根據(jù)用戶(hù)的操作輸入,將表示⑶I部件的配置圖案的圖案信息設(shè)定于所述畫(huà)面布局;所述畫(huà)面布局比較部依次執(zhí)行多個(gè)推測(cè)處理來(lái)推測(cè)類(lèi)似性,根據(jù)所述圖案信息變更推測(cè)處理的順序。根據(jù)此結(jié)構(gòu),由于根據(jù)畫(huà)面布局所適用的⑶I的種類(lèi),優(yōu)先應(yīng)用推測(cè)精度高的推測(cè)處理,因此可以高效率地執(zhí)行比較⑶I部件之間的類(lèi)似性的處理。(11)優(yōu)選,所述推測(cè)處理包括通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中相同種類(lèi)的GUI部件的個(gè)數(shù)來(lái)推測(cè)類(lèi)似性的第I推測(cè)處理;所述畫(huà)面布局比較部在所述圖案信息為表示視頻內(nèi)容的GUI的GUI部件的配置圖案的視頻內(nèi)容圖案時(shí),最先執(zhí)行所述第I推測(cè)處理。根據(jù)此結(jié)構(gòu),在象視頻內(nèi)容的CTI那樣具有I個(gè)列表的GUI部件的畫(huà)面布局中,可以更高精度地推測(cè)類(lèi)似的⑶I部件。(12)優(yōu)選,所述推測(cè)處理包括通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中各GUI部件的配置的規(guī)則性推測(cè)類(lèi)似性的第2推測(cè)處理;所述畫(huà)面布局比較部在所述圖案信息為表示操作菜單的GUI的GUI部件的配置圖案的操作菜單圖案吋,最先執(zhí)行所述第2推測(cè)處理。根據(jù)此結(jié)構(gòu),在為了操作AV設(shè)備在畫(huà)面上顯示的操作菜單的⑶I的畫(huà)面布局中,可以更高精度地檢測(cè)類(lèi)似的⑶I部件。(13)優(yōu)選,所述推測(cè)處理包括通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中GUI部件的位置推測(cè)類(lèi)似性的第3推測(cè)處理;所述畫(huà)面布局比較部在所述圖案信息為表示GUI部件配置于預(yù)先規(guī)定的配置位置的定型的GUI的定型圖案時(shí),最先執(zhí)行所述第3推測(cè)處理。根據(jù)此結(jié)構(gòu),在適用于由式樣書(shū)預(yù)先規(guī)定了 GUI部件的配置位置的定型圖案的⑶I的畫(huà)面布局中,可以更高精度地推測(cè)⑶I部件的類(lèi)似性。產(chǎn)業(yè)上的可利用性本發(fā)明所涉及的⑶I程序制作輔助裝置作為具有 畫(huà)面布局比較部和連接信息恢復(fù)部、提高ー邊替換多個(gè)畫(huà)面布局ー邊被開(kāi)發(fā)的⑶I程序的開(kāi)發(fā)效率的⑶I編譯器極為有用。
權(quán)利要求
1.一種⑶I程序制作輔助裝置,其特征在于包括 畫(huà)面布局制作部,根據(jù)用戶(hù)的操作輸入,生成包含多個(gè)GUI (圖形用戶(hù)界面)部件的GUI畫(huà)面布局,并將已生成的畫(huà)面布局替換成別的畫(huà)面布局; 處理程序制作部,根據(jù)用戶(hù)的操作輸入,制作與所述GUI部件被操作時(shí)所執(zhí)行的處理有關(guān)的處理程序; 連接設(shè)定部,根據(jù)用戶(hù)的操作輸入,將所述GUI部件與所述處理程序進(jìn)行關(guān)聯(lián),生成表示該關(guān)聯(lián)的連接信息; 源代碼生成部,基于所述畫(huà)面布局、所述處理程序以及所述連接信息,生成Gn程序的源代碼; 畫(huà)面布局比較部,當(dāng)由所述畫(huà)面布局制作部將已生成的畫(huà)面布局替換成別的畫(huà)面布局時(shí),從替換前畫(huà)面布局推測(cè)與替換后畫(huà)面布局的⑶I部件類(lèi)似的⑶I部件,并將類(lèi)似的⑶I部件彼此對(duì)應(yīng)起來(lái); 連接信息恢復(fù)部,執(zhí)行將與所述替換前畫(huà)面布局的GUI部件關(guān)聯(lián)的所述處理程序與通過(guò)所述畫(huà)面布局比較部而被對(duì)應(yīng)起來(lái)的⑶I部件進(jìn)行關(guān)聯(lián)的連接恢復(fù)處理。
2.根據(jù)權(quán)利要求I所述的GUI程序制作輔助裝置,其特征在于 所述連接信息恢復(fù)部,向用戶(hù)通知通過(guò)所述畫(huà)面布局比較部而被對(duì)應(yīng)起來(lái)的GUI部件,對(duì)由用戶(hù)進(jìn)行表示推測(cè)結(jié)果正確的操作輸入的GUI部品,執(zhí)行所述連接恢復(fù)處理。
3.根據(jù)權(quán)利要求I或2所述的GUI程序制作輔助裝置,其特征在于 所述畫(huà)面布局比較部,通過(guò)比較所述替換前畫(huà)面布局與所述替換后畫(huà)面布局中賦予各GUI部件的名稱(chēng),推測(cè)類(lèi)似性。
4.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的GUI程序制作輔助裝置,其特征在于 所述畫(huà)面布局比較部,通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中相同種類(lèi)的GUI部件的個(gè)數(shù),推測(cè)類(lèi)似性。
5.根據(jù)權(quán)利要求I至4中任一項(xiàng)所述的GUI程序制作輔助裝置,其特征在于 所述畫(huà)面布局比較部,通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中賦予各GUI部件的名稱(chēng)的連續(xù)性,推測(cè)類(lèi)似性。
6.根據(jù)權(quán)利要求I至5中任一項(xiàng)所述的GUI程序制作輔助裝置,其特征在于 所述畫(huà)面布局比較部,通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中⑶I部件的位置,推測(cè)類(lèi)似性。
7.根據(jù)權(quán)利要求I至6中任一項(xiàng)所述的GUI程序制作輔助裝置,其特征在于 所述畫(huà)面布局比較部,通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中各⑶I部件配置的規(guī)則性,推測(cè)類(lèi)似性。
8.根據(jù)權(quán)利要求I至7中任一項(xiàng)所述的GUI程序制作輔助裝置,其特征在于 所述連接信息恢復(fù)部,將進(jìn)行了所述連接恢復(fù)處理的所述替換后畫(huà)面布局的⑶I部件的名稱(chēng),用相對(duì)應(yīng)的所述替換前畫(huà)面布局的GUI部件的名稱(chēng)來(lái)更新。
9.根據(jù)權(quán)利要求I至7中任一項(xiàng)所述的GUI程序制作輔助裝置,其特征在于 所述連接信息恢復(fù)部,用進(jìn)行了所述連接恢復(fù)處理的所述替換后畫(huà)面布局的⑶I部件的名稱(chēng),更新相對(duì)應(yīng)的所述替換前畫(huà)面布局的GUI部件的名稱(chēng)。
10.根據(jù)權(quán)利要求I至9中任一項(xiàng)所述的⑶I程序制作輔助裝置,其特征在于所述畫(huà)面布局生成部,根據(jù)用戶(hù)的操作輸入,將表示GUI部件的配置圖案的圖案信息設(shè)定于所述畫(huà)面布局; 所述畫(huà)面布局比較部,依次執(zhí)行多個(gè)推測(cè)處理來(lái)推測(cè)類(lèi)似性,根據(jù)所述圖案信息變更推測(cè)處理的順序。
11.根據(jù)權(quán)利要求10所述的GUI程序制作輔助裝置,其特征在于 所述推測(cè)處理,包括通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中相同種類(lèi)的GUI部件的個(gè)數(shù)推測(cè)類(lèi)似性的第I推測(cè)處理; 所述畫(huà)面布局比較部,在所述圖案信息為表示視頻內(nèi)容的GUI的GUI部件的配置圖案的視頻內(nèi)容圖案時(shí),最先執(zhí)行所述第I推測(cè)處理。
12.根據(jù)權(quán)利要求10或11所述的GUI程序制作輔助裝置,其特征在于 所述推測(cè)處理,包括通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中各⑶I部件的配置的規(guī)則性推測(cè)類(lèi)似性的第2推測(cè)處理; 所述畫(huà)面布局比較部,在所述圖案信息為表示操作菜單的GUI的GUI部件的配置圖案的操作菜單圖案時(shí),最先執(zhí)行所述第2推測(cè)處理。
13.根據(jù)權(quán)利要求10至12中任一項(xiàng)所述的⑶I程序制作輔助裝置,其特征在于 所述推測(cè)處理,包括通過(guò)比較所述替換后畫(huà)面布局與所述替換前畫(huà)面布局中⑶I部件的位置推測(cè)類(lèi)似性的第3推測(cè)處理; 所述畫(huà)面布局比較部,在所述圖案信息為表示⑶I部件配置于預(yù)先規(guī)定的配置位置的定型的GUI的定型圖案時(shí),最先執(zhí)行所述第3推測(cè)處理。
14.一種GUI程序制作輔助方法,其特征在于包括以下步驟 畫(huà)面布局制作步驟,計(jì)算機(jī)根據(jù)用戶(hù)的操作輸入,生成含括多個(gè)GUI (圖形用戶(hù)界面)部件的⑶I畫(huà)面布局,并將已生成的畫(huà)面布局替換成別的畫(huà)面布局; 處理程序制作步驟,計(jì)算機(jī)根據(jù)用戶(hù)的操作輸入,制作與所述GUI部件被操作時(shí)所執(zhí)行的處理有關(guān)的處理程序; 連接設(shè)定步驟,計(jì)算機(jī)根據(jù)用戶(hù)的操作輸入,將所述GUI部件與所述處理程序進(jìn)行關(guān)聯(lián),生成表示該關(guān)聯(lián)的連接信息; 源代碼生成步驟,計(jì)算機(jī)基于所述畫(huà)面布局、所述處理程序以及所述連接信息,生成GUI程序的源代碼; 畫(huà)面布局比較步驟,計(jì)算機(jī)當(dāng)在所述畫(huà)面布局制作步驟將已生成的畫(huà)面布局替換成別的畫(huà)面布局時(shí),從替換前畫(huà)面布局推測(cè)與替換后畫(huà)面布局的⑶I部件類(lèi)似的⑶I部件,并將類(lèi)似的GUI部件彼此對(duì)應(yīng)起來(lái); 連接信息恢復(fù)步驟,計(jì)算機(jī)執(zhí)行將與所述替換前畫(huà)面布局的GUI部件關(guān)聯(lián)的所述處理程序與通過(guò)所述畫(huà)面布局比較部而被對(duì)應(yīng)起來(lái)的⑶I部件進(jìn)行關(guān)聯(lián)的連接恢復(fù)處理。
15.一種程序,使計(jì)算機(jī)作為以下各部而發(fā)揮功能 畫(huà)面布局制作部,根據(jù)用戶(hù)的操作輸入,生成包含多個(gè)GUI (圖形用戶(hù)界面)部件的GUI畫(huà)面布局,并將已生成的畫(huà)面布局替換成別的畫(huà)面布局; 處理程序制作部,根據(jù)用戶(hù)的操作輸入,制作與所述GUI部件被操作時(shí)所執(zhí)行的處理有關(guān)的處理程序; 連接設(shè)定部,根據(jù)用戶(hù)的操作輸入,將所述GUI部件與所述處理程序進(jìn)行關(guān)聯(lián),生成表示該關(guān)聯(lián)的連接信息; 源代碼生成部,基于所述畫(huà)面布局、所述處理程序以及所述連接信息,生成Gn程序的源代碼; 畫(huà)面布局比較部,當(dāng)由所述畫(huà)面布局制作部將已生成的畫(huà)面布局替換成別的畫(huà)面布局時(shí),從替換前畫(huà)面布局推測(cè)與替換后畫(huà)面布局的⑶I部件類(lèi)似的⑶I部件,并將類(lèi)似的⑶I部件彼此對(duì)應(yīng)起來(lái); 連接信息恢復(fù)部,執(zhí)行將與所述替換前畫(huà)面布局的GUI部件關(guān)聯(lián)的所述處理程序與通過(guò)所述畫(huà)面布局比較部而被對(duì)應(yīng)起來(lái)的⑶I部件進(jìn)行關(guān)聯(lián)的連接恢復(fù)處理。
16.一種集成電路,其特征在于包括 畫(huà)面布局制作部,根據(jù)用戶(hù)的操作輸入,生成包含多個(gè)GUI (圖形用戶(hù)界面)部件的GUI畫(huà)面布局,并將已生成的畫(huà)面布局替換成別的畫(huà)面布局; 處理程序制作部,根據(jù)用戶(hù)的操作輸入,制作與所述GUI部件被操作時(shí)所執(zhí)行的處理有關(guān)的處理程序; 連接設(shè)定部,根據(jù)用戶(hù)的操作輸入,將所述GUI部件與所述處理程序進(jìn)行關(guān)聯(lián),生成表示該關(guān)聯(lián)的連接信息; 源代碼生成部,基于所述畫(huà)面布局、所述處理程序以及所述連接信息,生成Gn程序的源代碼; 畫(huà)面布局比較部,當(dāng)由所述畫(huà)面布局制作部將已生成的畫(huà)面布局替換成別的畫(huà)面布局時(shí),從替換前畫(huà)面布局推測(cè)與替換后畫(huà)面布局的⑶I部件類(lèi)似的⑶I部件,并將類(lèi)似的⑶I部件彼此對(duì)應(yīng)起來(lái); 連接信息恢復(fù)部,執(zhí)行將與所述替換前畫(huà)面布局的GUI部件關(guān)聯(lián)的所述處理程序與通過(guò)所述畫(huà)面布局比較部而被對(duì)應(yīng)起來(lái)的⑶I部件進(jìn)行關(guān)聯(lián)的連接恢復(fù)處理。
全文摘要
畫(huà)面布局比較部105,在通過(guò)畫(huà)面布局制作部101將生成完畢的畫(huà)面布局替換成其它的畫(huà)面布局時(shí),從替換前畫(huà)面布局推測(cè)與替換后畫(huà)面布局的GUI部件類(lèi)似的GUI部件,將類(lèi)似的GUI部件彼此對(duì)應(yīng)起來(lái)。連接信息恢復(fù)部106執(zhí)行將與替換前畫(huà)面布局的GUI部件關(guān)聯(lián)的處理程序與通過(guò)畫(huà)面布局比較部105而被對(duì)應(yīng)起來(lái)的GUI部件進(jìn)行關(guān)聯(lián)的連接恢復(fù)處理。
文檔編號(hào)G06F9/44GK102959511SQ20128000151
公開(kāi)日2013年3月6日 申請(qǐng)日期2012年4月20日 優(yōu)先權(quán)日2011年6月20日
發(fā)明者篠本雄基, 矢島英明, 秦秀彥 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社