Widget_HttpSendJson.h 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. #ifndef WIDGET_HTTPSENDJSON_H
  2. #define WIDGET_HTTPSENDJSON_H
  3. #include <QWidget>
  4. #include "ui_Widget_HttpSendJson.h"
  5. #include <QMessageBox>
  6. #include "DataManager.h"
  7. #include <QSystemTrayIcon>
  8. #include <QMenu>
  9. class Widget_HttpSendJson : public QWidget
  10. {
  11. Q_OBJECT
  12. public:
  13. Widget_HttpSendJson(QWidget *parent = 0);
  14. ~Widget_HttpSendJson();
  15. private:
  16. //************************************
  17. // 函 数 名 : InitUIData
  18. // 函数全称 : Widget_HttpSendJson::InitUIData
  19. // 函数说明 : 初始化界面UI功能
  20. //************************************
  21. void InitUIData();
  22. //************************************
  23. // 函 数 名 : InitConnect
  24. // 函数全称 : Widget_HttpSendJson::InitConnect
  25. // 函数说明 : 初始化界面Connecct
  26. //************************************
  27. void InitConnect();
  28. //更新发送的json页面
  29. void UpdateSendEdit(std::string strJson);
  30. //更新JSON检测页面
  31. void UpdateJSONTestEdit(std::string strJson);
  32. //更新Json发送地址
  33. void UpdateHTTPAddress(std::string strAddress);
  34. //更新接受到的json页面
  35. void UpdateResponseEdit(std::string strJson);
  36. //
  37. void AddToListData(LogJson& pJsonData);
  38. private slots:
  39. //开启结束训练
  40. void slot_StartThread();
  41. void slot_EndThread();
  42. //************************************
  43. // 函 数 名 : slot_ClearResponseBtn
  44. // 函数全称 : Widget_HttpSendJson::slot_ClearResponseBtn
  45. // 函数说明 : 清空按钮按钮-槽
  46. // 访问权限 : private
  47. // 返 回 值 : void
  48. // 注释日期 : 2020/10/23
  49. // 注 释 人 : chenyj
  50. //************************************
  51. void slot_ClearResponseBtn();
  52. //************************************
  53. // 函 数 名 : slot_SendRequestBtn
  54. // 函数全称 : Widget_HttpSendJson::slot_SendRequestBtn
  55. // 函数说明 : 发送HTTP请求按钮-槽
  56. // 访问权限 : private
  57. // 返 回 值 : void
  58. // 注释日期 : 2020/10/23
  59. // 注 释 人 : chenyj
  60. //************************************
  61. void slot_SendRequestBtn();
  62. //************************************
  63. // 函 数 名 : slot_ReloadListBtn
  64. // 函数全称 : Widget_HttpSendJson::slot_ReloadListBtn
  65. // 函数说明 : 刷新日志列表按钮-槽
  66. // 访问权限 : private
  67. // 返 回 值 : void
  68. // 注释日期 : 2020/10/23
  69. // 注 释 人 : chenyj
  70. //************************************
  71. void slot_ReloadListBtn();
  72. //************************************
  73. // 函 数 名 : slot_ClickListUpdate
  74. // 函数全称 : Widget_HttpSendJson::slot_ClickListUpdate
  75. // 函数说明 : 列表点击事件-槽
  76. // 访问权限 : private
  77. // 参数说明 : int nRow :
  78. // 参数说明 : int nColumn :
  79. // 返 回 值 : void
  80. // 注释日期 : 2020/10/23
  81. // 注 释 人 : chenyj
  82. //************************************
  83. void slot_ClickListUpdate(int nRow,int nColumn);
  84. //************************************
  85. // 函 数 名 : slot_ShowRequestBtn
  86. // 函数全称 : Widget_HttpSendJson::slot_ShowRequestBtn
  87. // 函数说明 : 显示发送数据按钮-槽
  88. // 访问权限 : private
  89. // 返 回 值 : void
  90. // 注释日期 : 2020/10/23
  91. // 注 释 人 : chenyj
  92. //************************************
  93. void slot_ShowRequestBtn();
  94. //************************************
  95. // 函 数 名 : slot_ShowRequestAndResponseBtn
  96. // 函数全称 : Widget_HttpSendJson::slot_ShowRequestAndResponseBtn
  97. // 函数说明 : 显示发送和结果按钮-槽
  98. // 访问权限 : private
  99. // 返 回 值 : void
  100. // 注释日期 : 2020/10/23
  101. // 注 释 人 : chenyj
  102. //************************************
  103. void slot_ShowRequestAndResponseBtn();
  104. //************************************
  105. // 函 数 名 : slot_JsonTestBtn
  106. // 函数全称 : Widget_HttpSendJson::slot_JsonTestBtn
  107. // 函数说明 : json检测按钮-槽
  108. // 访问权限 : private
  109. // 返 回 值 : void
  110. // 注释日期 : 2020/10/23
  111. // 注 释 人 : chenyj
  112. //************************************
  113. void slot_JsonTestBtn();
  114. //************************************
  115. // 函 数 名 : slot_ADDTestDataToList
  116. // 函数全称 : Widget_HttpSendJson::slot_ADDTestDataToList
  117. // 函数说明 : 清空表格添加测试数据;
  118. // 访问权限 : private
  119. // 返 回 值 : void
  120. // 注释日期 : 2020/11/3
  121. // 注 释 人 : chenyj
  122. //************************************
  123. void slot_ADDTestDataToList();
  124. //************************************
  125. // 函 数 名 : slot_TimerUpdateList
  126. // 函数全称 : Widget_HttpSendJson::slot_TimerUpdateList
  127. // 函数说明 : 表格刷新定时器
  128. // 访问权限 : private
  129. // 返 回 值 : void
  130. // 注释日期 : 2020/11/3
  131. // 注 释 人 : chenyj
  132. //************************************
  133. void slot_TimerUpdateList();
  134. //************************************
  135. // Method: slot_CheckState
  136. // FullName: Widget_HttpSendJson::slot_CheckState
  137. // Access: private
  138. // Returns: void
  139. // Qualifier:
  140. // Parameter: int nState
  141. //************************************
  142. void slot_CheckState(int nState);
  143. void slot_dataChange(int nDataType);
  144. void slot_RunSuccess();
  145. private:
  146. Ui::Widget_HttpSendJson ui;
  147. //xhNetWork* m_pNetWork=NULL;
  148. //选中行ID
  149. int m_nSelectRow = -1;
  150. //选中的数据
  151. LogJson* m_pSelectData = NULL;
  152. //容器
  153. std::vector<LogJson>* m_vectorLogJson=NULL;
  154. //表格刷新timer
  155. QTimer* pTimerList = NULL;
  156. bool hideHeart;//屏蔽心跳
  157. protected:
  158. void closeEvent(QCloseEvent* event) override; // 重写关闭事件
  159. private slots:
  160. // 托盘图标激活处理
  161. void onTrayIconActivated(QSystemTrayIcon::ActivationReason reason);
  162. // 托盘菜单动作处理
  163. void onShowWindowTriggered(); // 显示窗口
  164. void onHideWindowTriggered(); // 隐藏窗口
  165. void onQuitTriggered(); // 退出程序
  166. private:
  167. void createTrayIcon(); // 创建托盘图标和菜单
  168. void setupTrayMenu(); // 设置托盘菜单
  169. QSystemTrayIcon* trayIcon; // 系统托盘图标
  170. QMenu* trayMenu; // 托盘右键菜单
  171. // 托盘菜单动作
  172. QAction* showWindowAction; // 显示窗口
  173. QAction* hideWindowAction; // 隐藏窗口
  174. QAction* quitAction; // 退出程序
  175. };
  176. #endif // WIDGET_HTTPSENDJSON_H