#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; /* 获取未修改过的对比项列表 */ const QList& getSrcCompareItemList() const { return m_listSrcCompareItems; } /* 获取当前对比项列表 */ const QList& getCompareItemList() const { return m_listCompareItems; } /* 设置对比项列表 */ void setCompareItemList(const QList& listItems); private: std::shared_ptr m_logger = nullptr; /* 对比项列表 */ QList m_listCompareItems; /* 对比项未修改的数据 */ QList m_listSrcCompareItems; // 用于对比修改前后的数据 }; #endif // __COMPAREITEMDATA_H__