#ifndef __COMPAREITEMDATA_H__ #define __COMPAREITEMDATA_H__ #include "GlobalVariable.h" #include "spdlog/spdlog.h" /* 对比项数据,管理对比项所有的数据 */ #define CIData CompareItemDataManager::instance() class CompareItemDataManager { CompareItemDataManager() = default; CompareItemDataManager(const CompareItemDataManager&) = delete; CompareItemDataManager& operator=(const CompareItemDataManager&) = delete; public: ~CompareItemDataManager() = default; static CompareItemDataManager& instance() { static CompareItemDataManager instance; return instance; } /* 初始化 */ bool init(); /* 添加一个对比项 */ bool addCompareItem(const CompareItemInfo_t& item); /* 根据对比项ID删除一个对比项 */ bool removeCompareItem(int nID); /* 通过一个ID查找一个对比项 */ CompareItemInfo_t findCompareItemByID(int nID) const; /* 通过一个ID判断该对比项是否存在 */ bool isCompareItemExist(int nID) const; /* 修改一个对比项 */ bool modifyCompareItem(const CompareItemInfo_t& item); /* 获取一个未使用的对比项ID */ int getUnusedCompareItemID() const; /* 获取表格需要的对比项数据 */ QList getCompareItemTableData() const; private: std::shared_ptr m_logger = nullptr; /* 对比项列表 */ QList m_listCompareItems; }; #endif // __COMPAREITEMDATA_H__