123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- #pragma once
- #ifndef TEMPLATE_PROGRAM_PAGE
- #define TEMPLATE_PROGRAM_PAGE
- //#include "Src/Sql/SqlOperation.h"
- #include "CViewInterface.h"
- #include "Src/RewriteControl/Controls/SpinBox.h"
- #include "Src/RewriteControl/Controls/DoubleSpinBox.h"
- #include "ui_TemplateProgramPage.h"
- #include "CModule.h"
- #include "CCamerAndLamp.h"
- #include "Src/common/JMessageTip.h"
- #include <QWidget>
- #include <QGroupBox>
- #include <QCheckBox>
- #include <QLabel>
- #include <QFileDialog>
- //#include <QTextStream>
- #include <QHeaderView>
- #include <QTableWidget>
- #include <QPushButton>
- #include <QVBoxLayout>
- #include <QHBoxLayout>
- //#include <QSqlQuery>
- //#include <QJsonDocument>
- //#include <QJsonObject>
- #include <QMessageBox>
- //#include <QtWidgets/qcombobox.h>
- #include <QComboBox.h>
- #include <unordered_map>
- class TemplateProgramPage : public QWidget {
- Q_OBJECT
- public:
- explicit TemplateProgramPage(QWidget* parent = nullptr);
- private:
- void AddPrStrategyPage(int vectorIndex, _PR_STRATEGY prStrategy);
- void AddPrTemplatePage(int vectorIndex, PR_TEMPLATE& prTemplate);
- void UpdatePrStrategyUI();
- void UpdatePrTemplateUI(int vectorIndex, PR_TEMPLATE prTemplate);
- // 初始化数据
- void initPage();
- bool eventFilter(QObject* obj, QEvent* event);
- void setSelectedStyle(QWidget* selectedWidget);
- LONG DeletePrTemplate(UINT iTemplateId);
- LONG DeleteStrategy(UINT iStrategyId);
- LONG CreateTemplate(UINT _choseCameraId, int stratIndex);
- void refreshCurrentTabLayout();
- void TemplateMoveToXYZRAxisPosition(UINT iModuleType, X_Y_Z_R_STRUCT pos);
- private slots:
- void showLargeImage(const QPixmap& pixmap, int index);
- void closeLargeImage();
- void updateComboBox(UINT currentStrategyId);
- void onMoveTemplate(QWidget* pageWidget, bool moveLeft);
- void onAddStrategyClicked();
- void onDeleteStrategyClicked();
- void onAddTemplateClicked();
- public:
- bool m_StrategyOrTemplateChanged = false;
- private:
- Ui::TemplateProgramPageClass ui;
- CManageDB* m_manageDB = nullptr;
- CProduct* m_pProduct = nullptr;
- ns_module::CCamerAndLamp* m_CamerAndLamp = nullptr;
- ns_module::CViewInterface* m_pTemplateCViewInterface = nullptr;
- static std::unordered_map<int, bool> m_IdIsUsedMap;
- bool m_isInitializing = false;
- std::vector<ns_db::PR_STRATEGY> m_vecPrStrategy;
- std::vector<ns_db::PR_TEMPLATE> m_vecPrTemplate;
- ns_db::PR_STRATEGY* curentPrStrategy = nullptr;
- //QMap<int, vector<QWidget*> > m_mapStrategyIdToTemplateWidgetVec;//PrStrategyID 和 每个模板widget的对应 : 都不会重复
- QMap<int, QWidget*> m_mapIndexPrStrategyWidget;//PrStrategyID 和 每个模板widget的对应
- QMap<QWidget*, int> m_mapPrStrategyWidgetIndex;//每个模板widget的对应 和 PrStrategyID
- QMap<int, QWidget*> m_mapIndexPrTemplateWidget;//PrTemplateID 和 每个模板widget的对应
- QMap<QWidget*, int> m_mapPrTemplateWidgetIndex;//PrTemplateID 和 每个模板widget的对应
- QWidget* m_currentSelectedWidget = nullptr; // 用于追踪当前选中的outWidget
- // Tab 页中,放所有 outWidget 的容器布局
- QTabWidget * ui_tabWidget = nullptr;
- QVector<QLabel*> m_imageLabels;
- QVector<QPixmap> m_imagePixmaps;
- QVBoxLayout* layout = nullptr;
- QDialog* largeImageDialog = nullptr;
- QLabel* largeImageLabel = nullptr;
- QMap<QGroupBox*, int> m_mapWaferGroupBoxIndex;
- };
- #endif // TEMPLATE_PROGRAM_PAGE
|