综合平台编辑器
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

49 linhas
1.2 KiB

  1. #ifndef HMIMODULE_H
  2. #define HMIMODULE_H
  3. #include <QObject>
  4. #include "ui_MainWindow.h"
  5. #include "customgraphicsscene.h"
  6. #include <QList> // 引入 QList
  7. class HMIModule : public QObject
  8. {
  9. Q_OBJECT
  10. public:
  11. explicit HMIModule(Ui::MainWindow* ui, QObject *parent = nullptr);
  12. void setButtonIcon(QAbstractButton* button, const QString& iconPath);
  13. void init();
  14. private slots:
  15. void prepareToCreateButton();
  16. void prepareToCreateIndicator();
  17. void onComponentCreated(HmiComponent* item);
  18. void onComponentSelected(HmiComponent* item);
  19. void onCopyRequested();
  20. void onPasteRequested(const QPointF& scenePos);
  21. void onDeleteRequested();
  22. // 新增的槽函数
  23. void addPage();
  24. void deletePage();
  25. void prePage();
  26. void nextPage();
  27. signals:
  28. void logMessageGenerated(const QString& message);
  29. private:
  30. void setupNewComponent(HmiComponent* item);
  31. private:
  32. Ui::MainWindow* ui_;
  33. CustomGraphicsScene* m_scene;
  34. ComponentType m_copiedType;
  35. QColor m_copiedColor;
  36. bool m_hasCopiedItem = false;
  37. int m_pageCount = 1; // 初始化页面计数器
  38. QList<int> m_availablePageNumbers; // 用于存储可用的页面编号 (有序列表)
  39. };
  40. #endif // HMIMODULE_H