亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于狀態(tài)機(jī)的用戶圖形界面狀態(tài)控制方法

文檔序號:6622330閱讀:1001來源:國知局
一種基于狀態(tài)機(jī)的用戶圖形界面狀態(tài)控制方法
【專利摘要】本發(fā)明提供一種基于狀態(tài)機(jī)的用戶圖形界面狀態(tài)控制方法,該方法包括(一)設(shè)置用戶界面狀態(tài)機(jī)(二)將界面控件與狀態(tài)機(jī)進(jìn)行關(guān)聯(lián)(三)在程序中觸發(fā)基于狀態(tài)機(jī)的界面狀態(tài)控制等三個實(shí)現(xiàn)步驟。通過在表單開發(fā)過程中應(yīng)用此方法,可規(guī)范化用戶界面狀態(tài)的控制操作,提高界面狀態(tài)控制的開發(fā)、維護(hù)的效率,降低出錯的概率。
【專利說明】一種基于狀態(tài)機(jī)的用戶圖形界面狀態(tài)控制方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種計(jì)算機(jī)應(yīng)用【技術(shù)領(lǐng)域】,一種軟件實(shí)現(xiàn)的表示層用戶圖形界面領(lǐng)域,具體地說是一種基于狀態(tài)機(jī)的用戶圖形界面狀態(tài)控制方法。

【背景技術(shù)】
[0002]在一個基于.NET Winforms技術(shù)實(shí)現(xiàn)的用戶圖形界面中,界面是由一組界面控件嵌套、組合而成。例如通常是由一個Form (窗體)作為基本容器,其中包含了工具欄、各種輸入控件(文本、日期等)和數(shù)據(jù)表格控件等,其基本組成結(jié)構(gòu)如附圖1所示。用戶界面狀態(tài)是由組成界面的控件的狀態(tài)構(gòu)成??丶臓顟B(tài)包含兩個狀態(tài)值:可用、不可用。
[0003]當(dāng)用戶在操作一個圖形界面時,有多種因素導(dǎo)致用戶界面狀態(tài)不同。例如用戶界面打開后默認(rèn)處于非編輯狀態(tài),這時界面的輸入控件等處于不可用狀態(tài),當(dāng)用戶點(diǎn)擊“編輯”按鈕等操作,可使界面的輸入控件進(jìn)入到可用狀態(tài)。其他的,例如當(dāng)用戶沒有當(dāng)前數(shù)據(jù)的修改權(quán)限時,整個界面的所有控件處于不可用狀態(tài)。
[0004]在做圖形界面開發(fā)時,根據(jù)不同的因素設(shè)置界面狀態(tài)的控制,是比較繁瑣的工作,并且在做維護(hù)時經(jīng)常因?yàn)闋顟B(tài)控制考慮不全導(dǎo)致程序錯誤。
[0005]如果能夠設(shè)計(jì)一種通用的界面狀態(tài)控制方法,提高界面狀態(tài)控制的開發(fā)、維護(hù)的效率,降低出錯的概率,是一項(xiàng)非常有價值的改進(jìn)。


【發(fā)明內(nèi)容】

[0006]本發(fā)明的目的是提供一種基于狀態(tài)機(jī)的用戶圖形界面狀態(tài)控制方法。
[0007]本發(fā)明的目的是按以下方式實(shí)現(xiàn)的,包括如下步驟內(nèi)容:1)設(shè)置用戶界面狀態(tài)機(jī);2)將界面控件與狀態(tài)機(jī)進(jìn)行關(guān)聯(lián);3)在程序中觸發(fā)基于狀態(tài)機(jī)的界面狀態(tài)控制;其中:
基于步驟1),戶界面狀態(tài)機(jī)是由描述界面的多個“狀態(tài)節(jié)點(diǎn)”及狀態(tài)之間的“狀態(tài)遷移”組成,
所述的,“狀態(tài)節(jié)點(diǎn)”包含如下信息:狀態(tài)標(biāo)識、狀態(tài)名稱、狀態(tài)描述;
所述的,“狀態(tài)遷移”包含如下信息:遷移標(biāo)識、遷移名稱、遷移源狀態(tài)、遷移目標(biāo)狀態(tài),其中,遷移源狀態(tài)和遷移目標(biāo)狀態(tài)分別關(guān)聯(lián)一個“狀態(tài)節(jié)點(diǎn)”;
所述的,在兩個“狀態(tài)節(jié)點(diǎn)”之間允許有多個“狀態(tài)遷移”進(jìn)行關(guān)聯(lián),用于表達(dá)不同的狀態(tài)遷移應(yīng)用場景;
基于步驟2),界面控件與狀態(tài)機(jī)進(jìn)行關(guān)聯(lián),主要完成以下子步驟:
(1)設(shè)置界面控件與狀態(tài)機(jī)的“狀態(tài)節(jié)點(diǎn)”的對應(yīng)關(guān)系,該對應(yīng)關(guān)系是一個多對多關(guān)系,即一個界面控件包含到多個“狀態(tài)節(jié)點(diǎn)”中,而一個“狀態(tài)節(jié)點(diǎn)”包含多個界面控件;
(2)設(shè)置“狀態(tài)節(jié)點(diǎn)”包含的界面控件的狀態(tài);
基于步驟2)的設(shè)計(jì),“狀態(tài)節(jié)點(diǎn)”與界面控件的對應(yīng)關(guān)系,是一個獨(dú)立的實(shí)體,偽代碼類型命名為:UIStateControl,該實(shí)體包含如下信息:狀態(tài)節(jié)點(diǎn)標(biāo)識、界面控件標(biāo)識、界面控件狀態(tài),其中界面控件狀態(tài)包含兩個枚舉值:可用、不可用; 基于步驟3),在程序中觸發(fā)基于狀態(tài)機(jī)的界面狀態(tài)控制,主要包含以下子步驟:
(I)在具體的界面操作過程中,當(dāng)要進(jìn)行界面狀態(tài)的改變時,需要調(diào)用狀態(tài)機(jī)的狀態(tài)機(jī)狀態(tài)遷移編程接口,并獲取返回的界面控件的狀態(tài)集合;
進(jìn)一步的,基于步驟三的子步驟(I ),狀態(tài)機(jī)狀態(tài)遷移編程接口,其偽代碼如下所示:List< UIStateControl> TrasitState(string curStateID, string transit1nID,out string targetStateID);
其中curStateID是代表當(dāng)前界面所處狀態(tài)的狀態(tài)機(jī)“狀態(tài)節(jié)點(diǎn)”標(biāo)識;transit1nID是要執(zhí)行的“狀態(tài)遷移”的標(biāo)識;targetStateID是一個輸出參數(shù),用來標(biāo)識通過方法執(zhí)行,遷移到的“狀態(tài)節(jié)點(diǎn)”的標(biāo)識;返回值是一個“狀態(tài)節(jié)點(diǎn)”與界面控件關(guān)聯(lián)實(shí)體UIStateControl的集合,表示在執(zhí)行方法后,界面控件狀態(tài)集合;
(2 )根據(jù)步驟3 )的子步驟(I)的返回值,循環(huán)讀取界面控件狀態(tài),通過程序?qū)ο鄳?yīng)界面控件的狀態(tài)機(jī)進(jìn)行設(shè)置,完成界面狀態(tài)的控制。
[0008]本發(fā)明的優(yōu)異效果:通過在圖形界面開發(fā)過程中應(yīng)用此方法,可規(guī)范化用戶界面狀態(tài)的控制操作,提高界面狀態(tài)控制的開發(fā)、維護(hù)的效率,降低出錯的概率。

【專利附圖】

【附圖說明】
[0009]圖1是圖形用戶界面控件組成結(jié)構(gòu)示意圖;
圖2是控制界面狀態(tài)的狀態(tài)機(jī)基本結(jié)構(gòu)圖;
圖3是界面控件與狀態(tài)節(jié)點(diǎn)間的關(guān)系結(jié)構(gòu)圖;
圖4是實(shí)施例中描述的采購訂單界面示意圖;
圖5是實(shí)施例中描述的采購訂單界面狀態(tài)機(jī)示意圖。

【具體實(shí)施方式】
[0010]參照說明書附圖對本發(fā)明的作以下詳細(xì)地說明。
[0011]以下將通過對本發(fā)明的優(yōu)選實(shí)施例的詳細(xì)描述,使本發(fā)明的上述目標(biāo)、特征和優(yōu)點(diǎn)更加清晰、易懂。
[0012]以某系統(tǒng)的采購訂單為示例,采購訂單界面,包含一個工具欄、一組輸入控件及一個數(shù)據(jù)表格控件。其界面原型如附圖4所示。工具欄有三個按鈕:新建、編輯、保存,界面規(guī)則定義如下:
1.界面打開后,默認(rèn)處于初始狀態(tài),新建、編輯按鈕處于可用狀態(tài),保存按鈕處于不可用狀態(tài)。界面輸入控件及數(shù)據(jù)表格控件處于不可用狀態(tài)。
[0013]2.當(dāng)用戶點(diǎn)擊新建按鈕時,界面處于新建狀態(tài),其中所有的輸入型控件及數(shù)據(jù)表格控件都處于可用狀態(tài),并且編輯按鈕處于不可用狀態(tài),保存按鈕處于可用狀態(tài)。
[0014]3.當(dāng)用戶點(diǎn)擊編輯按鈕時,界面處于編輯狀態(tài);其中訂單編號處于不可用狀態(tài),其他輸入型控件及數(shù)據(jù)表格控件處于可用狀態(tài),并且新建按鈕處于不可用狀態(tài),保存按鈕處于可用狀態(tài)。
[0015]4.當(dāng)用戶點(diǎn)擊保存按鈕,系統(tǒng)保存成功后,界面返回到初始狀態(tài)。
[0016]首先,建立三個界面狀態(tài):初始、新建、可編輯,并設(shè)置三個狀態(tài)的遷移關(guān)系,如圖5所示。然后,定義三種狀態(tài)下界面控件的狀態(tài)信息如下:

【權(quán)利要求】
1.一種基于狀態(tài)機(jī)的用戶圖形界面狀態(tài)控制方法,其特征在于包括如下步驟內(nèi)容:I)設(shè)置用戶界面狀態(tài)機(jī);2)將界面控件與狀態(tài)機(jī)進(jìn)行關(guān)聯(lián);3)在程序中觸發(fā)基于狀態(tài)機(jī)的界面狀態(tài)控制;其中: 基于步驟1),戶界面狀態(tài)機(jī)是由描述界面的多個“狀態(tài)節(jié)點(diǎn)”及狀態(tài)之間的“狀態(tài)遷移”組成, 所述的,“狀態(tài)節(jié)點(diǎn)”包含如下信息:狀態(tài)標(biāo)識、狀態(tài)名稱、狀態(tài)描述; 所述的,“狀態(tài)遷移”包含如下信息:遷移標(biāo)識、遷移名稱、遷移源狀態(tài)、遷移目標(biāo)狀態(tài),其中,遷移源狀態(tài)和遷移目標(biāo)狀態(tài)分別關(guān)聯(lián)一個“狀態(tài)節(jié)點(diǎn)”; 所述的,在兩個“狀態(tài)節(jié)點(diǎn)”之間允許有多個“狀態(tài)遷移”進(jìn)行關(guān)聯(lián),用于表達(dá)不同的狀態(tài)遷移應(yīng)用場景; 基于步驟2),界面控件與狀態(tài)機(jī)進(jìn)行關(guān)聯(lián),主要完成以下子步驟: (1)設(shè)置界面控件與狀態(tài)機(jī)的“狀態(tài)節(jié)點(diǎn)”的對應(yīng)關(guān)系,該對應(yīng)關(guān)系是一個多對多關(guān)系,即一個界面控件包含到多個“狀態(tài)節(jié)點(diǎn)”中,而一個“狀態(tài)節(jié)點(diǎn)”包含多個界面控件; (2)設(shè)置“狀態(tài)節(jié)點(diǎn)”包含的界面控件的狀態(tài); 基于步驟2)的設(shè)計(jì),“狀態(tài)節(jié)點(diǎn)”與界面控件的對應(yīng)關(guān)系,是一個獨(dú)立的實(shí)體,偽代碼類型命名為:UIStateControl,該實(shí)體包含如下信息:狀態(tài)節(jié)點(diǎn)標(biāo)識、界面控件標(biāo)識、界面控件狀態(tài),其中界面控件狀態(tài)包含兩個枚舉值:可用、不可用; 基于步驟3),在程序中觸發(fā)基于狀態(tài)機(jī)的界面狀態(tài)控制,主要包含以下子步驟: (I)在具體的界面操作過程中,當(dāng)要進(jìn)行界面狀態(tài)的改變時,需要調(diào)用狀態(tài)機(jī)的狀態(tài)機(jī)狀態(tài)遷移編程接口,并獲取返回的界面控件的狀態(tài)集合; 進(jìn)一步的,基于步驟三的子步驟(I ),狀態(tài)機(jī)狀態(tài)遷移編程接口,其偽代碼如下所示:List< UIStateControl> TrasitState(string curStateID, string transit1nID,out string targetStateID); 其中curStateID是代表當(dāng)前界面所處狀態(tài)的狀態(tài)機(jī)“狀態(tài)節(jié)點(diǎn)”標(biāo)識;transit1nID是要執(zhí)行的“狀態(tài)遷移”的標(biāo)識;targetStateID是一個輸出參數(shù),用來標(biāo)識通過方法執(zhí)行,遷移到的“狀態(tài)節(jié)點(diǎn)”的標(biāo)識;返回值是一個“狀態(tài)節(jié)點(diǎn)”與界面控件關(guān)聯(lián)實(shí)體UIStateControl的集合,表示在執(zhí)行方法后,界面控件狀態(tài)集合; (2 )根據(jù)步驟3 )的子步驟(I)的返回值,循環(huán)讀取界面控件狀態(tài),通過程序?qū)ο鄳?yīng)界面控件的狀態(tài)機(jī)進(jìn)行設(shè)置,完成界面狀態(tài)的控制。
【文檔編號】G06F9/44GK104133684SQ201410378534
【公開日】2014年11月5日 申請日期:2014年8月4日 優(yōu)先權(quán)日:2014年8月4日
【發(fā)明者】孫立新 申請人:浪潮通用軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1