#include "PouManager.h" #include "Pou.h" #include "WindowAppPouScene.h" PouManager::PouManager() { m_pHardwarePou = nullptr; } /// /// 注册Pou信息 /// /// void PouManager::registerPou(POU* pPou) { Q_ASSERT(pPou != nullptr); m_Pous.insert(pPou->pouName(), pPou); } /// /// 注册硬件Pou /// /// void PouManager::registerHdwPou(POU* pPou) { m_pHardwarePou = pPou; } /// /// 获取Pou数据结构 /// /// QMap& PouManager::getAllPous() { return m_Pous; } /// /// 获取Hardware Pou /// /// POU* PouManager::getHdwPou() { return m_pHardwarePou; } /// /// 根据名字获取指定的Pou /// /// /// POU* PouManager::getPouByName(const QString& strName) { return m_Pous.value(strName); } /// /// 2022-6-12,获取指定Pou的Scene指针 /// /// /// WindowAppPouScene* PouManager::getPouSceneByName(const QString& strName) { return (m_Pous.value(strName))->parentScene(); } /// /// 移除指定的Pou /// /// void PouManager::RemovePou(const QString& strName) { m_Pous.remove(strName); } /// /// 重置所有Pou数据结构 /// void PouManager::resetAllPous() { // m_Pous.clear(); // 2022-2-24 重置过程需要跳过硬件组态 for (QMap::iterator it = m_Pous.begin(); it != m_Pous.end();) { if (it.key() != GROUP_NAME_HARDWARE) { it = m_Pous.erase(it); } else { it++; } } } /// /// 是否本分组是否Pou中的一个 /// /// /// bool PouManager::isPou(const QString& strName) { return m_Pous.contains(strName); }