3.2 界面區(qū)域與外界輸入的相互配合響應(yīng)
由以上可知,顯示的圖形雖然形形色色,但是他們都可以抽象成具有共同屬性的某種數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)就好比是圖形界面的靈魂,掌握了數(shù)據(jù)結(jié)構(gòu),就可以讓圖形界面隨之而變。那么如何設(shè)計(jì)、控制、改變這些數(shù)據(jù)結(jié)構(gòu)就成為實(shí)現(xiàn)用戶圖形界面(gui)的關(guān)鍵了。
要響應(yīng)外界用戶的輸入,我們需要制定一套機(jī)制運(yùn)行法則,而這套機(jī)制運(yùn)行法則就是狀態(tài)機(jī)(system status machine),也是用戶用以操作儀器的操作平臺(operation platform)。依據(jù)這套運(yùn)行法則,我們的系統(tǒng)根據(jù)外界的輸入來更改各種界面下使用的數(shù)據(jù)結(jié)構(gòu),從而實(shí)現(xiàn)用戶對圖形界面的操作。當(dāng)然,在實(shí)際的設(shè)計(jì)中,操作平臺(operation platform)不僅僅是改變gui的數(shù)據(jù)結(jié)構(gòu),還要考慮任務(wù)調(diào)度以及其他任務(wù)模塊中的數(shù)據(jù)結(jié)構(gòu)的改變。
4 數(shù)字示波器的用戶圖形界面(gui)的軟件設(shè)計(jì)流程
設(shè)計(jì)出一個(gè)好的用戶圖形界面,是一個(gè)龐大而巨細(xì)的工程。涉及到方方面面的相互之間的關(guān)系,也涉及到實(shí)現(xiàn)過程中的許多細(xì)節(jié)的問題。如何理清這些繁多的變化的關(guān)系,是設(shè)計(jì)的關(guān)鍵。rigol團(tuán)隊(duì)曾經(jīng)使用一些全局變量,來做為各種狀態(tài)、各種模式下的標(biāo)示,用以改變用戶的圖形界面。但是因?yàn)樽兞康谋姸?,?dǎo)致變量之間的搭配的可能性成倍的增加,狀態(tài)的轉(zhuǎn)移關(guān)系也就會成倍的增加。這對于編程者來說,與其說是在編程,還不如說是在做一道及其龐雜的邏輯組合題。
所以,這樣的思路在理論上是可行的,但在實(shí)際中是不可取的。我們應(yīng)該盡量的去其枝葉,找到能夠貫穿整個(gè)系統(tǒng),標(biāo)示不同的狀態(tài)以及模式的變量或者結(jié)構(gòu)。最終,我們以鍵盤的輸入鍵值為主線,輔以各種的全局變量,來控制系統(tǒng)狀態(tài)的變化。鍵值雖然有許多許多,但是因?yàn)橹挥羞@么一個(gè)變量做為狀態(tài)量,系統(tǒng)狀態(tài)的變化,就可以在掌控之中了。所以,在這個(gè)系統(tǒng)中,鍵值變量key_id成為了主角,用戶界面將圍繞其進(jìn)行改變。
鍵值變量key_id要根據(jù)用戶的輸入進(jìn)行改變。在這里我們就不描繪狀態(tài)
變量是如何轉(zhuǎn)移的。我們介紹對于既定的鍵值變量key_id是如何完成用戶圖形界面的輸出的。
5 結(jié)語
目前,國內(nèi)的數(shù)字示波器,除了測量信號的性能指標(biāo)較低外,在系統(tǒng)的整體性、用戶的可操作性等功能上不及國外產(chǎn)品考慮得周詳。
由以上可知,顯示的圖形雖然形形色色,但是他們都可以抽象成具有共同屬性的某種數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)就好比是圖形界面的靈魂,掌握了數(shù)據(jù)結(jié)構(gòu),就可以讓圖形界面隨之而變。那么如何設(shè)計(jì)、控制、改變這些數(shù)據(jù)結(jié)構(gòu)就成為實(shí)現(xiàn)用戶圖形界面(gui)的關(guān)鍵了。
要響應(yīng)外界用戶的輸入,我們需要制定一套機(jī)制運(yùn)行法則,而這套機(jī)制運(yùn)行法則就是狀態(tài)機(jī)(system status machine),也是用戶用以操作儀器的操作平臺(operation platform)。依據(jù)這套運(yùn)行法則,我們的系統(tǒng)根據(jù)外界的輸入來更改各種界面下使用的數(shù)據(jù)結(jié)構(gòu),從而實(shí)現(xiàn)用戶對圖形界面的操作。當(dāng)然,在實(shí)際的設(shè)計(jì)中,操作平臺(operation platform)不僅僅是改變gui的數(shù)據(jù)結(jié)構(gòu),還要考慮任務(wù)調(diào)度以及其他任務(wù)模塊中的數(shù)據(jù)結(jié)構(gòu)的改變。
4 數(shù)字示波器的用戶圖形界面(gui)的軟件設(shè)計(jì)流程
設(shè)計(jì)出一個(gè)好的用戶圖形界面,是一個(gè)龐大而巨細(xì)的工程。涉及到方方面面的相互之間的關(guān)系,也涉及到實(shí)現(xiàn)過程中的許多細(xì)節(jié)的問題。如何理清這些繁多的變化的關(guān)系,是設(shè)計(jì)的關(guān)鍵。rigol團(tuán)隊(duì)曾經(jīng)使用一些全局變量,來做為各種狀態(tài)、各種模式下的標(biāo)示,用以改變用戶的圖形界面。但是因?yàn)樽兞康谋姸?,?dǎo)致變量之間的搭配的可能性成倍的增加,狀態(tài)的轉(zhuǎn)移關(guān)系也就會成倍的增加。這對于編程者來說,與其說是在編程,還不如說是在做一道及其龐雜的邏輯組合題。
所以,這樣的思路在理論上是可行的,但在實(shí)際中是不可取的。我們應(yīng)該盡量的去其枝葉,找到能夠貫穿整個(gè)系統(tǒng),標(biāo)示不同的狀態(tài)以及模式的變量或者結(jié)構(gòu)。最終,我們以鍵盤的輸入鍵值為主線,輔以各種的全局變量,來控制系統(tǒng)狀態(tài)的變化。鍵值雖然有許多許多,但是因?yàn)橹挥羞@么一個(gè)變量做為狀態(tài)量,系統(tǒng)狀態(tài)的變化,就可以在掌控之中了。所以,在這個(gè)系統(tǒng)中,鍵值變量key_id成為了主角,用戶界面將圍繞其進(jìn)行改變。
鍵值變量key_id要根據(jù)用戶的輸入進(jìn)行改變。在這里我們就不描繪狀態(tài)
變量是如何轉(zhuǎn)移的。我們介紹對于既定的鍵值變量key_id是如何完成用戶圖形界面的輸出的。
5 結(jié)語
目前,國內(nèi)的數(shù)字示波器,除了測量信號的性能指標(biāo)較低外,在系統(tǒng)的整體性、用戶的可操作性等功能上不及國外產(chǎn)品考慮得周詳。