Common.h 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. #pragma once
  2. #pragma execution_character_set("utf-8")
  3. #include <QMap>
  4. #include <QSet>
  5. #include <QStack>
  6. #include <QHash>
  7. #include <QVector>
  8. #include <QList>
  9. #include <QString>
  10. #include <QMultiHash>
  11. #include "QDesktopWidget"
  12. #include <QWidget>
  13. #include <QMainWindow>
  14. #include <QStackedWidget>
  15. #include <QDockWidget>
  16. #include <QTreeWidget>
  17. #include <QMdiArea>
  18. #include <QMdiSubWindow>
  19. #include <QTableWidget>
  20. #include <QListWidget>
  21. #include <QRadioButton>
  22. #include <QScrollBar>
  23. #include <QDebug>
  24. #include <QMenu>
  25. #include <QMenuBar>
  26. #include <QPaintEvent>
  27. #include <QToolBar>
  28. #include <QStatusBar>
  29. #include <QLabel>
  30. #include <QPushButton>
  31. #include <QHBoxLayout>
  32. #include <QVBoxLayout>
  33. #include <QGroupBox>
  34. #include <QMessageBox>
  35. #include <QApplication>
  36. #include <QStyleFactory>
  37. #include <QCoreApplication>
  38. #include <QDir>
  39. #include <QFile>
  40. #include <QFileInfo>
  41. #include <QLibrary>
  42. #include <QWidget>
  43. #include <QPainter>
  44. #include <QMouseEvent>
  45. #include <QPropertyAnimation>
  46. #include <QActionGroup>
  47. #include <QScreen>
  48. #include <QCheckBox>
  49. #include <QComboBox>
  50. #include <QLineEdit>
  51. #include <QSplitter>
  52. #include <QFileDialog>
  53. #include <QDataStream>
  54. #include <QTableWidget>
  55. #include <QTime>
  56. #include <QTimer>
  57. #include <QElapsedTimer>
  58. #include <QRunnable>
  59. #include <QThread>
  60. #include <QThreadPool>
  61. #include <QBuffer>
  62. #include <QDataStream>
  63. #include <QScrollArea>
  64. #include <QHeaderView>
  65. #include <QRubberBand>
  66. #include <QMouseEvent>
  67. #include <QDateTime>
  68. #include <QFileDialog>
  69. #include <QtConcurrent>
  70. #include <QGraphicsView>
  71. #include <QGraphicsOpacityEffect>
  72. #include <QPropertyAnimation>
  73. #include "VPGlobal.h"
  74. //// 为了处理M_PI未识别Error(仅Qt5需要)
  75. //// #define _USE_MATH_DEFINES
  76. //#include <qmath.h>
  77. #include "../Common/DataStructure.h"
  78. #include "../Common/DataStructureInner.h"
  79. #include "../Common/DllToolCommon.h"
  80. #include "../Common/Utility.h"
  81. //// 输出debug信息,并且写入log
  82. //#define LOG_DEBUG(msg) {qDebug() << msg; LOG(msg);}
  83. // 应用程序当前执行全路径
  84. #define CURRENT_FULL_PATH QCoreApplication::applicationDirPath()
  85. // 工具的默认保存路径
  86. #define DEFAULT_TOOL_PATH CURRENT_FULL_PATH + ("/toolbox/")
  87. #define CONFIGFOLDER ("/config/")
  88. // 窗体的默认初始化大小
  89. #define DEFAULT_WIDTH 1280
  90. #define DEFAULT_HEIGHT 768
  91. // Port绑定接口的后缀名
  92. #define PORT_INF_POSTFIX (".Q")
  93. // 动态库文件在不同系统下的扩展名
  94. #ifdef Q_OS_WIN
  95. #define TOOL_EXT ".dll"
  96. #else
  97. #define TOOL_EXT ".so"
  98. #endif
  99. // 存档临时文件的扩展名
  100. #define TMP_POSTFIX QString(".tmp")
  101. // 存档文件的扩展名
  102. #define DOC_POSTFIX QString(".vpp")
  103. // 硬件组态存档的默认文件名
  104. #define DOC_HARDWARE_FULLPATH CURRENT_FULL_PATH + QString("/default.hw")
  105. // UI设计页面中,主页面的后缀
  106. #define UI_MAINPAGE_POSTFIX QString("(Main)")
  107. #define POU_POSTFIX QString("(Pou)")
  108. #define GVL_BASIC_POSTFIX QString("(Basic)")
  109. #define GVL_STANDARD_POSTFIX QString("(Dtandard)")
  110. #define GVL_DB_POSTFIX QString("(DataBase)")
  111. // 全局变量和局部变量的分组名称
  112. #define GROUP_GLOBAL_VARIABLE QString("Global Variables")
  113. #define GROUP_LOCAL_VARIABLE QString("Local Variables")
  114. // 释放指针
  115. #define RELEASE(x) if(x!=nullptr) { delete x; x= nullptr;}
  116. // 使用 utf8 编码
  117. #if _MSC_VER >= 1600
  118. #pragma execution_character_set("utf-8")
  119. #endif
  120. // 系统内置定时器频率(100ms)
  121. #define SYS_TIMER 100
  122. // 主窗体中各子窗体序号
  123. // Runtime页面
  124. #define MAIN_VIEW_RUNTIME 0
  125. // App页面
  126. #define MAIN_VIEW_APP 1
  127. // App页面中ResourceManager的宽度
  128. #define APP_RM_WIDTH 200
  129. // Pou变量分组的后缀
  130. #define VAR_SUFFIX QString(".Variables")
  131. // Pou内部变量名字 - 执行总时长(ms)
  132. #define INTERNALVAR_NAME_EXECTIME "ExeTime"
  133. #define INTERNALVAR_CHNAME_EXECTIME "执行总时长(ms)"
  134. // Pou内部变量名字 - 执行次数
  135. #define INTERNALVAR_NAME_EXECCOUNT "ExeCount"
  136. #define INTERNALVAR_CHNAME_EXECCOUNT "执行次数"
  137. // Pou内部变量名字 - 错误次数
  138. #define INTERNALVAR_NAME_ERRORCOUNT "ErrorCount"
  139. #define INTERNALVAR_CHNAME_ERRORCOUNT "错误计数"
  140. // 系统变量名字 - 系统时间
  141. #define SYSTEMVAR_NAME_TIME "SystemTime"
  142. #define SYSTEMVAR_CHNAME_TIME "系统时间"
  143. // 系统变量名字 - 系统运行计数
  144. #define SYSTEMVAR_NAME_EXECCOUNT "SysExeCount"
  145. #define SYSTEMVAR_CHNAME_EXECCOUNT "系统运行计数"
  146. // 系统变量名字 - 开机时长
  147. #define SYSTEMVAR_NAME_RUNTIME "RunTime"
  148. #define SYSTEMVAR_CHNAME_RUNTIME "开机时长"
  149. // 系统变量名字 - 项目名称
  150. #define SYSTEMVAR_NAME_PROJECTNAME "ProjectName"
  151. #define SYSTEMVAR_CHNAME_PROJECTNAME "项目名称"
  152. // 系统变量名字 - 项目路径
  153. #define SYSTEMVAR_NAME_PROJECTPATH "ProjectPath"
  154. #define SYSTEMVAR_CHNAME_PROJECTPATH "项目路径"
  155. // Port接口的默认名字(尚未绑定的情况下)
  156. #define DEFAULT_INPUT_PORT_NAME "input"
  157. #define DEFAULT_OUTPUT_PORT_NAME "output"
  158. // 同时执行的并行工具最大数量限制(100个)
  159. #define MAX_PARALLEL_TOOL_COUNT 0x64
  160. // 工具被加入并行组之后,显示的字母标识
  161. #define TOOL_PARALLEL_LOGO "P"
  162. // 读取存档文件时的关键字
  163. #define LOAD_DOC_KEYWORDS "Done"
  164. // UI界面的默认尺寸
  165. #define DEFAULT_UIVIEW_WIDTH 1500
  166. #define DEFAULT_UIVIEW_HEIGHT 1000
  167. // POU界面的默认尺寸
  168. #define POU_VIEW_WIDTH 4000
  169. #define POU_VIEW_HEIGHT 3000
  170. // bool的对应字符串
  171. #define STRING_TRUE "true"
  172. #define STRING_FALSE "false"
  173. // 是否打开GVL调试开关(界面自动填充测试数据)
  174. //#define DEBUG_ON_GVL
  175. // 自定义警告信息
  176. #define vDebug() qDebug() << "[" << __FUNCTION__ << ":" << __LINE__ << "]"
  177. #define vWarning() qWarning() << "[" << __FUNCTION__ << ":" << __LINE__ << "]"
  178. const unsigned char g_revision_date[12] = __DATE__;
  179. const unsigned char g_revision_time[16] = __TIME__;