#ifndef CREATEPROJWIDGET_H #define CREATEPROJWIDGET_H #include class QVBoxLayout; class QHBoxLayout; class QGridLayout; class QLabel; class LineEdit; class CheckBox; class PushButton; /// 创建工程页面 class CreateProjWidget : public QDialog { Q_OBJECT public: CreateProjWidget(QWidget *parent = nullptr); const QString projName() const; bool importanceSelected() const; bool schemeSelected() const; void clearInputs(); signals: void signalCreate(); private: void initWindow(); void initialize(); void initLayout(); void connectSignalsAndSlots(); void updateCreateButtonState(); private slots: void slotTextChanged(const QString &text); void slotCheckBoxChanged(int state); void slotCreateClicked(); void slotCancelClicked(); private: QVBoxLayout *m_vBoxLayout = nullptr; QGridLayout *m_gridLayout = nullptr; QLabel *m_nameLabel = nullptr; QLabel *m_typeLabel = nullptr; LineEdit *m_nameLineEdit = nullptr; CheckBox *m_importanceCheckBox = nullptr; CheckBox *m_capaCheckBox = nullptr; CheckBox *m_techCheckBox = nullptr; CheckBox *m_schemeCheckBox = nullptr; QHBoxLayout *m_buttonLayout = nullptr; PushButton *m_createButton = nullptr; PushButton *m_cancelButton = nullptr; }; #endif // CREATEPROJWIDGET_H