PlanData.h 1.5 KB

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