VPGlobal.cpp 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. #include "VPGlobal.h"
  2. #include "GvlManager.h"
  3. #include "WindowAppGvlView.h"
  4. #include "WindowAppResourceManagerTree.h"
  5. #include "TaskManager.h"
  6. #include "WindowAppTaskMonitorView.h"
  7. #include "PouManager.h"
  8. #include "UiManager.h"
  9. #include "WindowMain.h"
  10. #include "LoadingManager.h"
  11. // #include "FrameManager.h"
  12. WindowMain* VPGlobal::m_pMainWindow = nullptr;
  13. WindowAppResourceManagerTree* VPGlobal::m_pResourceManager = nullptr;
  14. WindowAppGvlView* VPGlobal::m_pGvlView = nullptr;
  15. // WindowHdw* VPGlobal::m_pHdwWnd = nullptr;
  16. WindowAppMdiFrame* VPGlobal::m_pMdiFrame = nullptr;
  17. WindowAppTaskMonitorView* VPGlobal::m_pTaskMonitorView = nullptr;
  18. WindowRuntime* VPGlobal::m_pWindowRuntime = nullptr;
  19. PouManager* VPGlobal::m_pPouManager = new PouManager();
  20. TaskManager* VPGlobal::m_pTaskManager = nullptr;
  21. GvlManager* VPGlobal::m_pGvlManager = nullptr;
  22. UiManager* VPGlobal::m_pUiManager = new UiManager();
  23. LoadingManager* VPGlobal::m_pLoadingManager;
  24. // FrameManager* VPGlobal::m_pFrameManager = new FrameManager();
  25. Document* VPGlobal::m_pDoc = nullptr;
  26. DialogUserMsg* VPGlobal::m_pDialogUserMsg = nullptr;
  27. // enum
  28. // QMetaEnum VPGlobal::emTaskMode;
  29. QMetaEnum VPGlobal::enumExecStatus;
  30. QMetaEnum VPGlobal::enumRetValue;
  31. QMetaEnum VPGlobal::enumPriority;
  32. QMetaEnum VPGlobal::enumGvlAccess;
  33. VPGlobal::VPGlobal()
  34. {
  35. }
  36. /// <summary>
  37. /// 初始化
  38. /// </summary>
  39. void VPGlobal::init()
  40. {
  41. m_pTaskManager = TaskManager::getInstance();
  42. m_pGvlManager = GvlManager::getInstance();
  43. m_pLoadingManager = new LoadingManager();
  44. // emTaskMode = QMetaEnum::fromType<VPEnum::TASK_MODE>();
  45. emExecStatus = QMetaEnum::fromType<VPEnum::EXEC_STATUS>();
  46. emRetValue = QMetaEnum::fromType<VPEnum::RETURN_VALUE>();
  47. emPriority = QMetaEnum::fromType<VPEnum::PRIORITY>();
  48. emGvlAccess = QMetaEnum::fromType<VPEnum::GVL_ACCESS_MODE>();
  49. }
  50. /// <summary>
  51. /// 获取MdiFrame的指针
  52. /// </summary>
  53. /// <returns></returns>
  54. WindowAppMdiFrame* VPGlobal::getMdiFrame()
  55. {
  56. return m_pMdiFrame;
  57. }
  58. /// <summary>
  59. /// 获取TaskMonitorView指针
  60. /// </summary>
  61. /// <returns></returns>
  62. WindowAppTaskMonitorView* VPGlobal::getTaskMonitorView()
  63. {
  64. return m_pTaskMonitorView;
  65. }
  66. /// <summary>
  67. /// 注册AppTree
  68. /// </summary>
  69. /// <param name="pAppTree"></param>
  70. void VPGlobal::Register(WindowAppResourceManagerTree* pAppTree)
  71. {
  72. Q_ASSERT(pAppTree != nullptr);
  73. m_pResourceManager = pAppTree;
  74. }
  75. /// <summary>
  76. /// 注册GvlView
  77. /// </summary>
  78. /// <param name="pGvlView"></param>
  79. void VPGlobal::Register(WindowAppGvlView* pGvlView)
  80. {
  81. Q_ASSERT(pGvlView != nullptr);
  82. m_pGvlView = pGvlView;
  83. }
  84. ///// <summary>
  85. ///// 注册HardwareView
  86. ///// </summary>
  87. ///// <param name="pHdwWnd"></param>
  88. //void VPGlobal::Register(WindowHdw* pHdwWnd)
  89. //{
  90. // Q_ASSERT(pHdwWnd != nullptr);
  91. //
  92. // m_pHdwWnd = pHdwWnd;
  93. //}
  94. /// <summary>
  95. /// 注册MdiFrame
  96. /// </summary>
  97. /// <param name="pMdiFrame"></param>
  98. void VPGlobal::Register(WindowAppMdiFrame* pMdiFrame)
  99. {
  100. Q_ASSERT(pMdiFrame != nullptr);
  101. m_pMdiFrame = pMdiFrame;
  102. }
  103. /// <summary>
  104. /// 注册默认的Task Monitor View
  105. /// </summary>
  106. /// <param name="pTaskMonitorView"></param>
  107. void VPGlobal::Register(WindowAppTaskMonitorView* pTaskMonitorView)
  108. {
  109. Q_ASSERT(pTaskMonitorView != nullptr);
  110. m_pTaskMonitorView = pTaskMonitorView;
  111. }
  112. /// <summary>
  113. /// 注册Runtime窗体
  114. /// </summary>
  115. /// <param name="pRuntime"></param>
  116. void VPGlobal::Register(WindowRuntime* pRuntime)
  117. {
  118. Q_ASSERT(pRuntime != nullptr);
  119. m_pWindowRuntime = pRuntime;
  120. }
  121. /// <summary>
  122. /// 注册主框架
  123. /// </summary>
  124. /// <param name="pMainWindow"></param>
  125. void VPGlobal::Register(WindowMain* pMainWindow)
  126. {
  127. Q_ASSERT(pMainWindow != nullptr);
  128. m_pMainWindow = pMainWindow;
  129. }
  130. /// <summary>
  131. /// For Debug
  132. /// </summary>
  133. void VPGlobal::debugAllPous()
  134. {
  135. //QMapIterator<QString, POU*> it(m_PouManagers);
  136. //qDebug() << "================ All Pous =========================";
  137. //while (it.hasNext())
  138. //{
  139. // qDebug() << "Group: " << it.next().key();
  140. // const POU* pou = it.value();
  141. // QVectorIterator<_INTERFACE*> it2(pou->GetAllRunningInterfaces());
  142. // while (it2.hasNext())
  143. // {
  144. // const VARIABLE* var = it2.next();
  145. // qDebug() << "\t" << var->strName << " - " << var->bSerialized
  146. // << " " << Utility::getStringByType(var->value.Type)
  147. // << " " << var->getValueString() << " " << var->strComment;
  148. // }
  149. //}
  150. //qDebug() << "=============================================================\n";
  151. }
  152. //
  153. //QHash<QString, GVL*>* VPGlobal::VariableManager()
  154. //{
  155. // return m_pVariableManagers->getAllVariables();
  156. //}