123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #ifndef PROJECTDIALOG_H
- #define PROJECTDIALOG_H
- #include <QComboBox>
- #include <QDialog>
- #include <QHash>
- #include <QJsonArray>
- #include <QJsonObject>
- #include <QStandardItem>
- #include <QStringList>
- #include "../regex.h"
- #include "hproject.h"
- namespace Ui {
- class ProjectDialog;
- }
- class ProjectDialog : public QDialog {
- Q_OBJECT
- public:
- explicit ProjectDialog(QWidget *parent = nullptr);
- ~ProjectDialog();
- void SetComboBoxBlast(const QJsonArray &bapoYuan);
- void SetComboBoxOperator(const QJsonArray &anQuanYuanArray);
- void SetL1AddressOptions(const QJsonArray &parentOptions);
- void setChildOptions(const QJsonArray &newChildOptions);
- void clearFormData();
- void setFormData(const HProject &Project);
- int getOperationStatus() const;
- void setOperationStatus(int newOperationStatus);
- private slots:
- void on_comboBoxAddr_currentIndexChanged(int index);
- void on_comboBoxAddr_2_currentIndexChanged(int index);
- void on_comboBoxOperator_currentIndexChanged(int index);
- void on_comboBoxBlast_currentIndexChanged(int index);
- void onBlasterItemChanged(QStandardItem *item);
- void onOperatorItemChanged(QStandardItem *item);
- signals:
- void validateDetNum(const QMap<QString, QString> &data);
- void validateDetNumUpdate(const QMap<QString, QString> &data);
- private:
- void fillComboBox(QComboBox *comboBox, const QJsonArray &jsonArray);
- void updateL2AddressOptions();
- void updateL3AddressOptions();
- void validateAndSaveProject();
- void extractNames(const QJsonArray &array, QStringList &names);
- void updateSelectedBlasters();
- void updateSelectedOperators();
- private:
- Ui::ProjectDialog *ui;
- QString blasterId;
- QString operatorId;
- QJsonArray blasterArray;
- QJsonArray operatorArray;
- QJsonArray dataOptions;
- QJsonArray parentOptions;
- QJsonArray childOptions;
- QJsonArray grandChildOptions;
- QJsonArray L1AddressOptions;
- QJsonArray L2AddressOptions;
- QJsonArray L3AddressOptions;
- QHash<QString, QString> nameLoraSnMap;
- int operationStatus;
- // 多选相关变量
- QStringList selectedBlasters;
- QStringList selectedOperators;
- QStringList blasterIds;
- QStringList operatorIds;
- };
- #endif // PROJECTDIALOG_H
|