CompareItemData.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #ifndef __COMPAREITEMDATA_H__
  2. #define __COMPAREITEMDATA_H__
  3. #include "GlobalVariable.h"
  4. #include "spdlog/spdlog.h"
  5. /* 对比项数据,管理对比项所有的数据 */
  6. #define CIData CompareItemDataManager::instance()
  7. class CompareItemDataManager
  8. {
  9. CompareItemDataManager() = default;
  10. CompareItemDataManager(const CompareItemDataManager&) = delete;
  11. CompareItemDataManager& operator=(const CompareItemDataManager&) = delete;
  12. public:
  13. ~CompareItemDataManager() = default;
  14. static CompareItemDataManager& instance()
  15. {
  16. static CompareItemDataManager instance;
  17. return instance;
  18. }
  19. /* 初始化 */
  20. bool init();
  21. /* 添加一个对比项 */
  22. bool addCompareItem(const CompareItemInfo_t& item);
  23. /* 根据对比项ID删除一个对比项 */
  24. bool removeCompareItem(int nID);
  25. /* 通过一个ID查找一个对比项 */
  26. CompareItemInfo_t findCompareItemByID(int nID) const;
  27. /* 通过一个ID判断该对比项是否存在 */
  28. bool isCompareItemExist(int nID) const;
  29. /* 修改一个对比项 */
  30. bool modifyCompareItem(const CompareItemInfo_t& item);
  31. /* 获取一个未使用的对比项ID */
  32. int getUnusedCompareItemID() const;
  33. private:
  34. std::shared_ptr<spdlog::logger> m_logger = nullptr;
  35. /* 对比项列表 */
  36. QList<CompareItemInfo_t> m_listCompareItems;
  37. };
  38. #endif // __COMPAREITEMDATA_H__