#ifndef MODELINFOEDITDIALOG_H #define MODELINFOEDITDIALOG_H #include #include "global.h" QT_BEGIN_NAMESPACE namespace Ui { class ModelInfoEditDialog; } QT_END_NAMESPACE class MainWindow; class MaskLayer; class QListWidgetItem; class CustomBorderContainer; class ModelInfoEditDialog : public QDialog { Q_OBJECT public: ModelInfoEditDialog(QWidget *parent = nullptr); ~ModelInfoEditDialog(); void setState(DialogState state) {m_state = state;} void setMainWindow(MainWindow*); void setModel(int); Q_INVOKABLE void showMask(); Q_INVOKABLE void hideMask(); protected: virtual void showEvent(QShowEvent*); private: void initialize(); void setErrorInfo(const QString&); void resetUI(); void refreshGroupList(); Ui::ModelInfoEditDialog* ui; DialogState m_state; MaskLayer* m_pMaskLayer; MainWindow* m_pMainWindow; int m_curModelID; CustomBorderContainer* m_customBorderContainer; signals: void addModel(Model&); public slots: void onBtnClicked_save(); void onBtnClicked_cancle(); void onBtnClicked_addGroup(); void onBtnClicked_removeSelected(); void onItemDblCliked_sourceList(QListWidgetItem*); }; #endif //MODELINFOEDITDIALOG_H