技術(shù)領(lǐng)域
本發(fā)明涉及圖元擴(kuò)展技術(shù)領(lǐng)域,具體地,涉及一種通過(guò)可視化界面進(jìn)行圖元擴(kuò)展的方法。
背景技術(shù):
圖元擴(kuò)展可應(yīng)用于多種建模工具中,只要建模工具中需要為用戶(hù)提供一組圖元,一般情況下就需要對(duì)圖元進(jìn)行擴(kuò)展,以適應(yīng)不同用戶(hù)的需求。例如流程設(shè)計(jì)器中,需要為用戶(hù)提供圖元擴(kuò)展機(jī)制,使用戶(hù)能夠配置自己所需的額外圖元。
為了提供用戶(hù)可擴(kuò)展機(jī)制,在以往的實(shí)現(xiàn)中,主要采用以下幾種方式:
冗余圖元方式,預(yù)留幾個(gè)圖元給用戶(hù)使用,該方法實(shí)現(xiàn)簡(jiǎn)單,但擴(kuò)展性不好,仍可能不滿足用戶(hù)需求;
配置文件方式,用戶(hù)寫(xiě)符合一定格式的配置文件,程序讀取生成用戶(hù)自定義圖元,該方法擴(kuò)展性好,但對(duì)用戶(hù)要求比較高,用戶(hù)體驗(yàn)不好;
為了清晰的描述用戶(hù)可擴(kuò)展圖元的實(shí)現(xiàn)方式,本文將以流程建模工具為例進(jìn)行說(shuō)明,下面介紹幾個(gè)重要的概念:
流程圖元:簡(jiǎn)單來(lái)說(shuō)每個(gè)圖元在建模工具中都是一個(gè)圖形,這個(gè)圖形代表特定含義,具有一系列屬性,可以轉(zhuǎn)換成一段xml。
流程模型:一種可以使用流程建模工具來(lái)繪制的模型,包含開(kāi)始,結(jié)束,用戶(hù)任務(wù)等元素,設(shè)計(jì)完成后可以存儲(chǔ)為xml格式文件。
CN105786893A使用xml進(jìn)行存儲(chǔ),但目標(biāo)和方法與本發(fā)明不同,CN104020997A雖然是可擴(kuò)展圖形化,但是于本發(fā)明相比采用方法不同,應(yīng)用領(lǐng)域也不同
在建模工具中,為了實(shí)現(xiàn)圖元的用戶(hù)可擴(kuò)展,在以往的實(shí)現(xiàn)中,主要采用以下幾種方案:
1.通過(guò)增加冗余圖元的方式,但是這種實(shí)現(xiàn)增加了模型的復(fù)雜性,特別是如果某些用戶(hù)需要擴(kuò)展的圖元很多,那么勢(shì)必需要增加很多冗余圖元,這樣就增加了模型的復(fù)雜性,提高了用戶(hù)使用的難度,對(duì)不需要進(jìn)行太多圖元擴(kuò)展的用戶(hù)造成了困擾。
2.開(kāi)發(fā)人員定義好配置文件,當(dāng)用戶(hù)需要擴(kuò)展時(shí)需要在配置文件中按一定的格式進(jìn)行圖元的配置,這種方法擴(kuò)展性好,但寫(xiě)配置文件對(duì)用戶(hù)有一定要求,給用戶(hù)使用帶來(lái)了不便,易用性較差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,針對(duì)上述問(wèn)題,提出一種通過(guò)可視化界面進(jìn)行圖元擴(kuò)展的方法,以實(shí)現(xiàn)對(duì)圖元的擴(kuò)展更加簡(jiǎn)單有效的優(yōu)點(diǎn)。
為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:一種通過(guò)可視化界面進(jìn)行圖元擴(kuò)展的方法,主要包括:
步驟1:用戶(hù)在界面中定義某圖元擴(kuò)展;
步驟2:在配置文件中查找是否包含該圖元,若包含該圖元?jiǎng)t,提示圖元重復(fù),若不包含該圖元,則在配置文件中定義該圖元,即將圖元注冊(cè)到配置文件中;
步驟3:自動(dòng)刷新界面,顯示新增圖元;
步驟4:用戶(hù)使用新增圖元畫(huà)圖;
步驟5:新增圖元存入元素模型;
步驟6:保存模型,將擴(kuò)展圖元及其屬性存入json文件中;json轉(zhuǎn)化為后臺(tái)模型時(shí),擴(kuò)展圖元生成對(duì)應(yīng)的后臺(tái)模型;導(dǎo)出時(shí),擴(kuò)展圖元生成對(duì)應(yīng)的xml。
進(jìn)一步地,步驟1具體為,提供一個(gè)界面用于圖元擴(kuò)展;在界面中按分組顯示所有預(yù)置圖元,并對(duì)圖元進(jìn)行編輯,具體包括刪除圖元或增加圖元,所述刪除圖元包括選中圖元點(diǎn)擊刪除按鈕;所述增加圖元包括選中該分組,右鍵點(diǎn)擊增加按鈕,在彈出的對(duì)話框中輸入該圖元所具有的屬性,包括圖元名稱(chēng)、圖元code、圖元圖標(biāo)位置和圖元svg位置然后點(diǎn)擊確定。
進(jìn)一步地,步驟2具體包括,按照用戶(hù)輸入的圖元名稱(chēng)和圖元code到配置文件中查找,如果該圖元名稱(chēng)或code已存在,則提示用戶(hù)修改圖元名稱(chēng)或code;如果圖元名稱(chēng)和code都不存在,則需在配置文件中配置該圖元,并將用戶(hù)填寫(xiě)的屬性注冊(cè)到該圖元中;如果用戶(hù)填寫(xiě)的屬性中出現(xiàn)某個(gè)屬性未注冊(cè),則還需要注冊(cè)該屬性。
進(jìn)一步地,所述步驟7具體包括,當(dāng)模型保存時(shí),模型中的擴(kuò)展圖元被作為獨(dú)立一段存入json文件中,隨json文件傳入后臺(tái),然后在后臺(tái)中完成json文件到后臺(tái)模型model的轉(zhuǎn)化,這時(shí)json中的擴(kuò)展圖元及其屬性的信息會(huì)存入模型中,并帶有extend前綴;模型導(dǎo)出時(shí),模型中每個(gè)圖元作為獨(dú)立標(biāo)簽被寫(xiě)入到xml文件中,當(dāng)模型需要修改,再次導(dǎo)入時(shí),已經(jīng)過(guò)擴(kuò)展的配置文件就將擴(kuò)展后的圖元及其屬性值展現(xiàn)出來(lái),擴(kuò)展完成。
本發(fā)明各實(shí)施例的一種通過(guò)可視化界面進(jìn)行圖元擴(kuò)展的方法,由于主要包括:用戶(hù)在界面中定義某圖元擴(kuò)展;在配置文件中查找是否包含該圖元,若包含該圖元?jiǎng)t,提示圖元重復(fù),若不包含該圖元,則在配置文件中定義該圖元,即將圖元注冊(cè)到配置文件中;自動(dòng)刷新界面,顯示新增圖元;用戶(hù)使用新增圖元畫(huà)圖;新增圖元存入元素模型;保存模型,將擴(kuò)展圖元及其屬性存入json文件中;json轉(zhuǎn)化為后臺(tái)模型時(shí),擴(kuò)展圖元生成對(duì)應(yīng)的后臺(tái)模型;導(dǎo)出時(shí),擴(kuò)展圖元生成對(duì)應(yīng)的xml;從而可以克服現(xiàn)有技術(shù)中擴(kuò)展圖元時(shí),模型的復(fù)雜性太高,用戶(hù)使用難度大,易用性差缺陷。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
圖1為本發(fā)明具體實(shí)施例所述的一種通過(guò)可視化界面進(jìn)行圖元擴(kuò)展的方法流程圖;
圖2為本發(fā)明具體實(shí)施例所述的一種通過(guò)可視化界面進(jìn)行圖元擴(kuò)展的方法描述的用戶(hù)精簡(jiǎn)模型設(shè)計(jì)器時(shí)的應(yīng)用示意圖;
圖3為本發(fā)明具體實(shí)施例所述的一種通過(guò)可視化界面進(jìn)行圖元擴(kuò)展的方法描述的用戶(hù)擴(kuò)展模型設(shè)計(jì)器的應(yīng)用示意圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
具體地,一種通過(guò)可視化界面進(jìn)行圖元擴(kuò)展的方法,主要包括:
步驟1:用戶(hù)在界面中定義某圖元擴(kuò)展;
步驟2:在配置文件中查找是否包含該圖元,若包含該圖元?jiǎng)t,提示圖元重復(fù),若不包含該圖元,則在配置文件中定義該圖元,即將圖元注冊(cè)到配置文件中;
步驟3:自動(dòng)刷新界面,顯示新增圖元;
步驟4:用戶(hù)使用新增圖元畫(huà)圖;
步驟5:新增圖元存入元素模型;
步驟6:保存模型,將擴(kuò)展圖元及其屬性存入json文件中;json轉(zhuǎn)化為后臺(tái)模型時(shí),擴(kuò)展圖元生成對(duì)應(yīng)的后臺(tái)模型;導(dǎo)出時(shí),擴(kuò)展圖元生成對(duì)應(yīng)的xml。
步驟1具體為,提供一個(gè)界面用于圖元擴(kuò)展;在界面中按分組顯示所有預(yù)置圖元,并對(duì)圖元進(jìn)行編輯,具體包括刪除圖元或增加圖元,所述刪除圖元包括選中圖元點(diǎn)擊刪除按鈕;所述增加圖元包括選中該分組,右鍵點(diǎn)擊增加按鈕,在彈出的對(duì)話框中輸入該圖元所具有的屬性,包括圖元名稱(chēng)、圖元code、圖元圖標(biāo)位置和圖元svg位置然后點(diǎn)擊確定。
步驟2具體包括,按照用戶(hù)輸入的圖元名稱(chēng)和圖元code到配置文件中查找,如果該圖元名稱(chēng)或code已存在,則提示用戶(hù)修改圖元名稱(chēng)或code;如果圖元名稱(chēng)和code都不存在,則需在配置文件中配置該圖元,并將用戶(hù)填寫(xiě)的屬性注冊(cè)到該圖元中;如果用戶(hù)填寫(xiě)的屬性中出現(xiàn)某個(gè)屬性未注冊(cè),則還需要注冊(cè)該屬性。
所述步驟7具體包括,當(dāng)模型保存時(shí),模型中的擴(kuò)展圖元被作為獨(dú)立一段存入json文件中,隨json文件傳入后臺(tái),然后在后臺(tái)中完成json文件到后臺(tái)模型model的轉(zhuǎn)化,這時(shí)json中的擴(kuò)展圖元及其屬性的信息會(huì)存入模型中,并帶有extend前綴;模型導(dǎo)出時(shí),模型中每個(gè)圖元作為獨(dú)立標(biāo)簽被寫(xiě)入到xml文件中,當(dāng)模型需要修改,再次導(dǎo)入時(shí),已經(jīng)過(guò)擴(kuò)展的配置文件就將擴(kuò)展后的圖元及其屬性值展現(xiàn)出來(lái),擴(kuò)展完成。
結(jié)合圖1,主要的實(shí)現(xiàn)步驟如下:
1. 用戶(hù)在界面中定義某圖元擴(kuò)展。
2. 在配置文件中查找是否包含該圖元。
3. 若2成立則提示圖元重復(fù)。
4. 若2不成立則先在配置文件中定義該圖元。
5. 自動(dòng)刷新設(shè)計(jì)器,顯示新圖元。
6. 用戶(hù)使用新圖元畫(huà)圖。
7. 模型設(shè)計(jì)完成保存時(shí),將擴(kuò)展圖元及其屬性存入json文件中。
8. 在解析json文件時(shí)將擴(kuò)展圖元及其屬性解析到模型model對(duì)應(yīng)圖元模型中。
用戶(hù)導(dǎo)出模型時(shí),系統(tǒng)將擴(kuò)展圖元轉(zhuǎn)化為對(duì)應(yīng)xml。
對(duì)該機(jī)制進(jìn)行詳細(xì)描述:
首先,該機(jī)制提供給用戶(hù)一個(gè)簡(jiǎn)潔,易用的界面用于圖元擴(kuò)展;在界面中按分組顯示所有預(yù)置圖元,如用戶(hù)不需要某些圖元只需選中圖元點(diǎn)擊刪除按鈕;如用戶(hù)需要在某個(gè)分組中增加圖元,則需選中該分組,右鍵點(diǎn)擊增加按鈕,在彈出的對(duì)話框中輸入圖元名稱(chēng),圖元code,圖元圖標(biāo)位置,圖元svg位置,以及該圖元所具有的屬性,點(diǎn)擊確定。
然后,我們按照用戶(hù)輸入的圖元名稱(chēng)和圖元code到配置文件中查找,如果該圖元名稱(chēng)或code已存在,則提示用戶(hù)修改圖元名稱(chēng)或code;如果圖元名稱(chēng)和code都不存在,則需在配置文件中配置該圖元,并將用戶(hù)填寫(xiě)的屬性注冊(cè)到該圖元中;如果用戶(hù)填寫(xiě)的屬性中出現(xiàn)某個(gè)屬性未注冊(cè),則還需要注冊(cè)該屬性;
然后,需要對(duì)模型進(jìn)行自動(dòng)刷新,重新加載,以產(chǎn)生擴(kuò)展圖元,并將擴(kuò)展圖元的屬性顯示出來(lái),這時(shí)用戶(hù)可以使用擴(kuò)展圖元進(jìn)行畫(huà)圖,并對(duì)其屬性的值進(jìn)行設(shè)置,設(shè)置好的屬性值將會(huì)和屬性名稱(chēng)一起被記錄在擴(kuò)展圖元的屬性中,并設(shè)置擴(kuò)展標(biāo)記;
最后,當(dāng)模型保存時(shí),模型中的擴(kuò)展圖元會(huì)被作為獨(dú)立一段存入json文件中,隨json文件傳入后臺(tái),然后在后臺(tái)中完成json文件到后臺(tái)模型model的轉(zhuǎn)化,這時(shí)json中的擴(kuò)展圖元及其屬性的信息會(huì)存入模型中,并帶有extend前綴;模型導(dǎo)出時(shí),模型中每個(gè)圖元會(huì)作為獨(dú)立標(biāo)簽被寫(xiě)入到xml文件中。這樣,當(dāng)模型需要修改,再次導(dǎo)入的時(shí)候,已經(jīng)經(jīng)過(guò)擴(kuò)展的配置文件就能夠順利的將擴(kuò)展后的圖元及其屬性值展現(xiàn)出來(lái),擴(kuò)展完成。
屬性用戶(hù)擴(kuò)展機(jī)制的應(yīng)用
應(yīng)用場(chǎng)景1:用戶(hù)需要精簡(jiǎn)模型設(shè)計(jì)器,去掉其中的腳本活動(dòng);此時(shí)只需要選中活動(dòng)分組中的腳本活動(dòng),然后點(diǎn)擊刪除即可;效果如圖2所示:
應(yīng)用場(chǎng)景2:用戶(hù)需要擴(kuò)展模型設(shè)計(jì)器,增加出納節(jié)點(diǎn)和條件節(jié)點(diǎn);此時(shí)只需要選中活動(dòng)分組,右鍵選擇增加,然后在彈出框中輸入出納節(jié)點(diǎn)的名稱(chēng),code,圖標(biāo)和svg的位置,以及出納節(jié)點(diǎn)包含的屬性等,點(diǎn)擊確定即可,效果如圖2
至少可以達(dá)到以下有益效果:使用該技術(shù)用戶(hù)可以簡(jiǎn)單方便的擴(kuò)展自己所需要的圖元,用戶(hù)體驗(yàn)好,易用性強(qiáng),并且不需要增加冗余字段,不需要開(kāi)發(fā)人員額外開(kāi)發(fā)代碼,具有很高的易用性,靈活性和可擴(kuò)展性。
最后應(yīng)說(shuō)明的是:以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。