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