#ifndef PROJECTDIALOG_H #define PROJECTDIALOG_H #include #include #include #include #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 SetComboBoxAddress(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); signals: void validateDetNum(const QMap &data); void validateDetNumUpdate(const QMap &data); private: void fillComboBox(QComboBox *comboBox, const QJsonArray &jsonArray); void SetComboBoxAddress2(const QString &parentName); void SetComboBoxAddress3(const QString &childName); void validateInput(); private: Ui::ProjectDialog *ui; QString blasterId; QString operatorId; QJsonArray blasterArray; QJsonArray operatorArray; QJsonArray dataOptions; QJsonArray parentOptions; QJsonArray childOptions; QJsonArray grandChildOptions; int operationStatus; }; #endif // PROJECTDIALOG_H