PlanData.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef PLANDATA_H
  2. #define PLANDATA_H
  3. #include "plancard.h"
  4. #define PData PlanData::getInstance()
  5. class PlanData : public QObject
  6. {
  7. Q_OBJECT
  8. PlanData();
  9. PlanData(const PlanData& data) = delete;
  10. PlanData& operator=(const PlanData& data) = delete;
  11. public:
  12. ~PlanData() {}
  13. static PlanData& getInstance()
  14. {
  15. static PlanData instance;
  16. return instance;
  17. }
  18. /* 新增一个卡片 */
  19. PlanCard* createOneCard(const ChannelInfo& chnInfo);
  20. /* 删除一个卡片 */
  21. void deleteOneCard(int channelID);
  22. /* 清空一个卡片的计划 */
  23. void clearOnePlanItem(int channelID);
  24. /* 清空所有的计划 */
  25. void clearAllPlanItem();
  26. /* 查找卡片 */
  27. PlanCard* findPlanCard(int channelID);
  28. /* 获取当前选中的卡片 */
  29. PlanCard* getCurrentPlanCard() { return findPlanCard(m_currentFrequencyID); }
  30. /* 新增一个计划 */
  31. void addPlanItem(int channelID, const PlanInfo& info);
  32. /* 设置每个卡片的大小 */
  33. void setCardSize(int width, int height);
  34. private slots:
  35. /* 点击了一个卡片 */
  36. void do_clickedCard(int channelID);
  37. private:
  38. QMap<int, PlanCard*> m_mapPlanCard; /* 计划卡片 */
  39. int m_currentFrequencyID = 0; /* 当前频率ID */
  40. };
  41. #endif /* PLANDATA_H */