PowerModeler/include/modelInfoEditDialog.h

73 lines
1.6 KiB
C++

#ifndef MODELINFOEDITDIALOG_H
#define MODELINFOEDITDIALOG_H
#include <QDialog>
#include "global.h"
QT_BEGIN_NAMESPACE
namespace Ui {
class ModelInfoEditDialog;
}
QT_END_NAMESPACE
class MainWindow;
class MaskLayer;
class QListWidgetItem;
class CustomBorderContainer;
class QSvgRenderer;
class ModelInfoEditDialog : public QDialog
{
Q_OBJECT
public:
ModelInfoEditDialog(QWidget *parent = nullptr);
~ModelInfoEditDialog();
void setState(DialogState 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();
void refreshComponentTypeList();
void previewSVG(QSvgRenderer&);
Ui::ModelInfoEditDialog* ui;
DialogState m_state;
MaskLayer* m_pMaskLayer;
MainWindow* m_pMainWindow;
int m_curModelID;
//一些用来支撑修改信息时的变量
QString m_oldName;
QString m_oldType;
QByteArray m_oldIconData;
QVector<int> m_oldGroups;
CustomBorderContainer* m_customBorderContainer;
signals:
void addModel(Model&);
void updateModelNodeText(int, const QString&, const QString&);
void updateModelGroups(int, const QVector<int>&, const QVector<int>&);
public slots:
void onBtnClicked_selectImage();
void onBtnClicked_save();
void onBtnClicked_cancle();
void onBtnClicked_addGroup();
void onBtnClicked_removeSelected();
void onItemDblCliked_sourceList(QListWidgetItem*);
};
#endif //MODELINFOEDITDIALOG_H