#ifndef PLANDATA_H #define PLANDATA_H #include "plancard.h" #define PData PlanData::getInstance() class PlanData : public QObject { Q_OBJECT PlanData(); PlanData(const PlanData& data) = delete; PlanData& operator=(const PlanData& data) = delete; public: ~PlanData() {} static PlanData& getInstance() { static PlanData instance; return instance; } /* 新增一个卡片 */ PlanCard* createOneCard(const ChannelInfo& chnInfo); /* 删除一个卡片 */ void deleteOneCard(int channelID); /* 删除所有的卡片 */ void deleteAllCard(); /* 清空一个卡片的计划 */ void clearOnePlanItem(int channelID); /* 清空所有的计划 */ void clearAllPlanItem(); /* 清空所有卡片选中状态 */ void clearAllSelectedCard(); /* 查找卡片 */ PlanCard* findPlanCard(int channelID); /* 获取当前选中的卡片 */ PlanCard* getCurrentPlanCard() { return findPlanCard(m_currentFrequencyID); } /* 新增一个计划 */ void addPlanItem(int channelID, const PlanInfo& info); /* 设置每个卡片的大小 */ void setCardSize(int width, int height); private slots: /* 点击了一个卡片 */ void do_clickedCard(int channelID); private: QMap m_mapPlanCard; /* 计划卡片 */ int m_currentFrequencyID = 0; /* 当前频率ID */ }; #endif /* PLANDATA_H */