PlanData.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. void clearAllSelectedCard();
  28. /* 查找卡片 */
  29. PlanCard* findPlanCard(int channelID);
  30. /* 获取当前选中的卡片 */
  31. PlanCard* getCurrentPlanCard() { return findPlanCard(m_currentFrequencyID); }
  32. /* 新增一个计划 */
  33. void addPlanItem(int channelID, const PlanInfo& info);
  34. /* 设置每个卡片的大小 */
  35. void setCardSize(int width, int height);
  36. private slots:
  37. /* 点击了一个卡片 */
  38. void do_clickedCard(int channelID);
  39. private:
  40. QMap<int, PlanCard*> m_mapPlanCard; /* 计划卡片 */
  41. int m_currentFrequencyID = 0; /* 当前频率ID */
  42. };
  43. #endif /* PLANDATA_H */