版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
積成電子股份有限公司
JC/ZJ0462
軟件單元設(shè)計書
項目名稱:繪圖工具開發(fā)
版本號:0.8
積成電子股份有限公司
中國濟南
積成電子股份有限公司
軟件單元設(shè)計書版本:0.90
修訂歷史記錄
版本號修訂日期修訂人審批人相對前一版本的修訂內(nèi)容以
及章節(jié)/頁碼
0.82013-8-26譚莉莉初始創(chuàng)建
積成電子股份有限公司
軟件單元設(shè)計書版本:0.90
目錄
目錄3
1引言5
1.1目的5
1.2預(yù)期的讀者和閱讀建議5
1.3文檔范圍5
2模塊詳細設(shè)計5
2.1通用界面模塊詳細設(shè)計5
2.1.1啟動畫面功能5
2.1.2通用關(guān)于對話框8
2.2系統(tǒng)控制臺模塊詳細設(shè)計10
2.2.1身份驗證12
2.2.2手動啟動模塊16
2.2.3自啟動模塊23
2.2.4實時數(shù)據(jù)顯示26
2.2.5實時曲線顯示37
2.2.6菜單項配置42
2.2.7模塊狀態(tài)監(jiān)測56
2.3前置通信服務(wù)(CCMSERVER)模塊詳細設(shè)計57
2.3.1類關(guān)系設(shè)計57
2.3.2擴展通道狀態(tài)的日統(tǒng)計處理59
2.3.3脫離商業(yè)數(shù)據(jù)庫運行68
2.4前置數(shù)據(jù)庫編輯器模塊詳細設(shè)計70
2.4.1成組輸入功能70
2.4.2擴充通道統(tǒng)計參數(shù)的填寫功能75
2.4.3自動同步功能76
2.5帶鎖定列功能的表格模塊詳細設(shè)計79
2.5.1列鎖定功能79
2.6數(shù)據(jù)庫編輯器模塊詳細設(shè)計92
2.6.1啟動畫面和關(guān)于對話框93
2.6.2自定義記錄篩選功能93
2.6.3內(nèi)容查找100
2.6.4層次導(dǎo)航圖102
2.6.5內(nèi)容排序110
2.6.6數(shù)據(jù)庫同步管理112
2.7文件數(shù)據(jù)庫管理模塊詳細設(shè)計113
2.7.1保存數(shù)據(jù)庫到文件113
2.8文件數(shù)據(jù)庫訪問模塊詳細設(shè)計118
2.8.1文件數(shù)據(jù)庫訪問118
2.9數(shù)據(jù)庫管理服務(wù)模塊詳細設(shè)計125
2.9.1前置數(shù)據(jù)庫自動同步功能125
2.9.2描述數(shù)據(jù)庫自動同步功能126
2.9.3配置自動同步時間間隔127
2.10繪圖工具模塊詳細設(shè)計128
第3頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:0.90
2.10.1自動建站成圖128
2.10.2拓撲連通性檢查157
2.10.3拓撲連通顏色設(shè)置160
2.10.4圖形錯誤檢查功能161
2.10.5拖動圖元時能自動感應(yīng)拓撲連接點163
2.10.6繪圖填庫過程中填庫錯誤的事務(wù)回滾功能170
2.10.7熱點調(diào)圖功能170
2.10.8顯示域內(nèi)元件序號171
2.10.9變壓器中壓側(cè)分接頭上畫面173
2.10.10自動生成遙測、遙信、保護表175
2.10.11CT、PT、開關(guān)量的自動修正功能178
2.10.12圖元清理功能182
2.10.13繪制時鐘圖元183
2.11人機界面模塊詳細設(shè)計186
2.11.1MMI中為任意遙測量增加動態(tài)實時曲線功能186
2.11.2皿I中調(diào)用當前圖形到繪圖工具中編輯190
2.11.3MMI中控制臺風(fēng)格可切換193
3數(shù)據(jù)詳細設(shè)計197
3.1前置通信服務(wù)模塊數(shù)據(jù)實體設(shè)計197
3.1.1前置數(shù)據(jù)庫編輯器初始化文件197
3.1.2前置數(shù)據(jù)庫同步表197
3.2數(shù)據(jù)庫管理服務(wù)模塊數(shù)據(jù)實體設(shè)計198
3.2.1dbmanager.ini文件錯誤!未定義書簽。
3.2.2同步表錯誤!未定義書簽。
4其他198
第4頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:0.90
1引言
1.1目的
本文對繪圖工具項目的模塊進行詳細單元設(shè)計,包括單元內(nèi)部的數(shù)據(jù)結(jié)構(gòu)和處理
邏輯,為編碼工作提供依據(jù)。
1.2預(yù)期的讀者和閱讀建議
本文預(yù)期的讀者為系統(tǒng)分析人員、開發(fā)人員、測試人員、用戶手冊的編寫人員。
系統(tǒng)分析員著重關(guān)注對本單元的設(shè)計是否按照《軟件架構(gòu)設(shè)計書》中的設(shè)計進行
的,是否能滿足架構(gòu)設(shè)計中的全部要求;開發(fā)人員根據(jù)本文進行代碼的編寫和單元測
試;測試人員根據(jù)本文清晰各個單元之間的接口是否合理完備,能否滿足測試用例的
需求;用戶手冊的編寫人員可以著重從功能的角度理解各個單元如何進行工作的,從
而可以更清晰地進行用戶手冊的編寫。
對于想深入了解繪圖工具的設(shè)計細節(jié)的人員,本文也可以提供一定的幫助。
1.3文檔范圍
本文描述了繪圖工具系統(tǒng)的功能,適用于圖形的繪制.
2模塊詳細設(shè)計
2.1通用界面模塊詳細設(shè)計
本模塊為動態(tài)鏈接庫,名稱為commongui(Windows平臺上為commmongui.dll,
Unix平臺上為libcommongui.so)<>
本模塊主要提供系統(tǒng)軟件通用的圖形界面元素,功能包括:
?程序啟動畫面
?程序中的“關(guān)于”對話框
2.1.1啟動畫面功能
2.1.1.1功能描述
本功能提供一個通用啟動畫面類,運行時圖片的名稱由調(diào)用者指定,格式包括
JPG、PNG、GIF等,還可以根據(jù)配置同時顯示文字和進度條。
2.1.1.2類設(shè)計
積成電子股份有限公司
軟件單元設(shè)計書版本:0.90
QLabel
(fromQt3.1.1)|
JSplashScreen
QPixmap
Z>S7YLEIMAGE:int(fromQt3.1.1)
OSIYLETEXT:int
CSTYLEPROGRESS:int+m_pixmap
與m_style:int
^>m_show_text:bool
^>m_showjDrogress:bool
勒m_caption:QString
^JSplashScreen()
?〈〈virtual〉〉-JSplashScreen()QProgressBar
?clea「()(fromQt3.1.1)
?message。
?setP「og「ess()
?setTotalSteps()timer
?setSplashCaption()
^getProgressDialog()
QTimer
Cinit()
(fromQt3.1.1)
?handleRefresh()
令reset。
Dialog
0..1
QColor
QProgressDialogQStnng
(fromQt3.1.1)
(fromQt3.1.1)(fromQt3.1.1)
上圖中,類JSplashScreen為要實現(xiàn)的類,派生自QLabel,聚合QLabel、QPixmap、
QProgressBarQTimer,分別實現(xiàn)啟動畫面中的文字、圖片、進度條和刷新定時器。
第6頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:090
2.1.1.2.1JSplashScreen
JSplashScreen
?STYLEIMAGE:Int
^STYLE^TEXT:int
-STYLEPROGRESS:int
/>m_style:int
^-m_showjext:bool
^■m_show_progress:bool
&>m_c叩tion:QString
^JSplashScreen(parent:QWidgetx,fileName:QWidget*,format:constchar*,arCaption:constQStringA,sytle:int,name:constchar*)
?<<Urtual>>-JSplashScreen。
?clear。:gid
essage(message:constQString&,alignment:int,color:constQColorr&):void
*setProgress(arProgress:Int):void
*setTotalSteps(arTotalProgress:int):void
*setSplashCaption(arCaption:QString&):Md
?getProgressDialog():QProgressDialog,
倏init():gid
*handleRefresh():void
?reset。:void
顯示圖片、文本提示信息和進度條作為程序的啟動畫面,當程序啟動過程中需要
訪問數(shù)據(jù)庫、初始化內(nèi)存,需要用戶等待一段時間時,用啟動畫面顯示程序正在運行,
并可以展示一定的文字信息和進展程度。啟動畫面顯示后,尺寸由所提供的圖片尺寸
決定,在所在顯示器的窗口居中顯示。
通常構(gòu)造一個啟動窗口需要提供一個圖片的文件名和格式名,文件名可以是程序
運行工作目錄下的文件,也可以是相對路徑文件,文件的格式包括png、jpg、gif、
xpm等。還需要提供一個窗口的標題,在Windows平臺運行時,任務(wù)欄會出現(xiàn)一個圖
標,顯示所提供的標題文字.
主要成員函數(shù)設(shè)計:
(1)MyCanvasView(QCanvas*c,QWidget*parent=O,constchar*name=0,
WFlagsf=0)
描述:根據(jù)指定的參數(shù)構(gòu)造一個畫布視圖。
(2)voidselectItem(QPointpos)
描述:選中pos表示的點對應(yīng)的圖元。
(3)voidreleaseltem()
描述:釋放選中的圖元。
(4)voidcopyltemO
描述:復(fù)制當前選中的圖元,如果沒有圖元被選中則直接返回,然后粘貼在選中
圖元的右下方。
(5)voidsave()
描述:將畫布中所有的圖元保存到文件中。
(6)voidopen()
描述:打開保存圖元的文件,將其中的圖元顯示到畫布視圖中。
(7)voidclear()
第7頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:0.90
描述:清空畫布。
(8)voidenlarge()
描述:放大選中的圖元,每次放大1.1倍。
(9)voidshrink()
描述:縮小選中的圖元,每次縮小0.9倍。
2.1.1.3功能實現(xiàn)
QT中的控件不支持透明背景,因此在實現(xiàn)啟動畫面中的文字和進度條時,為了不
對背景的圖片產(chǎn)生影響,需要從所在位置的背景圖片上截取一段圖片來填充控件的背
景。方法是創(chuàng)建一個臨時的QPixmap對象,尺寸與要填充的控件一樣,然后調(diào)用其fill
方法,把要截取的背景控件指針傳入,并指定截取的位置。要注意背景的圖片和前景
圖片不完全對齊,背景圖片比前景位置相差一個邊框?qū)挾?,因此在指定位置的時候,
縱橫坐標都需要剪去frameWidth。。
2.1.1.4對外接口
本模塊提供兩種方法供調(diào)用者使用這里提供的啟動畫面功能。
(1)直接使用JSplashScreen對象
創(chuàng)建JSplashScreen對象,可以是靜態(tài)的,也可以是動態(tài)的。構(gòu)造函數(shù)中設(shè)置好
風(fēng)格、父窗口、圖片文件名稱、總步長等參數(shù),然后調(diào)用QApplication的
setMainWidget。方法把該對象設(shè)置為主窗體。在啟動過程中調(diào)用setProgress()方法
來控制進度條的位置,通過message。方法來設(shè)置顯示的文本。
(2)通過QProgressDialog指針間接使用JSplashScreen對象
這種方法是為兼容老的程序啟動畫面而設(shè)計的,新開發(fā)的程序不推薦使用。首先
創(chuàng)建JSplashScreen對象,靜態(tài)或動態(tài)均可,然后調(diào)用getProgressDialog。方法得
到指針,把此指針傳遞到相關(guān)的處理函數(shù)中,按照使用QProgressDialog的方法來應(yīng)
用。
2.1.2通用關(guān)于對話框
2.1.2.1功能描述
本功能提供一個通用的關(guān)于對話框,根據(jù)用戶指定的參數(shù)顯示模塊名稱、版本信
息、程序圖標等。功能較為簡單,單獨作為一個公共控件,主要目的是為了達到風(fēng)格
統(tǒng)一。最終的界面設(shè)計如下圖所示,對話框標題顯示“關(guān)于***",對話框的上部顯示
統(tǒng)一的標志圖片,中間部分顯示模塊信息和版本信息,再往下是一條直線和公司的網(wǎng)
址,最后是一個確定按鈕,點擊后關(guān)閉對話框。
第8頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:090
2.1.2.2類設(shè)計
QDialog
(fromQt3.1.1)
JAboutDialog
UAboutDialog()
,?JAboutDialog。
QFrameQLabel
(fromQt3.1.1)(fromQt3.1.1)
從類圖中可以看到,本功能只實現(xiàn)一個類JAboutDialog,該類由QDialog派生,
其余類是對話框中的界面元素類,其中的QFrame用于顯示一條直線。這些類的對象
都是臨時動態(tài)創(chuàng)建并顯示的,由QT的內(nèi)存管理機制負責(zé)清除釋放內(nèi)存。
2.1.2.2.1JAboutDialog
JAboutDialog
^JAboutDialogfarCaptionconstchar*,arVersionconstchar*,ariconQPixmap,,arParentQWidgef,nameconstchar*,modalbod,flagsWFIags)
*-JAboutDalog()
第9頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:0.90
該類只由一個構(gòu)造函數(shù),其余方法特性沿用其父類QDialog?
主要函數(shù)設(shè)計:
(1)JAboutDialog(constchar*arCaption,constchar*arVersion,QPixmap*
arlcon,QWidget*parent,constchar*name,boolmodal,WFlagsflag)
描述:根據(jù)指定的參數(shù)構(gòu)造一個對話框。
設(shè)計:根據(jù)調(diào)用參數(shù)arCaption,組合成“關(guān)于***"作為對話框標題,如果參數(shù)
為空,則顯示為“關(guān)于iES600Pro”;在對話框的上半部分顯示統(tǒng)一的圖片,然后依據(jù)
該圖片的位置,計算用戶給定圖標的坐標,如果沒有提供圖標則不顯示該圖標,默認
占用空間大小32*32;然后根據(jù)用戶給定的arCaption和arVersion組合提示文本信
息,顯示在圖標的右側(cè),顯示的坐標相對于圖片的坐標進行計算。在上述內(nèi)容的下面
繪制一條線和公司網(wǎng)址信息。最后展示一個“確定”按鈕,并把該按鈕的單擊信號
clicked。與對話框關(guān)閉函數(shù)reject。連接。最后根據(jù)所有控件的尺寸調(diào)整對話框的
尺寸。
(2)^JAboutDialog()
描述:析構(gòu)函數(shù)。
設(shè)計:釋放分配的內(nèi)存。
2.1.2.3功能實現(xiàn)
根據(jù)上圖的方案,確定對話框中各個元素的位置,宜采用相對坐標,使位置關(guān)系
合適。用戶調(diào)用中傳入的參數(shù)如果為空,則對話框提供通用的內(nèi)容。
2.1.2.4對外接口
該類的使用方法,除構(gòu)造函數(shù)外,其余與QDialog完全相同。
2.2系統(tǒng)控制臺模塊詳細設(shè)計
系統(tǒng)控制臺模塊分為功能實現(xiàn)和配置實現(xiàn)兩部分。功能實現(xiàn)部分的類關(guān)聯(lián)關(guān)系如
下圖所示:
第10頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:0.90
CPopMenu
CMainWnd是控制臺的主窗口類,負責(zé)控制臺主界面的創(chuàng)建。CMainWnd類中聚合
CAreaBase類,CAreaBase是區(qū)域基類,所有區(qū)域類均從該類派生。
主窗口由7個區(qū)域類構(gòu)成,包括CAreaSign類,CAreaTime類,CAreaRetract
類,CAreaMenu類,CAreaSetting類,CAreaRtParam類,CAreaCurve類,其中:CAreaSign
是標志區(qū)域類,負責(zé)控制臺圖標和文字標志的顯示。CAreaTime是時間區(qū)域類,負責(zé)
控制臺的時間顯示。CAreaRetract是伸縮區(qū)域類,負責(zé)控制臺的伸縮控制。CAreaMenu
是菜單區(qū)域類,負責(zé)控制臺的菜單顯示和模塊自啟動。每個CPopMenuCAreaSetting
是設(shè)置區(qū)域類,負責(zé)控制臺的常用操作,包括啟動終端,查看日志,配置控制臺,退
出控制臺。CAreaRtParam是實時參數(shù)區(qū)域類,負責(zé)實時電網(wǎng)參數(shù)的顯示。CAreaCurve
是實時曲線區(qū)域類,負責(zé)實時曲線的顯示。
控制臺菜單功能由類
CMenuItem,CCmdMenuItem,CPopMenuItem,CPopMenu,CMenuData實現(xiàn)。CAreaMenu類中
聚合CMenuData類和CMenuItem類,每個CMenuItem類關(guān)聯(lián)一個CMenuData類。菜單
項分兩種類型,命令菜單CCmdMenuItem和彈出菜單CPopMenuItem。每個彈出菜單項
CPopMenuItem關(guān)聯(lián)一個彈出菜單CPopMenu,每個彈出菜單CPopMenu中聚合命令菜單
項CCmdMenuItem。
配置實現(xiàn)部分的類關(guān)聯(lián)關(guān)系如下圖所示:
第11頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:0.90
CDlgSetup是配置窗口的主界面類,CDlgSetup關(guān)聯(lián)CPageRtPara類,CPageMenu
類,QListBox類。其中CPageRtPara類負責(zé)實時參數(shù)區(qū)域配置,CPageMenu類負責(zé)菜
單區(qū)域的菜單項配置,QListBox聚合CListBoxArealtem類,CListBoxArealtem類關(guān)
聯(lián)區(qū)域基類CAreaBase,負責(zé)各區(qū)域的通用屬性的配置.
2.2.1身份驗證
2.2.1.1功能描述
該功能主要是對人員的操作權(quán)限進行驗證。
2.2.1.2類設(shè)計
第12頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:0.90
2.2.1.2.1CUserVerify類
CUserVerify
劭IblUser:QLabel*
%>cmbUser:QComboBox*
蹌IbIPwd:QLabel*
"S^edtPwd:QLineEdit*
電btnOK:QPushButton*
^btnCancel:QPushButton*
^m_aRenYuans:ARenYuan
^m^RenYuan:RENYU緋I
^m__bVerifyUserType:Jboolean
蹌m_nType:Juint32
劭m_nQuanXian:Juint32
%>m_bAllowJC:Jboolean
?CUserVerify。
?\CUserVerify。
^?static?checkUserRightQ
^?static?getErrorMessageQ
?setVerifyInfoRightQ
^?virtual?OnOKQ
^?virtual?initDialogQ
^<<virtual?initRenyuanQ
身份驗證主要通過類CUserVerify實現(xiàn)。
主要屬性設(shè)計:
1)std::vector<RENYUAN>m_aRenYuans;
功能描述:存放讀取的人員列表。
2)RENYUANm_RenYuan;
功能描述:當前通過驗證的人員信息。
3)Jbooleanm_bVerifyUserType;
功能描述:是否驗證用戶類型,否則驗證權(quán)限
4)Juint32mnType;
功能描述:待驗證的類型。
Juin132m_nQuanXian;
功能描述:待驗證的權(quán)限。
5)Jbooleanm_bAllowJC;
功能描述:是否允許JC保留用戶。
6)QComboBox*cmbUser;
功能描述:顯示用戶名的列表框。
7)QLineEdit*edtPwd;
第13頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:。90
功能描述:用于輸入密碼的編輯框。
8)QPushButton*btnOK;
功能描述:確定按鈕。
9)QPushButton*btnCancel;
功能描述:取消按鈕。
主要函數(shù)設(shè)計:
1)CUserVerify(QWidget*parent,constchar*name,boolmodal,WFlagsfl);
函數(shù)功能:身份驗證對話框的構(gòu)造函數(shù)。
輸入?yún)?shù):
parent:父窗口指針。
name:窗口部件的名字。
modal:是否模式對話框。
f:窗口風(fēng)格標志值。
返回值:無。
2)'CUserVerify();
函數(shù)功能:身份驗證對話框的析構(gòu)函數(shù).
輸入?yún)?shù):無。
返回值:無。
3)staticErrorCodecheckUserRight(Juint32nQuanXian,JbooleanbAllowJC=JFALSE,QWidget
*parent=0);
函數(shù)功能:檢查用戶權(quán)限。
輸入?yún)?shù):
nQuanXian:用戶權(quán)限類型。
bAllowJC:是否允許使用JC保留用戶。
parent:父窗口指針。
返回值:ERR_Success,成功。
ERR_DBError,打開數(shù)據(jù)庫出錯。
ERR_NoRecord,空表。
ERR_NoUser,用戶不存在。
ERR_BadPass,密碼錯誤。
ERR_NoRight,沒有權(quán)限。
ERR_Cancel,取消。
第14頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:。90
4)staticQStringgetErrorMessage(ErrorCodecode);
函數(shù)功能:獲得出錯信息。
輸入?yún)?shù):
code:出錯的信息代碼。
返回值:返回出錯信息。
5)ErrorCodesetVerifylnfoRight(Juint32nQuanXian,JbooleanbAllowJC=JFALSE);
函數(shù)功能:設(shè)置人員權(quán)限
輸入?yún)?shù):
nQuanXian:權(quán)限類型
bAllowJC:是否允許使用JC保留用戶。
返回值:ERRSuccess,成功
ERRDBError,打開數(shù)據(jù)庫出錯
ERR_NoRecord,空表
ERR_NoUser,用戶不存在
ERRBadPass,密碼錯誤
ERR_NoRight,沒有權(quán)限
ERR_Cancel,取消
6)virtualvoidOnOK();
函數(shù)功能:進行權(quán)限確認。
輸入?yún)?shù):無。
返回值:無。
7)virtualvoidinitDialog();
函數(shù)功能:初始化對話框。
輸入?yún)?shù):無。
返回值:無。
8)virtualErrorCodeinitRenyuanO;
函數(shù)功能:初始化人員列表。
輸入?yún)?shù):無。
返回值:無。
2.2.1.3功能實現(xiàn)
人員列表中的人員從數(shù)據(jù)庫中讀出,在進行人員權(quán)限確認時,程序會將用戶輸入
的人員名,密碼和權(quán)限到數(shù)據(jù)庫中去確認。如果確認成功則進入下步操作,否則提示
第15頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:。90
失敗。
2.2.1.4對外接口
無。
2.2.2手動啟動模塊
2.2.2.1功能描述
該功能讓用戶以點擊菜單項的方式手工啟動模塊。
2.2.2.2類設(shè)計
手動啟動模塊功能通過類
CMenuItem,CMenuData,CCmdMenuItem,CPopMenu,CPopMenuItem實現(xiàn)。CMenuItem是菜
單項基類,每個CMenuItem類關(guān)聯(lián)一個菜單數(shù)據(jù)類CMenuData。CMenuItem類泛化出
兩個菜單項類:命令菜單項類CCmdMenuItem和彈出菜單項類CPopMenuItem。每個彈
出菜單項類CPopMenuItem關(guān)聯(lián)一個彈出菜單類CPopMenu,每個彈出菜單類CPopMenu
里又聚合了0個或多個命令菜單項CCmdMenuItem。
2.2.2.2.1CMenuItem類
CMenuItem
(fromLogicalVie帥
0m_pData:CMenuData*
?CMenultem()
^?virtual?-CMenultemQ
CMenuItem類派生自QToolButton類。CMenuItem是菜單項基類,所有菜單項類均
從該類派生。
主要屬性設(shè)計:
1)CMenuData*m_pData;
第16頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:0.90
功能描述:菜單數(shù)據(jù)
主要函數(shù)設(shè)計:
1)CMenuItem(CMenuData*pData,QWidget*parent,constchar*name=0);
函數(shù)功能:構(gòu)造菜單項。
輸入?yún)?shù):
pData:菜單項數(shù)據(jù)
parent:父窗口指針
name:窗口名
返回值:無
2)virtual'CMenuItem();
函數(shù)功能:菜單項的析構(gòu)函數(shù)
輸入?yún)?shù):無
返回值:無
2.2.2.2.2CMenuData類
CMenuData
(fromLogicalViei^,
^mjype:ITEMTYPE=POP
^m_sText:QString=""
Om_slmg:QString=""
<>m_sToolTip:QString=""
<^m__sModule:QString=""
^m_sRegName:QString
<?m_sCmdLine:QString=""
Om_bErrorLoad:Juint8=0
Om_bSen/Run:JuintS=0
0m_pSeMnfo:Servlnfo*
0maMenuData:AMenuData
?cao
?cao
?iyM
?Inp/lenUDaao
ataramo
?dM加enUD;
CMenuData是菜單項數(shù)據(jù)結(jié)構(gòu)類,用于描述每個菜單項所包含的數(shù)據(jù)。
主要屬性設(shè)計:
1)enumITEMTYPE{CMD,POP);
功能描述:數(shù)據(jù)項類型,POP是彈出菜單項,CMD是命令菜單項。
2)ITEMTYPEm_type;
功能描述:菜單項類型。
第17頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:。90
3)QStringm_sText;
功能描述:顯示文本,即菜單項上顯示的文字。
4)QStringmslmg;
功能描述:圖片路徑名,即菜單上圖片的路徑。
5)QStringm_sToolTip;
功能描述:鼠標提示符,當鼠標放到菜單項上時的提示信息。
6)QStringmsModule;
功能描述:菜單項對應(yīng)的模塊路徑,只對命令菜單項有效。
7)QStringm_sRegName;
功能描述:模塊在SoftBus中的注冊名。
8)QStringmsCmdLine;
功能描述:模塊運行的命令行參數(shù),多個時用‘;‘分割。
9)Juint8m_bErrorLoad;
功能描述:模塊錯誤退出時加載
10)Juint8mbServRun;
功能描述:模塊是否以服務(wù)方式運行,只在windows平臺上起作用。
11)Servlnfo*m_pServInfo;
功能描述:模塊的服務(wù)信息,只在windows平臺使用。
12)AMenuDatamaMenuData;
功能描述:彈出菜單項的特有屬性,該數(shù)組包含彈出菜單項對應(yīng)的所有命令菜單。
主要函數(shù)設(shè)計:
1)voidinitParam(AStringfeaParam);
函數(shù)功能:初始化菜單數(shù)據(jù)類中的各屬性數(shù)據(jù),在讀取菜單項配置時使用。
輸入?yún)?shù):
aParam:一個字符串數(shù)組,里面存放了一個菜單項的完整數(shù)據(jù)。
2)voidaddMenuData(CMenuData*pCmdData);
函數(shù)功能:為一個彈出菜單項數(shù)據(jù)添加一個命令菜單項數(shù)據(jù)。
輸入?yún)?shù):
pCmdData:被添加的菜單項數(shù)據(jù)
返回值:無
第18頁共198頁
積成電子股份有限公司
軟件單元設(shè)計書版本:090
2.2.2.2.3CPopMenuItem類
CPopMenultem
(fromLogicalVie時
^>m_popMenu:CPopMenu*
^>m_pArea:CAreaMenu*
?CPopMenulterrQ
?〈(virtual〉〉-CPopMenulternQ
?showPopMenu。
?initPopMenu。
CPopMenultem是彈出菜單項類,負責(zé)彈出菜單的初始化與顯示。
主要屬性設(shè)計:
1)CAreaMenu*m_pArea;
功能描述:對應(yīng)的菜單區(qū)指針
2)CPopMenu*m_popMenu;
功能描述:對應(yīng)的彈出菜單窗口指針。
主要函數(shù)設(shè)計:
1)CPopMenultem(CMenuData*pData,QWidget*parent,constchar*name=0);
函數(shù)功能:構(gòu)造一個彈出菜單項
輸入?yún)?shù):
pData:菜單項對應(yīng)的菜單數(shù)據(jù)指針。
parent:彈出菜單項對應(yīng)的父窗口指針。
name:窗口部件名。
返回值:無
2)voidshowPopMenu();
函數(shù)功能:顯示彈出菜單。
輸入?yún)?shù):無
返回值:無
3)voidinitPopMenu();
函數(shù)功能:初始化彈出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高職第一學(xué)年(報關(guān)實務(wù)實訓(xùn))報關(guān)流程實操2026年綜合測試題及答案
- 2025年高職財務(wù)會計(會計基礎(chǔ))試題及答案
- 2025年中職工藝編制(工藝設(shè)計)試題及答案
- 2025年大學(xué)人力資源(人力資源管理)試題及答案
- 2025年中職草原保護與修復(fù)技術(shù)(草原退化治理)試題及答案
- 2025年高職工業(yè)互聯(lián)網(wǎng)應(yīng)用(數(shù)據(jù)采集)技能測試題
- 中職第一學(xué)年(紡織技術(shù)及營銷)紡織品檢驗實操2026年綜合測試題
- 高職第一學(xué)年(電氣自動化技術(shù))變頻器調(diào)試技術(shù)2026年綜合測試題及答案
- 2025年中職商務(wù)文秘(文秘服務(wù))試題及答案
- 2025年高職(市場營銷)綠色營銷實務(wù)試題及答案
- 缺藥登記制度
- 法院聘用書記員試題(+答案)
- 河南省南陽市宛城區(qū)2024-2025學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題(含答案)
- 中移鐵通裝維年終總結(jié)
- 儀表人員安全教育培訓(xùn)課件
- GJB573B-2020 引信及引信零部件環(huán)境與性能試驗方法
- 政府采購評審專家考試題庫及答案(完整版)
- 養(yǎng)殖畜牧業(yè)專業(yè)知識培訓(xùn)課件
- 全科醫(yī)學(xué)科發(fā)展規(guī)劃
- CT增強掃描技術(shù)
- 口腔機構(gòu)年度經(jīng)營總結(jié)報告
評論
0/150
提交評論