PlanData.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. void addPlanItem(int channelID, const PlanInfo& info);
  36. /* 设置每个卡片的大小 */
  37. void setCardSize(int width, int height);
  38. private slots:
  39. /* 点击了一个卡片 */
  40. void do_clickedCard(int channelID);
  41. private:
  42. QMap<int, PlanCard*> m_mapPlanCard; /* 计划卡片 */
  43. int m_currentFrequencyID = 0; /* 当前频率ID */
  44. };
  45. #endif /* PLANDATA_H */