CompareItemData.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #ifndef __COMPAREITEMDATA_H__
  2. #define __COMPAREITEMDATA_H__
  3. #include "GlobalVariable.h"
  4. #include "spdlog/spdlog.h"
  5. /*
  6. 对比项数据,管理对比项所有的数据
  7. 服务里没用到,只在设置动态库中使用到了
  8. */
  9. #define CIData CompareItemDataManager::instance()
  10. class CompareItemDataManager
  11. {
  12. CompareItemDataManager() = default;
  13. CompareItemDataManager(const CompareItemDataManager&) = delete;
  14. CompareItemDataManager& operator=(const CompareItemDataManager&) = delete;
  15. public:
  16. ~CompareItemDataManager() = default;
  17. static CompareItemDataManager& instance()
  18. {
  19. static CompareItemDataManager instance;
  20. return instance;
  21. }
  22. /* 初始化 */
  23. bool init();
  24. /* 添加一个对比项 */
  25. bool addCompareItem(const CompareItemInfo_t& item);
  26. /* 根据对比项ID删除一个对比项 */
  27. bool removeCompareItem(int nID);
  28. /* 通过一个ID查找一个对比项 */
  29. CompareItemInfo_t findCompareItemByID(int nID) const;
  30. /* 通过一个ID判断该对比项是否存在 */
  31. bool isCompareItemExist(int nID) const;
  32. /* 修改一个对比项 */
  33. bool modifyCompareItem(const CompareItemInfo_t& item);
  34. /* 获取一个未使用的对比项ID */
  35. int getUnusedCompareItemID() const;
  36. /* 获取表格需要的对比项数据 */
  37. QList<CompareItemTableItem_t> getCompareItemTableData() const;
  38. /* 获取未修改过的对比项列表 */
  39. const QList<CompareItemInfo_t>& getSrcCompareItemList() const { return m_listSrcCompareItems; }
  40. /* 获取当前对比项列表 */
  41. const QList<CompareItemInfo_t>& getCompareItemList() const { return m_listCompareItems; }
  42. /* 设置对比项列表 */
  43. void setCompareItemList(const QList<CompareItemInfo_t>& listItems);
  44. private:
  45. std::shared_ptr<spdlog::logger> m_logger = nullptr;
  46. /* 对比项列表 */
  47. QList<CompareItemInfo_t> m_listCompareItems;
  48. /* 对比项未修改的数据 */
  49. QList<CompareItemInfo_t> m_listSrcCompareItems; // 用于对比修改前后的数据
  50. };
  51. #endif // __COMPAREITEMDATA_H__