CGeneratorDlg.cpp 53 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698
  1. // CGenDlg.cpp: 实现文件
  2. //
  3. #include "pch.h"
  4. #include "resource.h" // 主符号
  5. #include "CGeneratorDlg.h"
  6. #include "afxdialogex.h"
  7. #include "CConfigDlg.h"
  8. // CGenDlg 对话框
  9. IMPLEMENT_DYNAMIC(CGeneratorDlg, CDiosBasicDlg)
  10. CGeneratorDlg::CGeneratorDlg(CWnd* pParent /*=nullptr*/)
  11. : CDiosBasicDlg(Dev_Generator,IDD_DIALOG1, pParent)
  12. {
  13. }
  14. CGeneratorDlg::~CGeneratorDlg()
  15. {
  16. }
  17. void CGeneratorDlg::DoDataExchange(CDataExchange* pDX)
  18. {
  19. CDialogEx::DoDataExchange(pDX);
  20. //Rad
  21. DDX_Control(pDX, IDC_EDIT1, m_Edit_KV);
  22. DDX_Control(pDX, IDC_EDIT3, m_Edit_MA);
  23. DDX_Control(pDX, IDC_EDIT4, m_Edit_MS);
  24. DDX_Control(pDX, IDC_EDIT2, m_Edit_MAS);
  25. DDX_Control(pDX, IDC_EDIT5, m_Edit_Density);
  26. DDX_Control(pDX, IDC_EDIT6, m_Edit_Field);
  27. DDX_Control(pDX, IDC_EDIT7, m_Edit_Film);
  28. DDX_Control(pDX, IDC_RADIO1, m_radio_fo_small);
  29. DDX_Control(pDX, IDC_RADIO2, m_radio_fo_large);
  30. DDX_Control(pDX, IDC_EDIT8, m_Edit_FocusSize);
  31. DDX_Control(pDX, IDC_RADIO3, m_radio_et_noAEC2P);
  32. DDX_Control(pDX, IDC_RADIO4, m_radio_et_noAEC3P);
  33. DDX_Control(pDX, IDC_RADIO8, m_radio_et_noAECMASMA);
  34. DDX_Control(pDX, IDC_RADIO5, m_radio_et_AEC1P);
  35. DDX_Control(pDX, IDC_RADIO6, m_radio_et_AEC2P);
  36. DDX_Control(pDX, IDC_RADIO7, m_radio_et_AEC3P);
  37. DDX_Control(pDX, IDC_RADIO9, m_radio_et_AECMASMA);
  38. DDX_Control(pDX, IDC_RADIO10, m_radio_ws_table);
  39. DDX_Control(pDX, IDC_RADIO11, m_radio_ws_wall);
  40. DDX_Control(pDX, IDC_RADIO12, m_radio_ws_conventional);
  41. DDX_Control(pDX, IDC_RADIO13, m_radio_ws_mobile);
  42. DDX_Control(pDX, IDC_RADIO14, m_radio_ws_free);
  43. DDX_Control(pDX, IDC_RADIO15, m_radio_ws_tomo);
  44. DDX_Control(pDX, IDC_EDIT15, m_Edit_postmas);
  45. DDX_Control(pDX, IDC_EDIT13, m_Edit_postkv);
  46. DDX_Control(pDX, IDC_EDIT16, m_Edit_postms);
  47. DDX_Control(pDX, IDC_EDIT14, m_Edit_postma);
  48. DDX_Control(pDX, IDC_EDIT17, m_Edit_tubeheat);
  49. DDX_Control(pDX, IDC_EDIT12, m_Edit_gensynstate);
  50. DDX_Control(pDX, IDC_EDIT11, m_Edit_genstate);
  51. DDX_Control(pDX, IDC_EDIT9, m_Edit_expmode);
  52. DDX_Control(pDX, IDC_EDIT10, m_Edit_exammode);
  53. DDX_Control(pDX, IDC_EDIT18, m_Edit_tubetargetmaterial);
  54. DDX_Control(pDX, IDC_EDIT19, m_Edit_tubeangle);
  55. DDX_Control(pDX, IDC_EDIT20, m_Edit_RadFrameRate);
  56. DDX_Control(pDX, IDC_EDIT21, m_Edit_genEXPstate);
  57. //Flu
  58. DDX_Control(pDX, IDC_EDIT22, m_Edit_FluKV);
  59. DDX_Control(pDX, IDC_EDIT23, m_Edit_FluMA);
  60. DDX_Control(pDX, IDC_EDIT24, m_Edit_FluPPS);
  61. DDX_Control(pDX, IDC_EDIT25, m_Edit_FluPluseWidth);
  62. DDX_Control(pDX, IDC_RADIO19, m_radio_FluMode_Not);
  63. DDX_Control(pDX, IDC_RADIO20, m_radio_FluMode_CF);
  64. DDX_Control(pDX, IDC_RADIO21, m_radio_FluMode_PF);
  65. DDX_Control(pDX, IDC_RADIO22, m_radio_FluMode_HCF);
  66. DDX_Control(pDX, IDC_RADIO23, m_radio_FluMode_HPF);
  67. DDX_Control(pDX, IDC_RADIO16, m_radio_ABS_OFF);
  68. DDX_Control(pDX, IDC_RADIO17, m_radio_ABS_OnKV);
  69. DDX_Control(pDX, IDC_RADIO18, m_radio_ABS_OnKVMA);
  70. DDX_Control(pDX, IDC_EDIT26, m_Edit_FluABSCurve);
  71. DDX_Control(pDX, IDC_EDIT27, m_Edit_FluDoseLever);
  72. DDX_Control(pDX, IDC_EDIT28, m_Edit_FluCurrEXI);
  73. DDX_Control(pDX, IDC_EDIT29, m_Edit_FluTarEXI);
  74. DDX_Control(pDX, IDC_EDIT30, m_Edit_FluMag);
  75. DDX_Control(pDX, IDC_EDIT31, m_Edit_FluResetTime);
  76. DDX_Control(pDX, IDC_EDIT33, m_Edit_FluPre);
  77. DDX_Control(pDX, IDC_EDIT34, m_Edit_FluEXP);
  78. DDX_Control(pDX, IDC_EDIT35, m_Edit_FluIntTimer);
  79. DDX_Control(pDX, IDC_EDIT36, m_Edit_FluAccTimer);
  80. DDX_Control(pDX, IDC_EDIT37, m_Edit_FluHandSwitch);
  81. DDX_Control(pDX, IDC_EDIT38, m_Edit_FluFootSwitch);
  82. DDX_Control(pDX, IDC_EDIT39, m_Edit_DirectlyNotifyKey);
  83. DDX_Control(pDX, IDC_EDIT40, m_Edit_DirectlyNotifyValue);
  84. DDX_Control(pDX, IDC_EDIT41, m_Edit_DirectlyCMD);
  85. }
  86. BEGIN_MESSAGE_MAP(CGeneratorDlg, CDialogEx)
  87. //Rad
  88. ON_BN_CLICKED(IDC_BUTTON3, &CGeneratorDlg::OnBnClickedButton3)
  89. ON_BN_CLICKED(IDC_BUTTON1, &CGeneratorDlg::OnBnClickedButton1)
  90. ON_BN_CLICKED(IDC_BUTTON2, &CGeneratorDlg::OnBnClickedButton2)
  91. ON_BN_CLICKED(IDC_BUTTON4, &CGeneratorDlg::OnBnClickedButton4)
  92. ON_BN_CLICKED(IDC_BUTTON5, &CGeneratorDlg::OnBnClickedButton5)
  93. ON_BN_CLICKED(IDC_BUTTON6, &CGeneratorDlg::OnBnClickedButton6)
  94. ON_BN_CLICKED(IDC_BUTTON7, &CGeneratorDlg::OnBnClickedButton7)
  95. ON_BN_CLICKED(IDC_BUTTON8, &CGeneratorDlg::OnBnClickedButton8)
  96. ON_BN_CLICKED(IDC_BUTTON9, &CGeneratorDlg::OnBnClickedButton9)
  97. ON_BN_CLICKED(IDC_BUTTON10, &CGeneratorDlg::OnBnClickedButton10)
  98. ON_BN_CLICKED(IDC_BUTTON11, &CGeneratorDlg::OnBnClickedButton11)
  99. ON_BN_CLICKED(IDC_BUTTON12, &CGeneratorDlg::OnBnClickedButton12)
  100. ON_BN_CLICKED(IDC_BUTTON13, &CGeneratorDlg::OnBnClickedButton13)
  101. ON_BN_CLICKED(IDC_BUTTON14, &CGeneratorDlg::OnBnClickedButton14)
  102. ON_BN_CLICKED(IDC_BUTTON15, &CGeneratorDlg::OnBnClickedButton15)
  103. ON_BN_CLICKED(IDC_BUTTON16, &CGeneratorDlg::OnBnClickedButton16)
  104. ON_BN_CLICKED(IDC_BUTTON17, &CGeneratorDlg::OnBnClickedButton17)
  105. ON_BN_CLICKED(IDC_BUTTON18, &CGeneratorDlg::OnBnClickedButton18)
  106. ON_BN_CLICKED(IDC_BUTTON19, &CGeneratorDlg::OnBnClickedButton19)
  107. ON_BN_CLICKED(IDC_BUTTON20, &CGeneratorDlg::OnBnClickedButton20)
  108. ON_BN_CLICKED(IDC_BUTTON21, &CGeneratorDlg::OnBnClickedButton21)
  109. ON_BN_CLICKED(IDC_BUTTON22, &CGeneratorDlg::OnBnClickedButton22)
  110. ON_BN_CLICKED(IDC_BUTTON23, &CGeneratorDlg::OnBnClickedButton23)
  111. ON_BN_CLICKED(IDC_BUTTON28, &CGeneratorDlg::OnBnClickedButton28)
  112. ON_BN_CLICKED(IDC_BUTTON25, &CGeneratorDlg::OnBnClickedButton25)
  113. ON_BN_CLICKED(IDC_BUTTON36, &CGeneratorDlg::OnBnClickedButton36)
  114. ON_BN_CLICKED(IDC_RADIO1, &CGeneratorDlg::OnBnClickedRadio1)
  115. ON_BN_CLICKED(IDC_RADIO2, &CGeneratorDlg::OnBnClickedRadio2)
  116. ON_BN_CLICKED(IDC_RADIO3, &CGeneratorDlg::OnBnClickedRadio3)
  117. ON_BN_CLICKED(IDC_RADIO4, &CGeneratorDlg::OnBnClickedRadio4)
  118. ON_BN_CLICKED(IDC_RADIO8, &CGeneratorDlg::OnBnClickedRadio8)
  119. ON_BN_CLICKED(IDC_RADIO5, &CGeneratorDlg::OnBnClickedRadio5)
  120. ON_BN_CLICKED(IDC_RADIO6, &CGeneratorDlg::OnBnClickedRadio6)
  121. ON_BN_CLICKED(IDC_RADIO7, &CGeneratorDlg::OnBnClickedRadio7)
  122. ON_BN_CLICKED(IDC_RADIO9, &CGeneratorDlg::OnBnClickedRadio9)
  123. ON_BN_CLICKED(IDC_RADIO10, &CGeneratorDlg::OnBnClickedRadio10)
  124. ON_BN_CLICKED(IDC_RADIO11, &CGeneratorDlg::OnBnClickedRadio11)
  125. ON_BN_CLICKED(IDC_RADIO12, &CGeneratorDlg::OnBnClickedRadio12)
  126. ON_BN_CLICKED(IDC_RADIO13, &CGeneratorDlg::OnBnClickedRadio13)
  127. ON_BN_CLICKED(IDC_RADIO14, &CGeneratorDlg::OnBnClickedRadio14)
  128. ON_BN_CLICKED(IDC_RADIO15, &CGeneratorDlg::OnBnClickedRadio15)
  129. ON_EN_KILLFOCUS(IDC_EDIT1, &CGeneratorDlg::OnEnKillfocusEdit1)
  130. ON_EN_KILLFOCUS(IDC_EDIT2, &CGeneratorDlg::OnEnKillfocusEdit2)
  131. ON_EN_KILLFOCUS(IDC_EDIT3, &CGeneratorDlg::OnEnKillfocusEdit3)
  132. ON_EN_KILLFOCUS(IDC_EDIT4, &CGeneratorDlg::OnEnKillfocusEdit4)
  133. ON_EN_KILLFOCUS(IDC_EDIT5, &CGeneratorDlg::OnEnKillfocusEdit5)
  134. ON_EN_KILLFOCUS(IDC_EDIT6, &CGeneratorDlg::OnEnKillfocusEdit6)
  135. ON_EN_KILLFOCUS(IDC_EDIT7, &CGeneratorDlg::OnEnKillfocusEdit7)
  136. ON_EN_KILLFOCUS(IDC_EDIT9, &CGeneratorDlg::OnEnKillfocusEdit9)
  137. ON_EN_KILLFOCUS(IDC_EDIT20, &CGeneratorDlg::OnEnKillfocusEdit20)
  138. //Flu
  139. ON_BN_CLICKED(IDC_BUTTON37, &CGeneratorDlg::OnBnClickedButton37)
  140. ON_BN_CLICKED(IDC_BUTTON38, &CGeneratorDlg::OnBnClickedButton38)
  141. ON_BN_CLICKED(IDC_BUTTON39, &CGeneratorDlg::OnBnClickedButton39)
  142. ON_BN_CLICKED(IDC_BUTTON40, &CGeneratorDlg::OnBnClickedButton40)
  143. ON_BN_CLICKED(IDC_BUTTON41, &CGeneratorDlg::OnBnClickedButton41)
  144. ON_BN_CLICKED(IDC_BUTTON42, &CGeneratorDlg::OnBnClickedButton42)
  145. ON_BN_CLICKED(IDC_BUTTON43, &CGeneratorDlg::OnBnClickedButton43)
  146. ON_BN_CLICKED(IDC_BUTTON44, &CGeneratorDlg::OnBnClickedButton44)
  147. ON_BN_CLICKED(IDC_RADIO19, &CGeneratorDlg::OnBnClickedRadio19)
  148. ON_BN_CLICKED(IDC_RADIO20, &CGeneratorDlg::OnBnClickedRadio20)
  149. ON_BN_CLICKED(IDC_RADIO21, &CGeneratorDlg::OnBnClickedRadio21)
  150. ON_BN_CLICKED(IDC_RADIO22, &CGeneratorDlg::OnBnClickedRadio22)
  151. ON_BN_CLICKED(IDC_RADIO23, &CGeneratorDlg::OnBnClickedRadio23)
  152. ON_BN_CLICKED(IDC_RADIO16, &CGeneratorDlg::OnBnClickedRadio16)
  153. ON_BN_CLICKED(IDC_RADIO17, &CGeneratorDlg::OnBnClickedRadio17)
  154. ON_BN_CLICKED(IDC_RADIO18, &CGeneratorDlg::OnBnClickedRadio18)
  155. ON_BN_CLICKED(IDC_BUTTON45, &CGeneratorDlg::OnBnClickedButton45)
  156. ON_BN_CLICKED(IDC_BUTTON46, &CGeneratorDlg::OnBnClickedButton46)
  157. ON_BN_CLICKED(IDC_BUTTON47, &CGeneratorDlg::OnBnClickedButton47)
  158. ON_BN_CLICKED(IDC_BUTTON48, &CGeneratorDlg::OnBnClickedButton48)
  159. ON_BN_CLICKED(IDC_BUTTON49, &CGeneratorDlg::OnBnClickedButton49)
  160. ON_BN_CLICKED(IDC_BUTTON50, &CGeneratorDlg::OnBnClickedButton50)
  161. ON_BN_CLICKED(IDC_BUTTON52, &CGeneratorDlg::OnBnClickedButton52)
  162. ON_BN_CLICKED(IDC_BUTTON53, &CGeneratorDlg::OnBnClickedButton53)
  163. ON_BN_CLICKED(IDC_BUTTON54, &CGeneratorDlg::OnBnClickedButton54)
  164. ON_EN_KILLFOCUS(IDC_EDIT22, &CGeneratorDlg::OnEnKillfocusEdit22)
  165. ON_EN_KILLFOCUS(IDC_EDIT23, &CGeneratorDlg::OnEnKillfocusEdit23)
  166. ON_EN_KILLFOCUS(IDC_EDIT24, &CGeneratorDlg::OnEnKillfocusEdit24)
  167. ON_EN_KILLFOCUS(IDC_EDIT25, &CGeneratorDlg::OnEnKillfocusEdit25)
  168. ON_EN_KILLFOCUS(IDC_EDIT26, &CGeneratorDlg::OnEnKillfocusEdit26)
  169. ON_EN_KILLFOCUS(IDC_EDIT27, &CGeneratorDlg::OnEnKillfocusEdit27)
  170. ON_EN_KILLFOCUS(IDC_EDIT28, &CGeneratorDlg::OnEnKillfocusEdit28)
  171. ON_EN_KILLFOCUS(IDC_EDIT29, &CGeneratorDlg::OnEnKillfocusEdit29)
  172. ON_EN_KILLFOCUS(IDC_EDIT30, &CGeneratorDlg::OnEnKillfocusEdit30)
  173. ON_EN_KILLFOCUS(IDC_EDIT31, &CGeneratorDlg::OnEnKillfocusEdit31)
  174. ON_EN_KILLFOCUS(IDC_EDIT33, &CGeneratorDlg::OnEnKillfocusEdit33)
  175. ON_EN_KILLFOCUS(IDC_EDIT34, &CGeneratorDlg::OnEnKillfocusEdit34)
  176. //启用滚动条
  177. ON_WM_MOUSEWHEEL()
  178. ON_WM_VSCROLL()
  179. //ON_WM_HSCROLL()
  180. END_MESSAGE_MAP()
  181. // CGenDlg 消息处理程序
  182. //初始化配置
  183. BOOL CGeneratorDlg::OnInitDialog()
  184. {
  185. CDiosBasicDlg::OnInitDialog();
  186. return TRUE;
  187. }
  188. //设备初始化
  189. bool CGeneratorDlg::AppInitial(bool act)
  190. {
  191. CString log;
  192. return CreatMode(act);
  193. }
  194. //获取初始值
  195. bool CGeneratorDlg::GetInitData()
  196. {
  197. CString log;
  198. CString tempStr;
  199. string strTempValue;
  200. if (m_pDevice != nullptr)
  201. {
  202. m_nWS = atoi(DevGetValue(nsGEN::AttrKey::WORKSTATION).c_str());
  203. tempStr.Format("%d", m_nWS);
  204. SetWorkStation((nsGEN::AttrKey::GENWS_TYPE)m_nWS);
  205. m_nKV = atoi(DevGetValue(nsGEN::AttrKey::KV).c_str());
  206. tempStr.Format("%d", m_nKV);
  207. m_Edit_KV.SetWindowText(tempStr);
  208. m_fMAS = atof(DevGetValue(nsGEN::AttrKey::MAS).c_str());
  209. tempStr.Format("%.2f", m_fMAS);
  210. m_Edit_MAS.SetWindowText(tempStr);
  211. m_fMA = atof(DevGetValue(nsGEN::AttrKey::MA).c_str());
  212. tempStr.Format("%.2f", m_fMA);
  213. m_Edit_MA.SetWindowText(tempStr);
  214. m_fMS = atof(DevGetValue(nsGEN::AttrKey::MS).c_str());
  215. tempStr.Format("%.2f", m_fMS);
  216. m_Edit_MS.SetWindowText(tempStr);
  217. m_nAECDensity = atoi(DevGetValue(nsGEN::AttrKey::AECDENSITY).c_str());
  218. tempStr.Format("%d", m_nAECDensity);
  219. m_Edit_Density.SetWindowText(tempStr);
  220. m_nAECField = atoi(DevGetValue(nsGEN::AttrKey::AECFIELD).c_str());
  221. tempStr.Format("%d", m_nAECField);
  222. m_Edit_Field.SetWindowText(tempStr);
  223. m_nAECFilm = atoi(DevGetValue(nsGEN::AttrKey::AECFILM).c_str());
  224. tempStr.Format("%d", m_nAECFilm);
  225. m_Edit_Film.SetWindowText(tempStr);
  226. m_nFO = atoi(DevGetValue(nsGEN::AttrKey::FOCUS).c_str());
  227. SetFocus((nsGEN::AttrKey::FOCUS_TYPE)m_nFO);
  228. tempStr.Format("%f", m_nFOSize);
  229. m_Edit_FocusSize.SetWindowText(tempStr);
  230. m_nET = atoi(DevGetValue(nsGEN::AttrKey::TECHMODE).c_str());
  231. SetTechMode((nsGEN::AttrKey::TECHMODE_TYPE)m_nET);
  232. m_fpostKV = atof(DevGetValue(nsGEN::AttrKey::POSTKV).c_str());
  233. tempStr.Format("%.2f", m_fpostKV);
  234. m_Edit_postkv.SetWindowText(tempStr);
  235. m_fpostMAS = atof(DevGetValue(nsGEN::AttrKey::POSTMAS).c_str());
  236. tempStr.Format("%.2f", m_fpostMAS);
  237. m_Edit_postmas.SetWindowText(tempStr);
  238. m_fpostMS = atof(DevGetValue(nsGEN::AttrKey::POSTMS).c_str());
  239. tempStr.Format("%.2f", m_fpostMS);
  240. m_Edit_postms.SetWindowText(tempStr);
  241. m_fpostMA = atof(DevGetValue(nsGEN::AttrKey::POSTMA).c_str());
  242. tempStr.Format("%.2f", m_fpostMA);
  243. m_Edit_postma.SetWindowText(tempStr);
  244. strTempValue = DevGetValue(nsGEN::AttrKey::TUBEHEAT);
  245. m_Edit_tubeheat.SetWindowText(strTempValue.c_str());
  246. strTempValue = DevGetValue(nsGEN::AttrKey::GENSYNSTATE);
  247. int synstate = atoi(strTempValue.c_str());
  248. SetGenSynStatus((nsGEN::AttrKey::GENERATOR_SYNC)synstate);
  249. strTempValue = DevGetValue(nsGEN::AttrKey::GENSTATE);
  250. int unitstate = atoi(strTempValue.c_str());
  251. SetGenStatus((nsGEN::AttrKey::GENERATOR_STATUS)unitstate);
  252. strTempValue = DevGetValue(nsGEN::AttrKey::EXPMODE);
  253. m_Edit_expmode.SetWindowText(strTempValue.c_str());
  254. strTempValue = DevGetValue(nsGEN::AttrKey::EXAMMODE);
  255. m_Edit_exammode.SetWindowText(strTempValue.c_str());
  256. strTempValue = DevGetValue(nsGEN::AttrKey::TUBETARGETMATERIAL);
  257. m_Edit_tubetargetmaterial.SetWindowText(strTempValue.c_str());
  258. strTempValue = DevGetValue(nsGEN::AttrKey::TUBEANGLE);
  259. m_Edit_tubeangle.SetWindowText(strTempValue.c_str());
  260. GetDlgItem(IDC_BUTTON21)->SetWindowText("ExpDisable");
  261. m_nFluKV = atoi(DevGetValue(nsGEN::AttrKey::FLUKV).c_str());
  262. tempStr.Format("%d", m_nFluKV);
  263. m_Edit_FluKV.SetWindowText(tempStr);
  264. m_fFluMA = atof(DevGetValue(nsGEN::AttrKey::FLUMA).c_str());
  265. tempStr.Format("%.2f", m_fFluMA);
  266. m_Edit_FluMA.SetWindowText(tempStr);
  267. m_fPPS = atof(DevGetValue(nsGEN::AttrKey::FLUPPS).c_str());
  268. tempStr.Format("%.1f", m_fPPS);
  269. m_Edit_FluPPS.SetWindowText(tempStr);
  270. m_nFluMode = nsGEN::AttrKey::GENERATOR_FLUMode::GENERATOR_FLMODE_PF;
  271. SetFluMode((nsGEN::AttrKey::GENERATOR_FLUMode)m_nFluMode);
  272. m_nABSMode = nsGEN::AttrKey::GENERATOR_ABSStatus::GENERATOR_ABS_OFF;
  273. SetABSMode((nsGEN::AttrKey::GENERATOR_ABSStatus)m_nABSMode);
  274. m_nFluIntTimer = atoi(DevGetValue(nsGEN::AttrKey::FLUIntTime).c_str());
  275. tempStr.Format("%d", m_nFluIntTimer);
  276. m_Edit_FluIntTimer.SetWindowText(tempStr);
  277. m_nFluAccTimer = atoi(DevGetValue(nsGEN::AttrKey::FLUAccTime).c_str());
  278. tempStr.Format("%d", m_nFluAccTimer);
  279. m_Edit_FluAccTimer.SetWindowText(tempStr);
  280. }
  281. return true;
  282. }
  283. //设置消息对照表
  284. void CGeneratorDlg::SetMagMap()
  285. {
  286. auto HW_UNKNOWN = [this](int NotifyCode, string key, string context)
  287. {
  288. CString strNotify;
  289. strNotify.Format("GEN can not deal with Attribute[%s] \n", key.c_str());
  290. ToolsDlgLog(strNotify);
  291. };
  292. //Rad
  293. auto HW_KV = [this](int NotifyCode, string key, string context)//KV
  294. {
  295. m_nKV = atoi(context.c_str());
  296. m_Edit_KV.SetWindowText(context.c_str());
  297. };
  298. auto HW_MA = [this](int NotifyCode, string key, string context)//MA
  299. {
  300. m_fMA = atof(context.c_str());
  301. m_Edit_MA.SetWindowText(context.c_str());
  302. };
  303. auto HW_MS = [this](int NotifyCode, string key, string context)//MS
  304. {
  305. m_fMS = atof(context.c_str());
  306. m_Edit_MS.SetWindowText(context.c_str());
  307. };
  308. auto HW_MAS = [this](int NotifyCode, string key, string context)//MAS
  309. {
  310. m_fMAS = atof(context.c_str());
  311. m_Edit_MAS.SetWindowText(context.c_str());
  312. };
  313. auto HW_FOCUS = [this](int NotifyCode, string key, string context)//FOCUS
  314. {
  315. m_nFO = atoi(context.c_str());
  316. SetFocus((nsGEN::AttrKey::FOCUS_TYPE)m_nFO);
  317. };
  318. auto HW_FOCUSSIZE = [this](int NotifyCode, string key, string context)//FOCUSSIZE
  319. {
  320. m_nFOSize = atof(context.c_str());
  321. m_Edit_FocusSize.SetWindowText(context.c_str());
  322. };
  323. auto HW_WORKSTATION = [this](int NotifyCode, string key, string context)//WORKSTATION
  324. {
  325. //m_nWS = atoi(context.c_str());
  326. //SetWorkStation((nsGEN::AttrKey::GENWS_TYPE)m_nWS);
  327. };
  328. auto HW_TECHMODE = [this](int NotifyCode, string key, string context)//TECHMODE
  329. {
  330. m_nET = atoi(context.c_str());
  331. SetTechMode((nsGEN::AttrKey::TECHMODE_TYPE)m_nET);
  332. };
  333. auto HW_AECDENSITY = [this](int NotifyCode, string key, string context)//AECDENSITY
  334. {
  335. m_nAECDensity = atof(context.c_str());
  336. m_Edit_Density.SetWindowText(context.c_str());
  337. };
  338. auto HW_AECFIELD = [this](int NotifyCode, string key, string context)//AECFIELD
  339. {
  340. m_Edit_Field.SetWindowText(context.c_str());
  341. };
  342. auto HW_AECFILM = [this](int NotifyCode, string key, string context)//AECFILM
  343. {
  344. m_Edit_Film.SetWindowText(context.c_str());
  345. };
  346. auto HW_TUBEHEAT = [this](int NotifyCode, string key, string context)//TUBEHEAT
  347. {
  348. m_Edit_tubeheat.SetWindowText(context.c_str());
  349. };
  350. auto HW_POSTKV = [this](int NotifyCode, string key, string context)//POSTKV
  351. {
  352. m_fpostKV = atof(context.c_str());
  353. m_Edit_postkv.SetWindowText(context.c_str());
  354. };
  355. auto HW_POSTMA = [this](int NotifyCode, string key, string context)//POSTMA
  356. {
  357. m_fpostMA = atof(context.c_str());
  358. m_Edit_postma.SetWindowText(context.c_str());
  359. };
  360. auto HW_POSTMS = [this](int NotifyCode, string key, string context)//POSTMS
  361. {
  362. m_fpostMS = atof(context.c_str());
  363. m_Edit_postms.SetWindowText(context.c_str());
  364. };
  365. auto HW_POSTMAS = [this](int NotifyCode, string key, string context)//POSTMAS
  366. {
  367. m_fpostMAS = atof(context.c_str());
  368. m_Edit_postmas.SetWindowText(context.c_str());
  369. };
  370. auto HW_GENSYNSTATE = [this](int NotifyCode, string key, string context)//GENSYNSTATE
  371. {
  372. CString strNotify;
  373. int synstate = atoi(context.c_str());
  374. SetGenSynStatus((nsGEN::AttrKey::GENERATOR_SYNC)synstate);
  375. };
  376. auto HW_GENSTATE = [this](int NotifyCode, string key, string context)//GENSTATE
  377. {
  378. CString strNotify;
  379. int unitstate = atoi(context.c_str());
  380. SetGenStatus((nsGEN::AttrKey::GENERATOR_STATUS)unitstate);
  381. };
  382. auto HW_EXPMODE = [this](int NotifyCode, string key, string context)//EXPMODE
  383. {
  384. m_Edit_expmode.SetWindowText(context.c_str());
  385. };
  386. auto HW_EXAMMODE = [this](int NotifyCode, string key, string context)//EXAMMODE
  387. {
  388. m_Edit_exammode.SetWindowText(context.c_str());
  389. };
  390. auto HW_TUBETARGETMATERIAL = [this](int NotifyCode, string key, string context)//TUBETARGETMATERIAL
  391. {
  392. m_Edit_tubetargetmaterial.SetWindowText(context.c_str());
  393. };
  394. auto HW_TUBEANGLE = [this](int NotifyCode, string key, string context)//TUBEANGLE
  395. {
  396. m_Edit_tubeangle.SetWindowText(context.c_str());
  397. };
  398. //Flu
  399. auto HW_FluKV = [this](int NotifyCode, string key, string context)//KV
  400. {
  401. m_nFluKV = atoi(context.c_str());
  402. m_Edit_FluKV.SetWindowText(context.c_str());
  403. };
  404. auto HW_FluMA = [this](int NotifyCode, string key, string context)//MA
  405. {
  406. m_fFluMA = atof(context.c_str());
  407. m_Edit_FluMA.SetWindowText(context.c_str());
  408. };
  409. auto HW_PPS = [this](int NotifyCode, string key, string context)//PPS
  410. {
  411. m_fPPS = atof(context.c_str());
  412. m_Edit_FluPPS.SetWindowText(context.c_str());
  413. };
  414. auto HW_PluseWidth = [this](int NotifyCode, string key, string context)//PluseWidth
  415. {
  416. m_nPluseWidth = atoi(context.c_str());
  417. m_Edit_FluPluseWidth.SetWindowText(context.c_str());
  418. };
  419. auto HW_FluMode = [this](int NotifyCode, string key, string context)//FluMode
  420. {
  421. m_nFluMode = atoi(context.c_str());
  422. SetFluMode((nsGEN::AttrKey::GENERATOR_FLUMode)m_nFluMode);
  423. };
  424. auto HW_ABSMode = [this](int NotifyCode, string key, string context)//ABSMode
  425. {
  426. m_nABSMode = atoi(context.c_str());
  427. SetABSMode((nsGEN::AttrKey::GENERATOR_ABSStatus)m_nABSMode);
  428. };
  429. auto HW_ABSCurve = [this](int NotifyCode, string key, string context)//ABSCurve
  430. {
  431. m_nABSCurve = atoi(context.c_str());
  432. m_Edit_FluABSCurve.SetWindowText(context.c_str());
  433. };
  434. auto HW_DoseLever = [this](int NotifyCode, string key, string context)//DoseLever
  435. {
  436. m_nDoseLever = atoi(context.c_str());
  437. m_Edit_FluDoseLever.SetWindowText(context.c_str());
  438. };
  439. auto HW_CurrEXI = [this](int NotifyCode, string key, string context)//CurrEXI
  440. {
  441. m_nCurrEXI = atoi(context.c_str());
  442. m_Edit_FluCurrEXI.SetWindowText(context.c_str());
  443. };
  444. auto HW_TargetEXI = [this](int NotifyCode, string key, string context)//TargetEXI
  445. {
  446. m_nTarEXI = atoi(context.c_str());
  447. m_Edit_FluTarEXI.SetWindowText(context.c_str());
  448. };
  449. auto HW_MAG = [this](int NotifyCode, string key, string context)//MAG
  450. {
  451. m_nMag = atoi(context.c_str());
  452. m_Edit_FluMag.SetWindowText(context.c_str());
  453. };
  454. auto HW_HandSwitch = [this](int NotifyCode, string key, string context)//HandSwitch
  455. {
  456. m_nHandSwitch = atoi(context.c_str());
  457. m_Edit_FluHandSwitch.SetWindowText(context.c_str());
  458. };
  459. auto HW_FootSwitch = [this](int NotifyCode, string key, string context)//FootSwitch
  460. {
  461. m_nFootSwitch = atoi(context.c_str());
  462. m_Edit_FluFootSwitch.SetWindowText(context.c_str());
  463. };
  464. auto HW_FluPre = [this](int NotifyCode, string key, string context)//FluPre
  465. {
  466. m_nFluPre = atoi(context.c_str());
  467. m_Edit_FluPre.SetWindowText(context.c_str());
  468. };
  469. auto HW_FluEXP = [this](int NotifyCode, string key, string context)//FluEXP
  470. {
  471. m_nFluEXP = atoi(context.c_str());
  472. m_Edit_FluEXP.SetWindowText(context.c_str());
  473. };
  474. auto HW_FluIntTimer = [this](int NotifyCode, string key, string context)//FluIntTimer
  475. {
  476. m_nFluIntTimer = atoi(context.c_str());
  477. m_Edit_FluIntTimer.SetWindowText(context.c_str());
  478. };
  479. auto HW_FluAccTimer = [this](int NotifyCode, string key, string context)//FluAccTimer
  480. {
  481. m_nFluAccTimer = atoi(context.c_str());
  482. m_Edit_FluAccTimer.SetWindowText(context.c_str());
  483. };
  484. //Generator
  485. m_mapFrame["UnKnown"] = tFrameMapItem(HW_UNKNOWN);
  486. //Rad
  487. m_mapFrame[nsGEN::AttrKey::KV] = tFrameMapItem(HW_KV);
  488. m_mapFrame[nsGEN::AttrKey::MA] = tFrameMapItem(HW_MA);
  489. m_mapFrame[nsGEN::AttrKey::MS] = tFrameMapItem(HW_MS);
  490. m_mapFrame[nsGEN::AttrKey::MAS] = tFrameMapItem(HW_MAS);
  491. m_mapFrame[nsGEN::AttrKey::FOCUS] = tFrameMapItem(HW_FOCUS);
  492. m_mapFrame[nsGEN::AttrKey::FOCUSSIZE] = tFrameMapItem(HW_FOCUSSIZE);
  493. m_mapFrame[nsGEN::AttrKey::WORKSTATION] = tFrameMapItem(HW_WORKSTATION);
  494. m_mapFrame[nsGEN::AttrKey::TECHMODE] = tFrameMapItem(HW_TECHMODE);
  495. m_mapFrame[nsGEN::AttrKey::AECDENSITY] = tFrameMapItem(HW_AECDENSITY);
  496. m_mapFrame[nsGEN::AttrKey::AECFIELD] = tFrameMapItem(HW_AECFIELD);
  497. m_mapFrame[nsGEN::AttrKey::AECFILM] = tFrameMapItem(HW_AECFILM);
  498. m_mapFrame[nsGEN::AttrKey::TUBEHEAT] = tFrameMapItem(HW_TUBEHEAT);
  499. m_mapFrame[nsGEN::AttrKey::POSTKV] = tFrameMapItem(HW_POSTKV);
  500. m_mapFrame[nsGEN::AttrKey::POSTMA] = tFrameMapItem(HW_POSTMA);
  501. m_mapFrame[nsGEN::AttrKey::POSTMS] = tFrameMapItem(HW_POSTMS);
  502. m_mapFrame[nsGEN::AttrKey::POSTMAS] = tFrameMapItem(HW_POSTMAS);
  503. m_mapFrame[nsGEN::AttrKey::GENSYNSTATE] = tFrameMapItem(HW_GENSYNSTATE);
  504. m_mapFrame[nsGEN::AttrKey::GENSTATE] = tFrameMapItem(HW_GENSTATE);
  505. m_mapFrame[nsGEN::AttrKey::EXPMODE] = tFrameMapItem(HW_EXPMODE);
  506. m_mapFrame[nsGEN::AttrKey::EXAMMODE] = tFrameMapItem(HW_EXAMMODE);
  507. m_mapFrame[nsGEN::AttrKey::TUBETARGETMATERIAL] = tFrameMapItem(HW_TUBETARGETMATERIAL);
  508. m_mapFrame[nsGEN::AttrKey::TUBEANGLE] = tFrameMapItem(HW_TUBEANGLE);
  509. //Flu
  510. m_mapFrame[nsGEN::AttrKey::FLUKV] = tFrameMapItem(HW_FluKV);
  511. m_mapFrame[nsGEN::AttrKey::FLUMA] = tFrameMapItem(HW_FluMA);
  512. m_mapFrame[nsGEN::AttrKey::FLUPPS] = tFrameMapItem(HW_PPS);
  513. m_mapFrame[nsGEN::AttrKey::FLUpulseWidth] = tFrameMapItem(HW_PluseWidth);
  514. m_mapFrame[nsGEN::AttrKey::FLUMode] = tFrameMapItem(HW_FluMode);
  515. m_mapFrame[nsGEN::AttrKey::FLUABSStatus] = tFrameMapItem(HW_ABSMode);
  516. m_mapFrame[nsGEN::AttrKey::FLUCurve] = tFrameMapItem(HW_ABSCurve);
  517. m_mapFrame[nsGEN::AttrKey::FLUDoseLevel] = tFrameMapItem(HW_DoseLever);
  518. m_mapFrame["CurrentEXI"] = tFrameMapItem(HW_CurrEXI);
  519. m_mapFrame["TargetEXI"] = tFrameMapItem(HW_TargetEXI);
  520. m_mapFrame[nsGEN::AttrKey::FLUMag] = tFrameMapItem(HW_MAG);
  521. m_mapFrame[nsGEN::AttrKey::GENHANDSWITCH] = tFrameMapItem(HW_HandSwitch);
  522. m_mapFrame[nsGEN::AttrKey::GENFOOTSWITCH] = tFrameMapItem(HW_FootSwitch);
  523. m_mapFrame["FluPre"] = tFrameMapItem(HW_FluPre);
  524. m_mapFrame["FluEXP"] = tFrameMapItem(HW_FluEXP);
  525. m_mapFrame[nsGEN::AttrKey::FLUIntTime] = tFrameMapItem(HW_FluIntTimer);
  526. m_mapFrame[nsGEN::AttrKey::FLUAccTime] = tFrameMapItem(HW_FluAccTimer);
  527. }
  528. void CGeneratorDlg::SetFocus(nsGEN::AttrKey::FOCUS_TYPE type)
  529. {
  530. CString log;
  531. m_radio_fo_small.SetCheck(FALSE);
  532. m_radio_fo_large.SetCheck(FALSE);
  533. switch (type)
  534. {
  535. case nsGEN::AttrKey::FOCUS_SMALL:
  536. m_radio_fo_small.SetCheck(TRUE);
  537. break;
  538. case nsGEN::AttrKey::FOCUS_LARGE:
  539. m_radio_fo_large.SetCheck(TRUE);
  540. break;
  541. default:
  542. log.Format("(GEN)- can not deal with Focus[%d] \n", (int)type);
  543. mLog::Warn(log);
  544. ToolsDlgLog(log);
  545. break;
  546. }
  547. }
  548. void CGeneratorDlg::SetTechMode(nsGEN::AttrKey::TECHMODE_TYPE type)
  549. {
  550. CString log;
  551. m_radio_et_noAEC2P.SetCheck(FALSE);
  552. m_radio_et_noAEC3P.SetCheck(FALSE);
  553. m_radio_et_noAECMASMA.SetCheck(FALSE);
  554. m_radio_et_AEC1P.SetCheck(FALSE);
  555. m_radio_et_AEC2P.SetCheck(FALSE);
  556. m_radio_et_AEC3P.SetCheck(FALSE);
  557. m_radio_et_AECMASMA.SetCheck(FALSE);
  558. switch (type)
  559. {
  560. case nsGEN::AttrKey::TECHMODE_NOAEC_3P:
  561. m_radio_et_noAEC3P.SetCheck(TRUE);
  562. break;
  563. case nsGEN::AttrKey::TECHMODE_NOAEC_2P:
  564. m_radio_et_noAEC2P.SetCheck(TRUE);
  565. break;
  566. case nsGEN::AttrKey::TECHMODE_AEC_3P:
  567. m_radio_et_AEC3P.SetCheck(TRUE);
  568. break;
  569. case nsGEN::AttrKey::TECHMODE_AEC_2P:
  570. m_radio_et_AEC2P.SetCheck(TRUE);
  571. break;
  572. case nsGEN::AttrKey::TECHMODE_AEC_1P:
  573. m_radio_et_AEC1P.SetCheck(TRUE);
  574. break;
  575. case nsGEN::AttrKey::TECHMODE_AEC_ReduceMA:
  576. break;
  577. case nsGEN::AttrKey::TECHMODE_NOAEC_MAS_MA:
  578. m_radio_et_noAECMASMA.SetCheck(TRUE);
  579. break;
  580. case nsGEN::AttrKey::TECHMODE_AEC_MAS_MA:
  581. m_radio_et_AECMASMA.SetCheck(TRUE);
  582. break;
  583. default:
  584. log.Format("(GEN)- can not deal with TechMode[%d] \n", (int)type);
  585. mLog::Warn(log);
  586. ToolsDlgLog(log);
  587. break;
  588. }
  589. ShowPageElements(FALSE, TRUE, FALSE, type);
  590. }
  591. void CGeneratorDlg::SetWorkStation(nsGEN::AttrKey::GENWS_TYPE type)
  592. {
  593. CString log;
  594. m_radio_ws_table.SetCheck(FALSE);
  595. m_radio_ws_wall.SetCheck(FALSE);
  596. m_radio_ws_conventional.SetCheck(FALSE);
  597. m_radio_ws_mobile.SetCheck(FALSE);
  598. m_radio_ws_free.SetCheck(FALSE);
  599. m_radio_ws_tomo.SetCheck(FALSE);
  600. switch (type)
  601. {
  602. case nsGEN::AttrKey::TABLE:
  603. m_radio_ws_table.SetCheck(TRUE);
  604. break;
  605. case nsGEN::AttrKey::WALL:
  606. m_radio_ws_wall.SetCheck(TRUE);
  607. break;
  608. case nsGEN::AttrKey::CONVENTIONAL:
  609. m_radio_ws_conventional.SetCheck(TRUE);
  610. break;
  611. case nsGEN::AttrKey::MOBILE:
  612. m_radio_ws_mobile.SetCheck(TRUE);
  613. break;
  614. case nsGEN::AttrKey::FREE_WALL:
  615. m_radio_ws_free.SetCheck(TRUE);
  616. break;
  617. case nsGEN::AttrKey::TOMO:
  618. m_radio_ws_tomo.SetCheck(TRUE);
  619. break;
  620. default:
  621. log.Format("(GEN)- can not deal with WorkStation[%d] \n", (int)type);
  622. mLog::Warn(log);
  623. ToolsDlgLog(log);
  624. break;
  625. }
  626. }
  627. void CGeneratorDlg::SetGenSynStatus(nsGEN::AttrKey::GENERATOR_SYNC type)
  628. {
  629. CString log;
  630. switch (type)
  631. {
  632. case nsGEN::AttrKey::GENERATOR_SYNC_ERR:
  633. {
  634. m_Edit_gensynstate.SetWindowText("err");
  635. }break;
  636. case nsGEN::AttrKey::GENERATOR_RAD_OFF:
  637. {
  638. m_Edit_gensynstate.SetWindowText("PR0");
  639. }break;
  640. case nsGEN::AttrKey::GENERATOR_RAD_PREPARE:
  641. {
  642. m_Edit_gensynstate.SetWindowText("PR1");
  643. }break;
  644. case nsGEN::AttrKey::GENERATOR_RAD_READY:
  645. {
  646. m_Edit_gensynstate.SetWindowText("PR2");
  647. }break;
  648. case nsGEN::AttrKey::GENERATOR_RAD_XRAYON:
  649. {
  650. m_Edit_gensynstate.SetWindowText("XR1");
  651. }break;
  652. case nsGEN::AttrKey::GENERATOR_RAD_XRAYOFF:
  653. {
  654. m_Edit_gensynstate.SetWindowText("XR0");
  655. }break;
  656. default:
  657. log.Format("%d", (int)type);
  658. m_Edit_gensynstate.SetWindowText(log);
  659. log.Format("(GEN)- can not deal with synstate[%d] \n", (int)type);
  660. mLog::Warn(log);
  661. ToolsDlgLog(log);
  662. break;
  663. }
  664. }
  665. void CGeneratorDlg::SetGenStatus(nsGEN::AttrKey::GENERATOR_STATUS type)
  666. {
  667. CString log;
  668. switch (type)
  669. {
  670. case nsGEN::AttrKey::GENERATOR_STATUS_SHUTDOWN:
  671. {
  672. m_Edit_genstate.SetWindowText("shutdown");
  673. }break;
  674. case nsGEN::AttrKey::GENERATOR_STATUS_INIT:
  675. {
  676. m_Edit_genstate.SetWindowText("init");
  677. }break;
  678. case nsGEN::AttrKey::GENERATOR_STATUS_SLEEP:
  679. {
  680. m_Edit_genstate.SetWindowText("sleep");
  681. }break;
  682. case nsGEN::AttrKey::GENERATOR_STATUS_CHARGING:
  683. {
  684. m_Edit_genstate.SetWindowText("charging");
  685. }break;
  686. case nsGEN::AttrKey::GENERATOR_STATUS_STANDBY:
  687. {
  688. m_Edit_genstate.SetWindowText("standby");
  689. }break;
  690. case nsGEN::AttrKey::GENERATOR_STATUS_EXP:
  691. {
  692. m_Edit_genstate.SetWindowText("exposure");
  693. }break;
  694. case nsGEN::AttrKey::GENERATOR_STATUS_ERROR:
  695. {
  696. m_Edit_genstate.SetWindowText("error");
  697. }break;
  698. default:
  699. log.Format("(GEN)- can not deal with unitstate[%d] \n", (int)type);
  700. mLog::Warn(log);
  701. ToolsDlgLog(log);
  702. break;
  703. }
  704. }
  705. void CGeneratorDlg::SetFluMode(nsGEN::AttrKey::GENERATOR_FLUMode type)
  706. {
  707. CString log;
  708. m_radio_FluMode_Not.SetCheck(FALSE);
  709. m_radio_FluMode_CF.SetCheck(FALSE);
  710. m_radio_FluMode_PF.SetCheck(FALSE);
  711. m_radio_FluMode_HCF.SetCheck(FALSE);
  712. m_radio_FluMode_HPF.SetCheck(FALSE);
  713. switch (type)
  714. {
  715. case nsGEN::AttrKey::GENERATOR_FLMODE_NOTFLU:
  716. {
  717. m_radio_FluMode_Not.SetCheck(TRUE);
  718. }break;
  719. case nsGEN::AttrKey::GENERATOR_FLMODE_CF:
  720. {
  721. m_radio_FluMode_CF.SetCheck(TRUE);
  722. }break;
  723. case nsGEN::AttrKey::GENERATOR_FLMODE_PF:
  724. {
  725. m_radio_FluMode_PF.SetCheck(TRUE);
  726. }break;
  727. case nsGEN::AttrKey::GENERATOR_FLMODE_HCF:
  728. {
  729. m_radio_FluMode_HCF.SetCheck(TRUE);
  730. }break;
  731. case nsGEN::AttrKey::GENERATOR_FLMODE_HPF:
  732. {
  733. m_radio_FluMode_HPF.SetCheck(TRUE);
  734. }break;
  735. default:
  736. log.Format("(GEN)- can not deal with FluMode[%d] \n", (int)type);
  737. mLog::Warn(log);
  738. ToolsDlgLog(log);
  739. break;
  740. }
  741. }
  742. void CGeneratorDlg::SetABSMode(nsGEN::AttrKey::GENERATOR_ABSStatus type)
  743. {
  744. CString log;
  745. m_radio_ABS_OFF.SetCheck(FALSE);
  746. m_radio_ABS_OnKV.SetCheck(FALSE);
  747. m_radio_ABS_OnKVMA.SetCheck(FALSE);
  748. switch (type)
  749. {
  750. case nsGEN::AttrKey::GENERATOR_ABS_OFF:
  751. {
  752. m_radio_ABS_OFF.SetCheck(TRUE);
  753. }break;
  754. case nsGEN::AttrKey::GENERATOR_ABS_ON_KV:
  755. {
  756. m_radio_ABS_OnKV.SetCheck(TRUE);
  757. }break;
  758. case nsGEN::AttrKey::GENERATOR_ABS_ON_KVMA:
  759. {
  760. m_radio_ABS_OnKVMA.SetCheck(TRUE);
  761. }break;
  762. default:
  763. log.Format("(GEN)- can not deal with ABSMode[%d] \n", (int)type);
  764. mLog::Warn(log);
  765. ToolsDlgLog(log);
  766. break;
  767. }
  768. }
  769. void CGeneratorDlg::InitPageElements(bool act)
  770. {
  771. if (act)
  772. {
  773. ShowPageElements(FALSE, TRUE, FALSE, -1);
  774. SetMagMap();
  775. GetInitData();
  776. }
  777. else
  778. {
  779. ShowPageElements(TRUE, FALSE, TRUE, -1);
  780. }
  781. }
  782. //设置窗口元素显示
  783. void CGeneratorDlg::ShowPageElements(bool init, bool exit, bool cfg, int pointMode, bool general)
  784. {
  785. __super::ShowPageElements(init, exit, cfg, general);
  786. bool kv = false;
  787. bool mas = false;
  788. bool ma = false;
  789. bool ms = false;
  790. bool aec = false;
  791. switch (pointMode)
  792. {
  793. case nsGEN::AttrKey::TECHMODE_NOAEC_3P:
  794. {
  795. kv = exit;
  796. mas = false;
  797. ma = exit;
  798. ms = exit;
  799. aec = false;
  800. }break;
  801. case nsGEN::AttrKey::TECHMODE_NOAEC_2P:
  802. {
  803. kv = exit;
  804. mas = exit;
  805. ma = false;
  806. ms = false;
  807. aec = false;
  808. }break;
  809. case nsGEN::AttrKey::TECHMODE_AEC_3P:
  810. {
  811. kv = exit;
  812. mas = false;
  813. ma = exit;
  814. ms = exit;
  815. aec = exit;
  816. }break;
  817. case nsGEN::AttrKey::TECHMODE_AEC_2P:
  818. {
  819. kv = exit;
  820. mas = exit;
  821. ma = false;
  822. ms = false;
  823. aec = exit;
  824. }break;
  825. case nsGEN::AttrKey::TECHMODE_AEC_1P:
  826. {
  827. kv = exit;
  828. mas = false;
  829. ma = false;
  830. ms = false;
  831. aec = exit;
  832. }break;
  833. case nsGEN::AttrKey::TECHMODE_AEC_ReduceMA:
  834. {
  835. kv = exit;
  836. mas = false;
  837. ma = exit;
  838. ms = false;
  839. aec = false;
  840. }break;
  841. case nsGEN::AttrKey::TECHMODE_NOAEC_MAS_MA:
  842. {
  843. kv = exit;
  844. mas = exit;
  845. ma = exit;
  846. ms = false;
  847. aec = false;
  848. }break;
  849. case nsGEN::AttrKey::TECHMODE_AEC_MAS_MA:
  850. {
  851. kv = exit;
  852. mas = exit;
  853. ma = exit;
  854. ms = false;
  855. aec = exit;
  856. }break;
  857. default:
  858. break;
  859. }
  860. //KV
  861. GetDlgItem(IDC_BUTTON4)->EnableWindow(kv);
  862. GetDlgItem(IDC_BUTTON5)->EnableWindow(kv);
  863. GetDlgItem(IDC_EDIT1)->EnableWindow(kv);
  864. GetDlgItem(IDC_BUTTON6)->EnableWindow(kv);
  865. //MAS
  866. GetDlgItem(IDC_BUTTON7)->EnableWindow(mas);
  867. GetDlgItem(IDC_BUTTON8)->EnableWindow(mas);
  868. GetDlgItem(IDC_EDIT2)->EnableWindow(mas);
  869. GetDlgItem(IDC_BUTTON9)->EnableWindow(mas);
  870. //MA
  871. GetDlgItem(IDC_BUTTON10)->EnableWindow(ma);
  872. GetDlgItem(IDC_BUTTON11)->EnableWindow(ma);
  873. GetDlgItem(IDC_EDIT3)->EnableWindow(ma);
  874. GetDlgItem(IDC_BUTTON12)->EnableWindow(ma);
  875. //MS
  876. GetDlgItem(IDC_BUTTON13)->EnableWindow(ms);
  877. GetDlgItem(IDC_BUTTON14)->EnableWindow(ms);
  878. GetDlgItem(IDC_EDIT4)->EnableWindow(ms);
  879. GetDlgItem(IDC_BUTTON15)->EnableWindow(ms);
  880. //AEC
  881. GetDlgItem(IDC_BUTTON16)->EnableWindow(aec);
  882. GetDlgItem(IDC_BUTTON17)->EnableWindow(aec);
  883. GetDlgItem(IDC_EDIT5)->EnableWindow(aec);
  884. GetDlgItem(IDC_BUTTON18)->EnableWindow(aec);
  885. GetDlgItem(IDC_BUTTON19)->EnableWindow(aec);
  886. GetDlgItem(IDC_EDIT6)->EnableWindow(aec);
  887. GetDlgItem(IDC_BUTTON20)->EnableWindow(aec);
  888. GetDlgItem(IDC_EDIT7)->EnableWindow(aec);
  889. //focus
  890. GetDlgItem(IDC_RADIO1)->EnableWindow(exit);
  891. GetDlgItem(IDC_RADIO2)->EnableWindow(exit);
  892. GetDlgItem(IDC_EDIT8)->EnableWindow(aec);
  893. //tech
  894. GetDlgItem(IDC_RADIO3)->EnableWindow(exit);
  895. GetDlgItem(IDC_RADIO4)->EnableWindow(exit);
  896. GetDlgItem(IDC_RADIO5)->EnableWindow(exit);
  897. GetDlgItem(IDC_RADIO6)->EnableWindow(exit);
  898. GetDlgItem(IDC_RADIO7)->EnableWindow(exit);
  899. GetDlgItem(IDC_RADIO8)->EnableWindow(exit);
  900. GetDlgItem(IDC_RADIO9)->EnableWindow(exit);
  901. //ws
  902. GetDlgItem(IDC_RADIO10)->EnableWindow(exit);
  903. GetDlgItem(IDC_RADIO11)->EnableWindow(exit);
  904. GetDlgItem(IDC_RADIO12)->EnableWindow(exit);
  905. GetDlgItem(IDC_RADIO13)->EnableWindow(exit);
  906. GetDlgItem(IDC_RADIO14)->EnableWindow(exit);
  907. GetDlgItem(IDC_RADIO15)->EnableWindow(exit);
  908. //expEnable
  909. GetDlgItem(IDC_BUTTON21)->EnableWindow(exit);
  910. //reset
  911. GetDlgItem(IDC_BUTTON22)->EnableWindow(exit);
  912. //APR
  913. GetDlgItem(IDC_BUTTON23)->EnableWindow(exit);
  914. //expMode
  915. GetDlgItem(IDC_BUTTON25)->EnableWindow(exit);
  916. GetDlgItem(IDC_EDIT9)->EnableWindow(exit);
  917. //examMode
  918. GetDlgItem(IDC_BUTTON26)->EnableWindow(general);
  919. GetDlgItem(IDC_EDIT10)->EnableWindow(general);
  920. //devStatus
  921. GetDlgItem(IDC_BUTTON27)->EnableWindow(general);
  922. GetDlgItem(IDC_EDIT11)->EnableWindow(general);
  923. //expStatus
  924. GetDlgItem(IDC_BUTTON28)->EnableWindow(exit);
  925. GetDlgItem(IDC_EDIT12)->EnableWindow(exit);
  926. //postKV
  927. GetDlgItem(IDC_BUTTON29)->EnableWindow(general);
  928. GetDlgItem(IDC_EDIT13)->EnableWindow(general);
  929. //postMA
  930. GetDlgItem(IDC_BUTTON30)->EnableWindow(general);
  931. GetDlgItem(IDC_EDIT14)->EnableWindow(general);
  932. //postMAS
  933. GetDlgItem(IDC_BUTTON31)->EnableWindow(general);
  934. GetDlgItem(IDC_EDIT15)->EnableWindow(general);
  935. //postMS
  936. GetDlgItem(IDC_BUTTON32)->EnableWindow(general);
  937. GetDlgItem(IDC_EDIT16)->EnableWindow(general);
  938. //tubeHeat
  939. GetDlgItem(IDC_BUTTON33)->EnableWindow(general);
  940. GetDlgItem(IDC_EDIT17)->EnableWindow(general);
  941. //tubeTarMat
  942. GetDlgItem(IDC_BUTTON34)->EnableWindow(general);
  943. GetDlgItem(IDC_EDIT18)->EnableWindow(general);
  944. //tubeAngle
  945. GetDlgItem(IDC_BUTTON35)->EnableWindow(general);
  946. GetDlgItem(IDC_EDIT19)->EnableWindow(general);
  947. //点片帧率
  948. GetDlgItem(IDC_BUTTON36)->EnableWindow(exit);
  949. GetDlgItem(IDC_EDIT20)->EnableWindow(exit);
  950. //设置曝光状态
  951. GetDlgItem(IDC_EDIT21)->EnableWindow(exit);
  952. //KV
  953. GetDlgItem(IDC_BUTTON37)->EnableWindow(exit);
  954. GetDlgItem(IDC_BUTTON38)->EnableWindow(exit);
  955. GetDlgItem(IDC_EDIT22)->EnableWindow(exit);
  956. GetDlgItem(IDC_BUTTON39)->EnableWindow(exit);
  957. //MAS
  958. GetDlgItem(IDC_BUTTON40)->EnableWindow(exit);
  959. GetDlgItem(IDC_BUTTON41)->EnableWindow(exit);
  960. GetDlgItem(IDC_EDIT23)->EnableWindow(exit);
  961. GetDlgItem(IDC_BUTTON42)->EnableWindow(exit);
  962. //PPS
  963. GetDlgItem(IDC_BUTTON43)->EnableWindow(exit);
  964. GetDlgItem(IDC_EDIT24)->EnableWindow(exit);
  965. //PluseWidth
  966. GetDlgItem(IDC_BUTTON44)->EnableWindow(exit);
  967. GetDlgItem(IDC_EDIT25)->EnableWindow(exit);
  968. //FluMode
  969. GetDlgItem(IDC_RADIO19)->EnableWindow(exit);
  970. GetDlgItem(IDC_RADIO20)->EnableWindow(exit);
  971. GetDlgItem(IDC_RADIO21)->EnableWindow(exit);
  972. GetDlgItem(IDC_RADIO22)->EnableWindow(exit);
  973. GetDlgItem(IDC_RADIO23)->EnableWindow(exit);
  974. //ABSMode
  975. GetDlgItem(IDC_RADIO16)->EnableWindow(exit);
  976. GetDlgItem(IDC_RADIO17)->EnableWindow(exit);
  977. GetDlgItem(IDC_RADIO18)->EnableWindow(exit);
  978. //ABSCurve
  979. GetDlgItem(IDC_BUTTON45)->EnableWindow(exit);
  980. GetDlgItem(IDC_EDIT26)->EnableWindow(exit);
  981. //DoseLever
  982. GetDlgItem(IDC_BUTTON46)->EnableWindow(exit);
  983. GetDlgItem(IDC_EDIT27)->EnableWindow(exit);
  984. //SetCurrEXI
  985. GetDlgItem(IDC_BUTTON47)->EnableWindow(exit);
  986. GetDlgItem(IDC_EDIT28)->EnableWindow(exit);
  987. //TargetEXI
  988. GetDlgItem(IDC_BUTTON48)->EnableWindow(exit);
  989. GetDlgItem(IDC_EDIT29)->EnableWindow(exit);
  990. //SetMAG
  991. GetDlgItem(IDC_BUTTON49)->EnableWindow(exit);
  992. GetDlgItem(IDC_EDIT30)->EnableWindow(exit);
  993. //ResetTime
  994. GetDlgItem(IDC_BUTTON50)->EnableWindow(exit);
  995. GetDlgItem(IDC_EDIT31)->EnableWindow(exit);
  996. //SetAPF
  997. GetDlgItem(IDC_BUTTON52)->EnableWindow(exit);
  998. //FluPre
  999. GetDlgItem(IDC_BUTTON53)->EnableWindow(exit);
  1000. GetDlgItem(IDC_EDIT33)->EnableWindow(exit);
  1001. //FluEXP
  1002. GetDlgItem(IDC_BUTTON54)->EnableWindow(exit);
  1003. GetDlgItem(IDC_EDIT34)->EnableWindow(exit);
  1004. //FluIntTimer
  1005. GetDlgItem(IDC_BUTTON55)->EnableWindow(exit);
  1006. GetDlgItem(IDC_EDIT35)->EnableWindow(exit);
  1007. //FluAccTimer
  1008. GetDlgItem(IDC_BUTTON56)->EnableWindow(exit);
  1009. GetDlgItem(IDC_EDIT36)->EnableWindow(exit);
  1010. //HandSwitch
  1011. GetDlgItem(IDC_BUTTON57)->EnableWindow(exit);
  1012. GetDlgItem(IDC_EDIT37)->EnableWindow(exit);
  1013. //FootSwitch
  1014. GetDlgItem(IDC_BUTTON58)->EnableWindow(exit);
  1015. GetDlgItem(IDC_EDIT38)->EnableWindow(exit);
  1016. //test
  1017. GetDlgItem(IDC_BUTTON59)->EnableWindow(exit);
  1018. GetDlgItem(IDC_EDIT39)->EnableWindow(exit);
  1019. GetDlgItem(IDC_EDIT40)->EnableWindow(exit);
  1020. GetDlgItem(IDC_BUTTON60)->EnableWindow(exit);
  1021. GetDlgItem(IDC_EDIT41)->EnableWindow(exit);
  1022. }
  1023. //设置悬停提示
  1024. void CGeneratorDlg::SetToolTipsMsgMap()
  1025. {
  1026. m_Ttc.AddTool(GetDlgItem(IDC_EDIT39), _T("Notify Key"));
  1027. m_Ttc.AddTool(GetDlgItem(IDC_EDIT40), _T("Notify Value"));
  1028. }
  1029. //选择配置
  1030. void CGeneratorDlg::OnBnClickedButton3()
  1031. {
  1032. CString log;
  1033. nsCFG::CConfigDlg dlgcfg(Dev_Generator,
  1034. m_strCfgLib,
  1035. m_strCfgFile);
  1036. dlgcfg.DoModal();
  1037. if (m_strCfgFile.empty())
  1038. {
  1039. log.Format("(GEN)- GEN m_strCfgFile is empty");
  1040. mLog::Warn(log);
  1041. ToolsDlgLog(log);
  1042. }
  1043. else
  1044. {
  1045. ShowPageElements(TRUE, FALSE, TRUE, -1);
  1046. }
  1047. }
  1048. //初始化
  1049. void CGeneratorDlg::OnBnClickedButton1()
  1050. {
  1051. CString log;
  1052. if(m_pDriver == nullptr)
  1053. if (!m_pDevice)
  1054. {
  1055. if (this->AppInitial(true))
  1056. {
  1057. ShowPageElements(FALSE, TRUE, FALSE, -1);
  1058. SetMagMap();
  1059. GetInitData();
  1060. mLog::Debug("(GEN)- GEN Initial success");
  1061. }
  1062. else
  1063. {
  1064. log.Format("(GEN)- GEN Initial fail");
  1065. mLog::Error(log);
  1066. ToolsDlgLog(log);
  1067. }
  1068. }
  1069. else
  1070. {
  1071. log.Format("(GEN)- m_pDevice not empty");
  1072. mLog::Warn(log);
  1073. ToolsDlgLog(log);
  1074. }
  1075. else
  1076. {
  1077. log.Format("(GEN)- m_pDriver not empty");
  1078. mLog::Warn(log);
  1079. ToolsDlgLog(log);
  1080. }
  1081. }
  1082. //退出
  1083. void CGeneratorDlg::OnBnClickedButton2()
  1084. {
  1085. if (AppInitial(false))
  1086. {
  1087. ShowPageElements(TRUE, FALSE, TRUE, -1);
  1088. }
  1089. }
  1090. //set KV
  1091. void CGeneratorDlg::OnBnClickedButton4()
  1092. {
  1093. DevActionValue(nsGEN::ActionKey::SetValue_KV, { to_string(m_nKV) });
  1094. }
  1095. //KV-
  1096. void CGeneratorDlg::OnBnClickedButton5()
  1097. {
  1098. DevAction(nsGEN::ActionKey::DecParam_KV);
  1099. }
  1100. //KV+
  1101. void CGeneratorDlg::OnBnClickedButton6()
  1102. {
  1103. DevAction(nsGEN::ActionKey::IncParam_KV);
  1104. }
  1105. //set MAS
  1106. void CGeneratorDlg::OnBnClickedButton7()
  1107. {
  1108. DevActionValue(nsGEN::ActionKey::SetValue_MAS, { to_string(m_fMAS) });
  1109. }
  1110. //MAS-
  1111. void CGeneratorDlg::OnBnClickedButton8()
  1112. {
  1113. DevAction(nsGEN::ActionKey::DecParam_MAS);
  1114. }
  1115. //MAS+
  1116. void CGeneratorDlg::OnBnClickedButton9()
  1117. {
  1118. DevAction(nsGEN::ActionKey::IncParam_MAS);
  1119. }
  1120. //set MA
  1121. void CGeneratorDlg::OnBnClickedButton10()
  1122. {
  1123. DevActionValue(nsGEN::ActionKey::SetValue_MA, { to_string(m_fMA) });
  1124. }
  1125. //MA-
  1126. void CGeneratorDlg::OnBnClickedButton11()
  1127. {
  1128. DevAction(nsGEN::ActionKey::DecParam_MA);
  1129. }
  1130. //MA+
  1131. void CGeneratorDlg::OnBnClickedButton12()
  1132. {
  1133. DevAction(nsGEN::ActionKey::IncParam_MA);
  1134. }
  1135. //set MS
  1136. void CGeneratorDlg::OnBnClickedButton13()
  1137. {
  1138. DevActionValue(nsGEN::ActionKey::SetValue_MS, { to_string(m_fMS) });
  1139. }
  1140. //MS-
  1141. void CGeneratorDlg::OnBnClickedButton14()
  1142. {
  1143. DevAction(nsGEN::ActionKey::DecParam_MS);
  1144. }
  1145. //MS+
  1146. void CGeneratorDlg::OnBnClickedButton15()
  1147. {
  1148. DevAction(nsGEN::ActionKey::IncParam_MS);
  1149. }
  1150. //set Density
  1151. void CGeneratorDlg::OnBnClickedButton16()
  1152. {
  1153. DevActionValue(nsGEN::ActionKey::SetValue_AECDENSITY, { to_string(m_nAECDensity) });
  1154. }
  1155. //Density-
  1156. void CGeneratorDlg::OnBnClickedButton17()
  1157. {
  1158. DevAction(nsGEN::ActionKey::DecParam_AECDENSITY);
  1159. }
  1160. //Density+
  1161. void CGeneratorDlg::OnBnClickedButton18()
  1162. {
  1163. DevAction(nsGEN::ActionKey::IncParam_AECDENSITY);
  1164. }
  1165. //set Field
  1166. void CGeneratorDlg::OnBnClickedButton19()
  1167. {
  1168. DevActionValue(nsGEN::ActionKey::SetValue_AECFIELD, { to_string(m_nAECField) });
  1169. }
  1170. //set Film
  1171. void CGeneratorDlg::OnBnClickedButton20()
  1172. {
  1173. DevActionValue(nsGEN::ActionKey::SetValue_AECFILM, { to_string(m_nAECFilm) });
  1174. }
  1175. //Exp enable
  1176. void CGeneratorDlg::OnBnClickedButton21()
  1177. {
  1178. if (m_bExpEnable)
  1179. {
  1180. GetDlgItem(IDC_BUTTON21)->SetWindowText("ExpDisable");
  1181. m_bExpEnable = false;
  1182. DevAction(nsGEN::ActionKey::SetExpDisable);
  1183. }
  1184. else
  1185. {
  1186. m_bExpEnable = true;
  1187. GetDlgItem(IDC_BUTTON21)->SetWindowText("ExpEnable");
  1188. DevAction(nsGEN::ActionKey::SetExpEnable);
  1189. }
  1190. }
  1191. //Reset
  1192. void CGeneratorDlg::OnBnClickedButton22()
  1193. {
  1194. DevAction(nsGEN::ActionKey::Reset);
  1195. }
  1196. //SetAPR
  1197. void CGeneratorDlg::OnBnClickedButton23()
  1198. {
  1199. map<string, string> param;
  1200. param[nsGEN::AttrKey::FOCUS] = to_string(m_nFO);
  1201. param[nsGEN::AttrKey::TECHMODE] = to_string(m_nET);
  1202. param[nsGEN::AttrKey::AECFILM] = "1";
  1203. param[nsGEN::AttrKey::AECFIELD] = "1";
  1204. param[nsGEN::AttrKey::AECDENSITY] = to_string(m_nAECDensity);
  1205. param[nsGEN::AttrKey::KV] = to_string(m_nKV);
  1206. param[nsGEN::AttrKey::MA] = to_string(m_fMA);
  1207. param[nsGEN::AttrKey::MS] = to_string(m_fMS);
  1208. param[nsGEN::AttrKey::MAS] = to_string(m_fMAS);
  1209. param[nsGEN::AttrKey::WORKSTATION] = to_string(m_nWS);
  1210. DevActionKeyValue(nsGEN::ActionKey::SetAPR, param, true);
  1211. }
  1212. //软同步曝光
  1213. void CGeneratorDlg::OnBnClickedButton28()
  1214. {
  1215. ToolsDlgLog("send soft_syn EXP allow");
  1216. CString tempStr;
  1217. m_Edit_genEXPstate.GetWindowText(tempStr);
  1218. string param = tempStr.GetBuffer();
  1219. DevActionValue(nsGEN::ActionKey::SetGeneratortoSyncStatus, { param });
  1220. }
  1221. //设置曝光模式
  1222. void CGeneratorDlg::OnBnClickedButton25()
  1223. {
  1224. char data[20]{0};
  1225. strncpy_s(data, m_bExpMode.c_str(),19);
  1226. DevActionValue(nsGEN::ActionKey::SetExpMode, { data });
  1227. }
  1228. //设置点片帧率
  1229. void CGeneratorDlg::OnBnClickedButton36()
  1230. {
  1231. DevActionValue(nsGEN::ActionKey::SetFrameRate, { to_string(m_bRADFrameRate) });
  1232. }
  1233. //SetFluKV
  1234. void CGeneratorDlg::OnBnClickedButton37()
  1235. {
  1236. DevActionValue(nsGEN::ActionKey::SetValue_FluKV, { to_string(m_nFluKV) });
  1237. }
  1238. //FluKV-
  1239. void CGeneratorDlg::OnBnClickedButton38()
  1240. {
  1241. DevAction(nsGEN::ActionKey::DecParam_FluKV);
  1242. }
  1243. //FluKV+
  1244. void CGeneratorDlg::OnBnClickedButton39()
  1245. {
  1246. DevAction(nsGEN::ActionKey::IncParam_FluKV);
  1247. }
  1248. //SetFluMA
  1249. void CGeneratorDlg::OnBnClickedButton40()
  1250. {
  1251. DevActionValue(nsGEN::ActionKey::SetValue_FluMA, { to_string(m_fFluMA) });
  1252. }
  1253. //FluMA-
  1254. void CGeneratorDlg::OnBnClickedButton41()
  1255. {
  1256. DevAction(nsGEN::ActionKey::DecParam_FluMA);
  1257. }
  1258. //FluMA+
  1259. void CGeneratorDlg::OnBnClickedButton42()
  1260. {
  1261. DevAction(nsGEN::ActionKey::IncParam_FluMA);
  1262. }
  1263. //SetPPS
  1264. void CGeneratorDlg::OnBnClickedButton43()
  1265. {
  1266. DevActionValue(nsGEN::ActionKey::SetValue_PPS, { to_string(m_fPPS) });
  1267. }
  1268. //PluseWidth
  1269. void CGeneratorDlg::OnBnClickedButton44()
  1270. {
  1271. DevActionValue(nsGEN::ActionKey::SetValue_PluseWidth, { to_string(m_nPluseWidth) });
  1272. }
  1273. //ABSCurve
  1274. void CGeneratorDlg::OnBnClickedButton45()
  1275. {
  1276. DevActionValue(nsGEN::ActionKey::SetValue_ABSCurve, { to_string(m_nABSCurve) });
  1277. }
  1278. //DoseLever
  1279. void CGeneratorDlg::OnBnClickedButton46()
  1280. {
  1281. DevActionValue(nsGEN::ActionKey::SetValue_FluDoseLever, { to_string(m_nDoseLever) });
  1282. }
  1283. //SetCurrEXI
  1284. void CGeneratorDlg::OnBnClickedButton47()
  1285. {
  1286. DevActionValue(nsGEN::ActionKey::SetFrameRate, { to_string(m_nCurrEXI) });
  1287. }
  1288. //TargetEXI
  1289. void CGeneratorDlg::OnBnClickedButton48()
  1290. {
  1291. DevActionValue("SetCurrentEXI", { to_string(m_nTarEXI) });
  1292. }
  1293. //SetMAG
  1294. void CGeneratorDlg::OnBnClickedButton49()
  1295. {
  1296. DevActionValue(nsGEN::ActionKey::SetValue_FluMAG, { to_string(m_nMag) });
  1297. }
  1298. //ResetTime
  1299. void CGeneratorDlg::OnBnClickedButton50()
  1300. {
  1301. DevActionValue(nsGEN::ActionKey::SetFrameRate, { to_string(m_nResetTime) });
  1302. }
  1303. //SetAPF
  1304. void CGeneratorDlg::OnBnClickedButton52()
  1305. {
  1306. map<string, string> param;
  1307. param[nsGEN::AttrKey::WORKSTATION] = to_string(m_nWS);
  1308. param[nsGEN::AttrKey::FLUMode] = to_string(m_nFluMode);
  1309. param[nsGEN::AttrKey::FLUABSStatus] = to_string(m_nABSMode);
  1310. param[nsGEN::AttrKey::FLUDoseLevel] = to_string(m_nDoseLever);
  1311. param[nsGEN::AttrKey::FLUKV] = to_string(m_nFluKV);
  1312. param[nsGEN::AttrKey::FLUMA] = to_string(m_fFluMA);
  1313. param[nsGEN::AttrKey::FLUPPS] = to_string(m_fPPS);
  1314. DevActionKeyValue(nsGEN::ActionKey::SetValue_APF, param, true);
  1315. }
  1316. //FluPre
  1317. void CGeneratorDlg::OnBnClickedButton53()
  1318. {
  1319. DevActionValue(nsGEN::ActionKey::SetFrameRate, { to_string(m_nFluPre) });
  1320. }
  1321. //FluEXP
  1322. void CGeneratorDlg::OnBnClickedButton54()
  1323. {
  1324. DevActionValue(nsGEN::ActionKey::SetFrameRate, { to_string(m_nFluEXP) });
  1325. }
  1326. //DirectlyNotify
  1327. void CGeneratorDlg::OnBnClickedButton59()
  1328. {
  1329. CString tempStrKey, tempStrValue;
  1330. m_Edit_DirectlyNotifyKey.GetWindowText(tempStrKey);
  1331. m_Edit_DirectlyNotifyValue.GetWindowText(tempStrValue);
  1332. map<string, string> param;
  1333. param["NotifyKey"] = tempStrKey.GetString();
  1334. param["NotifyValue"] = tempStrValue.GetString();
  1335. DevActionKeyValue("DirectlyNotify", param);
  1336. }
  1337. //DirectlyCMD
  1338. void CGeneratorDlg::OnBnClickedButton60()
  1339. {
  1340. CString tempStrCMD;
  1341. m_Edit_DirectlyCMD.GetWindowText(tempStrCMD);
  1342. map<string, string> param;
  1343. param["CMDText"] = tempStrCMD.GetString();
  1344. DevActionKeyValue("DirectlyCMD", param);
  1345. }
  1346. //select fcus small
  1347. void CGeneratorDlg::OnBnClickedRadio1()
  1348. {
  1349. m_nFO = nsGEN::AttrKey::FOCUS_TYPE::FOCUS_SMALL;
  1350. DevActionValue(nsGEN::ActionKey::SetValue_FOCUS, { to_string(m_nFO) });
  1351. }
  1352. //select fcus large
  1353. void CGeneratorDlg::OnBnClickedRadio2()
  1354. {
  1355. m_nFO = nsGEN::AttrKey::FOCUS_TYPE::FOCUS_LARGE;
  1356. DevActionValue(nsGEN::ActionKey::SetValue_FOCUS, { to_string(m_nFO) });
  1357. }
  1358. //NoAEC2P
  1359. void CGeneratorDlg::OnBnClickedRadio3()
  1360. {
  1361. m_nET = nsGEN::AttrKey::TECHMODE_TYPE::TECHMODE_NOAEC_2P;
  1362. DevActionValue(nsGEN::ActionKey::SetValue_TECHMODE, { to_string(m_nET) });
  1363. ShowPageElements(FALSE, TRUE, FALSE, m_nET);
  1364. }
  1365. //NoAEC3P
  1366. void CGeneratorDlg::OnBnClickedRadio4()
  1367. {
  1368. m_nET = nsGEN::AttrKey::TECHMODE_TYPE::TECHMODE_NOAEC_3P;
  1369. DevActionValue(nsGEN::ActionKey::SetValue_TECHMODE, { to_string(m_nET) });
  1370. ShowPageElements(FALSE, TRUE, FALSE, m_nET);
  1371. }
  1372. //NoAECMAS+MA
  1373. void CGeneratorDlg::OnBnClickedRadio8()
  1374. {
  1375. m_nET = nsGEN::AttrKey::TECHMODE_TYPE::TECHMODE_NOAEC_MAS_MA;
  1376. DevActionValue(nsGEN::ActionKey::SetValue_TECHMODE, { to_string(m_nET) });
  1377. ShowPageElements(FALSE, TRUE, FALSE, m_nET);
  1378. }
  1379. //AEC1P
  1380. void CGeneratorDlg::OnBnClickedRadio5()
  1381. {
  1382. m_nET = nsGEN::AttrKey::TECHMODE_TYPE::TECHMODE_AEC_1P;
  1383. DevActionValue(nsGEN::ActionKey::SetValue_TECHMODE, { to_string(m_nET) });
  1384. ShowPageElements(FALSE, TRUE, FALSE, m_nET);
  1385. }
  1386. //AEC2P
  1387. void CGeneratorDlg::OnBnClickedRadio6()
  1388. {
  1389. m_nET = nsGEN::AttrKey::TECHMODE_TYPE::TECHMODE_AEC_2P;
  1390. DevActionValue(nsGEN::ActionKey::SetValue_TECHMODE, { to_string(m_nET) });
  1391. ShowPageElements(FALSE, TRUE, FALSE, m_nET);
  1392. }
  1393. //AEC3P
  1394. void CGeneratorDlg::OnBnClickedRadio7()
  1395. {
  1396. m_nET = nsGEN::AttrKey::TECHMODE_TYPE::TECHMODE_AEC_3P;
  1397. DevActionValue(nsGEN::ActionKey::SetValue_TECHMODE, { to_string(m_nET) });
  1398. ShowPageElements(FALSE, TRUE, FALSE, m_nET);
  1399. }
  1400. //AECMAS+MA
  1401. void CGeneratorDlg::OnBnClickedRadio9()
  1402. {
  1403. m_nET = nsGEN::AttrKey::TECHMODE_TYPE::TECHMODE_AEC_MAS_MA;
  1404. DevActionValue(nsGEN::ActionKey::SetValue_TECHMODE, { to_string(m_nET) });
  1405. ShowPageElements(FALSE, TRUE, FALSE, m_nET);
  1406. }
  1407. //Table
  1408. void CGeneratorDlg::OnBnClickedRadio10()
  1409. {
  1410. m_nWS = nsGEN::AttrKey::GENWS_TYPE::TABLE;
  1411. DevActionValue(nsGEN::ActionKey::SetValue_WORKSTATION, { "Table" });
  1412. }
  1413. //Wall
  1414. void CGeneratorDlg::OnBnClickedRadio11()
  1415. {
  1416. m_nWS = nsGEN::AttrKey::GENWS_TYPE::WALL;
  1417. DevActionValue(nsGEN::ActionKey::SetValue_WORKSTATION, { "Wall" });
  1418. }
  1419. //Conventional
  1420. void CGeneratorDlg::OnBnClickedRadio12()
  1421. {
  1422. m_nWS = nsGEN::AttrKey::GENWS_TYPE::CONVENTIONAL;
  1423. DevActionValue(nsGEN::ActionKey::SetValue_WORKSTATION, { "Direct" });
  1424. }
  1425. //Mobile
  1426. void CGeneratorDlg::OnBnClickedRadio13()
  1427. {
  1428. m_nWS = nsGEN::AttrKey::GENWS_TYPE::MOBILE;
  1429. DevActionValue(nsGEN::ActionKey::SetValue_WORKSTATION, { "Mobile" });
  1430. }
  1431. //Free
  1432. void CGeneratorDlg::OnBnClickedRadio14()
  1433. {
  1434. m_nWS = nsGEN::AttrKey::GENWS_TYPE::FREE_WALL;
  1435. DevActionValue(nsGEN::ActionKey::SetValue_WORKSTATION, { "Free" });
  1436. }
  1437. //Tomo
  1438. void CGeneratorDlg::OnBnClickedRadio15()
  1439. {
  1440. m_nWS = nsGEN::AttrKey::GENWS_TYPE::TOMO;
  1441. DevActionValue(nsGEN::ActionKey::SetValue_WORKSTATION, { "Tomo" });
  1442. }
  1443. //ABSOff
  1444. void CGeneratorDlg::OnBnClickedRadio16()
  1445. {
  1446. m_nABSMode = nsGEN::AttrKey::GENERATOR_ABSStatus::GENERATOR_ABS_OFF;
  1447. DevActionValue(nsGEN::ActionKey::SetValue_ABSMode, { to_string(m_nABSMode) });
  1448. }
  1449. //ABSOnKV
  1450. void CGeneratorDlg::OnBnClickedRadio17()
  1451. {
  1452. m_nABSMode = nsGEN::AttrKey::GENERATOR_ABSStatus::GENERATOR_ABS_ON_KV;
  1453. DevActionValue(nsGEN::ActionKey::SetValue_ABSMode, { to_string(m_nABSMode) });
  1454. }
  1455. //ABSOnKVMA
  1456. void CGeneratorDlg::OnBnClickedRadio18()
  1457. {
  1458. m_nABSMode = nsGEN::AttrKey::GENERATOR_ABSStatus::GENERATOR_ABS_ON_KVMA;
  1459. DevActionValue(nsGEN::ActionKey::SetValue_ABSMode, { to_string(m_nABSMode) });
  1460. }
  1461. //FluModeNot
  1462. void CGeneratorDlg::OnBnClickedRadio19()
  1463. {
  1464. m_nFluMode = nsGEN::AttrKey::GENERATOR_FLUMode::GENERATOR_FLMODE_NOTFLU;
  1465. DevActionValue(nsGEN::ActionKey::SetFLFMode, { "NotFlu" });
  1466. }
  1467. //FluModeCF
  1468. void CGeneratorDlg::OnBnClickedRadio20()
  1469. {
  1470. m_nFluMode = nsGEN::AttrKey::GENERATOR_FLUMode::GENERATOR_FLMODE_CF;
  1471. DevActionValue(nsGEN::ActionKey::SetFLFMode, { "CF" });
  1472. }
  1473. //FluModePF
  1474. void CGeneratorDlg::OnBnClickedRadio21()
  1475. {
  1476. m_nFluMode = nsGEN::AttrKey::GENERATOR_FLUMode::GENERATOR_FLMODE_PF;
  1477. DevActionValue(nsGEN::ActionKey::SetFLFMode, { "PF" });
  1478. }
  1479. //FluModeHCF
  1480. void CGeneratorDlg::OnBnClickedRadio22()
  1481. {
  1482. m_nFluMode = nsGEN::AttrKey::GENERATOR_FLUMode::GENERATOR_FLMODE_HCF;
  1483. DevActionValue(nsGEN::ActionKey::SetFLFMode, { "HLCF" });
  1484. }
  1485. //FluModeHPF
  1486. void CGeneratorDlg::OnBnClickedRadio23()
  1487. {
  1488. m_nFluMode = nsGEN::AttrKey::GENERATOR_FLUMode::GENERATOR_FLMODE_HPF;
  1489. DevActionValue(nsGEN::ActionKey::SetFLFMode, { "HLF" });
  1490. }
  1491. //KV_Value
  1492. void CGeneratorDlg::OnEnKillfocusEdit1()
  1493. {
  1494. CString tempStr;
  1495. m_Edit_KV.GetWindowText(tempStr);
  1496. m_nKV = atoi(tempStr);
  1497. }
  1498. //MAS_Value
  1499. void CGeneratorDlg::OnEnKillfocusEdit2()
  1500. {
  1501. CString tempStr;
  1502. m_Edit_MAS.GetWindowText(tempStr);
  1503. m_fMAS = atof(tempStr);
  1504. }
  1505. //MA_Value
  1506. void CGeneratorDlg::OnEnKillfocusEdit3()
  1507. {
  1508. CString tempStr;
  1509. m_Edit_MA.GetWindowText(tempStr);
  1510. m_fMA = atof(tempStr);
  1511. }
  1512. //MS_Value
  1513. void CGeneratorDlg::OnEnKillfocusEdit4()
  1514. {
  1515. CString tempStr;
  1516. m_Edit_MS.GetWindowText(tempStr);
  1517. m_fMS = atof(tempStr);
  1518. }
  1519. //Density_Value
  1520. void CGeneratorDlg::OnEnKillfocusEdit5()
  1521. {
  1522. CString tempStr;
  1523. m_Edit_Density.GetWindowText(tempStr);
  1524. m_nAECDensity = atof(tempStr);
  1525. }
  1526. //Field_Value
  1527. void CGeneratorDlg::OnEnKillfocusEdit6()
  1528. {
  1529. CString tempStr;
  1530. m_Edit_Field.GetWindowText(tempStr);
  1531. m_nAECField = atof(tempStr);
  1532. }
  1533. //Film_Value
  1534. void CGeneratorDlg::OnEnKillfocusEdit7()
  1535. {
  1536. CString tempStr;
  1537. m_Edit_Film.GetWindowText(tempStr);
  1538. m_nAECFilm = atof(tempStr);
  1539. }
  1540. //EXPmode_Value
  1541. void CGeneratorDlg::OnEnKillfocusEdit9()
  1542. {
  1543. CString tempStr;
  1544. m_Edit_expmode.GetWindowText(tempStr);
  1545. m_bExpMode = tempStr;
  1546. }
  1547. //RADFrameRate_Value
  1548. void CGeneratorDlg::OnEnKillfocusEdit20()
  1549. {
  1550. CString tempStr;
  1551. m_Edit_RadFrameRate.GetWindowText(tempStr);
  1552. m_bRADFrameRate = atof(tempStr);
  1553. }
  1554. //FluKV_Value
  1555. void CGeneratorDlg::OnEnKillfocusEdit22()
  1556. {
  1557. CString tempStr;
  1558. m_Edit_FluKV.GetWindowText(tempStr);
  1559. m_nFluKV = atoi(tempStr);
  1560. }
  1561. //FluMA_Value
  1562. void CGeneratorDlg::OnEnKillfocusEdit23()
  1563. {
  1564. CString tempStr;
  1565. m_Edit_FluMA.GetWindowText(tempStr);
  1566. m_fFluMA = atof(tempStr);
  1567. }
  1568. //PPS_Value
  1569. void CGeneratorDlg::OnEnKillfocusEdit24()
  1570. {
  1571. CString tempStr;
  1572. m_Edit_FluPPS.GetWindowText(tempStr);
  1573. m_fPPS = atof(tempStr);
  1574. }
  1575. //PluseWidth_Value
  1576. void CGeneratorDlg::OnEnKillfocusEdit25()
  1577. {
  1578. CString tempStr;
  1579. m_Edit_FluPluseWidth.GetWindowText(tempStr);
  1580. m_nPluseWidth = atoi(tempStr);
  1581. }
  1582. //ABSCurve_Value
  1583. void CGeneratorDlg::OnEnKillfocusEdit26()
  1584. {
  1585. CString tempStr;
  1586. m_Edit_FluABSCurve.GetWindowText(tempStr);
  1587. m_nABSCurve = atoi(tempStr);
  1588. }
  1589. //DoseLever_Value
  1590. void CGeneratorDlg::OnEnKillfocusEdit27()
  1591. {
  1592. CString tempStr;
  1593. m_Edit_FluDoseLever.GetWindowText(tempStr);
  1594. m_nDoseLever = atoi(tempStr);
  1595. }
  1596. //CurrEXI_Value
  1597. void CGeneratorDlg::OnEnKillfocusEdit28()
  1598. {
  1599. CString tempStr;
  1600. m_Edit_FluCurrEXI.GetWindowText(tempStr);
  1601. m_nCurrEXI = atoi(tempStr);
  1602. }
  1603. //TargetEXI_Value
  1604. void CGeneratorDlg::OnEnKillfocusEdit29()
  1605. {
  1606. CString tempStr;
  1607. m_Edit_FluTarEXI.GetWindowText(tempStr);
  1608. m_nTarEXI = atoi(tempStr);
  1609. }
  1610. //MAG_Value
  1611. void CGeneratorDlg::OnEnKillfocusEdit30()
  1612. {
  1613. CString tempStr;
  1614. m_Edit_FluMag.GetWindowText(tempStr);
  1615. m_nMag = atoi(tempStr);
  1616. }
  1617. //ResetTime_Value
  1618. void CGeneratorDlg::OnEnKillfocusEdit31()
  1619. {
  1620. CString tempStr;
  1621. m_Edit_FluResetTime.GetWindowText(tempStr);
  1622. m_nResetTime = atoi(tempStr);
  1623. }
  1624. //FluPre_Value
  1625. void CGeneratorDlg::OnEnKillfocusEdit33()
  1626. {
  1627. CString tempStr;
  1628. m_Edit_FluPre.GetWindowText(tempStr);
  1629. m_nFluPre = atoi(tempStr);
  1630. }
  1631. //FluEXP_Value
  1632. void CGeneratorDlg::OnEnKillfocusEdit34()
  1633. {
  1634. CString tempStr;
  1635. m_Edit_FluEXP.GetWindowText(tempStr);
  1636. m_nFluEXP = atoi(tempStr);
  1637. }