#include "VPGlobal.h"
#include "GvlManager.h"
#include "WindowAppGvlView.h"
#include "WindowAppResourceManagerTree.h"
#include "TaskManager.h"
#include "WindowAppTaskMonitorView.h"
#include "PouManager.h"
#include "UiManager.h"
#include "WindowMain.h"
#include "LoadingManager.h"
// #include "FrameManager.h"
WindowMain* VPGlobal::m_pMainWindow = nullptr;
WindowAppResourceManagerTree* VPGlobal::m_pResourceManager = nullptr;
WindowAppGvlView* VPGlobal::m_pGvlView = nullptr;
// WindowHdw* VPGlobal::m_pHdwWnd = nullptr;
WindowAppMdiFrame* VPGlobal::m_pMdiFrame = nullptr;
WindowAppTaskMonitorView* VPGlobal::m_pTaskMonitorView = nullptr;
WindowRuntime* VPGlobal::m_pWindowRuntime = nullptr;
PouManager* VPGlobal::m_pPouManager = new PouManager();
TaskManager* VPGlobal::m_pTaskManager = nullptr;
GvlManager* VPGlobal::m_pGvlManager = nullptr;
UiManager* VPGlobal::m_pUiManager = new UiManager();
LoadingManager* VPGlobal::m_pLoadingManager;
// FrameManager* VPGlobal::m_pFrameManager = new FrameManager();
Document* VPGlobal::m_pDoc = nullptr;
DialogUserMsg* VPGlobal::m_pDialogUserMsg = nullptr;
// enum
// QMetaEnum VPGlobal::emTaskMode;
QMetaEnum VPGlobal::enumExecStatus;
QMetaEnum VPGlobal::enumRetValue;
QMetaEnum VPGlobal::enumPriority;
QMetaEnum VPGlobal::enumGvlAccess;
VPGlobal::VPGlobal()
{
}
///
/// 初始化
///
void VPGlobal::init()
{
m_pTaskManager = TaskManager::getInstance();
m_pGvlManager = GvlManager::getInstance();
m_pLoadingManager = new LoadingManager();
// emTaskMode = QMetaEnum::fromType();
emExecStatus = QMetaEnum::fromType();
emRetValue = QMetaEnum::fromType();
emPriority = QMetaEnum::fromType();
emGvlAccess = QMetaEnum::fromType();
}
///
/// 获取MdiFrame的指针
///
///
WindowAppMdiFrame* VPGlobal::getMdiFrame()
{
return m_pMdiFrame;
}
///
/// 获取TaskMonitorView指针
///
///
WindowAppTaskMonitorView* VPGlobal::getTaskMonitorView()
{
return m_pTaskMonitorView;
}
///
/// 注册AppTree
///
///
void VPGlobal::Register(WindowAppResourceManagerTree* pAppTree)
{
Q_ASSERT(pAppTree != nullptr);
m_pResourceManager = pAppTree;
}
///
/// 注册GvlView
///
///
void VPGlobal::Register(WindowAppGvlView* pGvlView)
{
Q_ASSERT(pGvlView != nullptr);
m_pGvlView = pGvlView;
}
/////
///// 注册HardwareView
/////
/////
//void VPGlobal::Register(WindowHdw* pHdwWnd)
//{
// Q_ASSERT(pHdwWnd != nullptr);
//
// m_pHdwWnd = pHdwWnd;
//}
///
/// 注册MdiFrame
///
///
void VPGlobal::Register(WindowAppMdiFrame* pMdiFrame)
{
Q_ASSERT(pMdiFrame != nullptr);
m_pMdiFrame = pMdiFrame;
}
///
/// 注册默认的Task Monitor View
///
///
void VPGlobal::Register(WindowAppTaskMonitorView* pTaskMonitorView)
{
Q_ASSERT(pTaskMonitorView != nullptr);
m_pTaskMonitorView = pTaskMonitorView;
}
///
/// 注册Runtime窗体
///
///
void VPGlobal::Register(WindowRuntime* pRuntime)
{
Q_ASSERT(pRuntime != nullptr);
m_pWindowRuntime = pRuntime;
}
///
/// 注册主框架
///
///
void VPGlobal::Register(WindowMain* pMainWindow)
{
Q_ASSERT(pMainWindow != nullptr);
m_pMainWindow = pMainWindow;
}
///
/// For Debug
///
void VPGlobal::debugAllPous()
{
//QMapIterator it(m_PouManagers);
//qDebug() << "================ All Pous =========================";
//while (it.hasNext())
//{
// qDebug() << "Group: " << it.next().key();
// const POU* pou = it.value();
// QVectorIterator<_INTERFACE*> it2(pou->GetAllRunningInterfaces());
// while (it2.hasNext())
// {
// const VARIABLE* var = it2.next();
// qDebug() << "\t" << var->strName << " - " << var->bSerialized
// << " " << Utility::getStringByType(var->value.Type)
// << " " << var->getValueString() << " " << var->strComment;
// }
//}
//qDebug() << "=============================================================\n";
}
//
//QHash* VPGlobal::VariableManager()
//{
// return m_pVariableManagers->getAllVariables();
//}