PowerModeler/include/modelInfoEditDialog.h

73 lines
1.6 KiB
C
Raw Normal View History

2025-03-14 16:06:20 +08:00
#ifndef MODELINFOEDITDIALOG_H
#define MODELINFOEDITDIALOG_H
#include <QDialog>
#include "global.h"
QT_BEGIN_NAMESPACE
namespace Ui {
class ModelInfoEditDialog;
}
QT_END_NAMESPACE
2025-04-18 18:44:26 +08:00
class MainWindow;
2025-04-21 14:29:20 +08:00
class MaskLayer;
2025-04-18 18:44:26 +08:00
class QListWidgetItem;
class CustomBorderContainer;
class QSvgRenderer;
2025-04-18 18:44:26 +08:00
2025-03-14 16:06:20 +08:00
class ModelInfoEditDialog : public QDialog
{
Q_OBJECT
public:
ModelInfoEditDialog(QWidget *parent = nullptr);
~ModelInfoEditDialog();
void setState(DialogState state);
2025-03-14 16:06:20 +08:00
void setMainWindow(MainWindow*);
2025-04-18 18:44:26 +08:00
void setModel(int);
2025-03-14 16:06:20 +08:00
2025-04-21 14:29:20 +08:00
Q_INVOKABLE void showMask();
Q_INVOKABLE void hideMask();
2025-03-14 16:06:20 +08:00
protected:
virtual void showEvent(QShowEvent*);
private:
void initialize();
void setErrorInfo(const QString&);
void resetUI();
void refreshGroupList();
void refreshComponentTypeList();
void previewSVG(QSvgRenderer&);
2025-03-14 16:06:20 +08:00
Ui::ModelInfoEditDialog* ui;
DialogState m_state;
2025-04-21 14:29:20 +08:00
MaskLayer* m_pMaskLayer;
2025-03-14 16:06:20 +08:00
MainWindow* m_pMainWindow;
int m_curModelID;
//一些用来支撑修改信息时的变量
QString m_oldName;
QString m_oldType;
QByteArray m_oldIconData;
QVector<int> m_oldGroups;
2025-03-14 16:06:20 +08:00
2025-04-18 18:44:26 +08:00
CustomBorderContainer* m_customBorderContainer;
2025-03-14 16:06:20 +08:00
signals:
void addModel(Model&);
void updateModelNodeText(int, const QString&, const QString&);
void updateModelGroups(int, const QVector<int>&, const QVector<int>&);
2025-03-14 16:06:20 +08:00
public slots:
void onBtnClicked_selectImage();
2025-03-14 16:06:20 +08:00
void onBtnClicked_save();
void onBtnClicked_cancle();
void onBtnClicked_addGroup();
void onBtnClicked_removeSelected();
void onItemDblCliked_sourceList(QListWidgetItem*);
};
#endif //MODELINFOEDITDIALOG_H