|
- #ifndef HMIMODULE_H
- #define HMIMODULE_H
-
- #include <QObject>
- #include "ui_MainWindow.h"
- #include "customgraphicsscene.h"
- #include <QList>
- #include <QMap>
- #include <QVector>
-
- class HMIModule : public QObject
- {
- Q_OBJECT
- public:
- explicit HMIModule(Ui::MainWindow* ui, QObject *parent = nullptr);
- void setButtonIcon(QAbstractButton* button, const QString& iconPath);
- void init();
-
- signals:
- void pageAdded(int pageNumber, int index);
- void pageRemoved(int pageNumber, int index);
- void logMessageGenerated(const QString& message); // 确保此行存在
-
- private slots:
- void prepareToCreateButton();
- void prepareToCreateIndicator();
- void onComponentCreated(HmiComponent* item);
- void onComponentSelected(HmiComponent* item);
- void onCopyRequested();
- void onPasteRequested(const QPointF& scenePos);
- void onDeleteRequested();
-
- // 新增的槽函数
- void addPage();
- void deletePage();
- void prePage();
- void nextPage();
-
- // 新增的槽函数
- void onPageAdded(int pageNumber, int index);
- void onPageRemoved(int pageNumber, int index);
-
- private:
- void setupNewComponent(HmiComponent* item);
-
- private:
- Ui::MainWindow* ui_;
- CustomGraphicsScene* m_scene;
- ComponentType m_copiedType;
- QColor m_copiedColor;
- bool m_hasCopiedItem = false;
- int m_pageCount = 1; // 初始化页面计数器
- QList<int> m_availablePageNumbers; // 存储可用的页面编号 (有序列表)
- QList<int> m_pageOrder; // 维护页面顺序
- };
-
- #endif // HMIMODULE_H
|