diagramBackup/diagramCavas/include/itemPropertyDlg.h

59 lines
1.8 KiB
C
Raw Permalink Normal View History

2025-02-06 16:36:50 +08:00
#ifndef ITEMPROPERTYDLG_H
#define ITEMPROPERTYDLG_H
#include <QDialog>
#include <QMetaType>
#include <QButtonGroup>
#include <QVBoxLayout>
2026-03-13 08:31:37 +08:00
//#include "global.h"
#include "common/backend/project_model.h"
#include "common/core_model/data_transmission.h"
2025-02-06 16:36:50 +08:00
QT_BEGIN_NAMESPACE
namespace Ui { class itemPropertyDlg; }
QT_END_NAMESPACE
class GraphicsProjectModelItem;
2025-07-04 18:47:49 +08:00
class FixedPortsModel;
2025-02-06 16:36:50 +08:00
class ItemPropertyDlg : public QDialog
{
Q_OBJECT
public:
ItemPropertyDlg(QWidget *parent = nullptr);
~ItemPropertyDlg();
void initial();
2026-03-13 08:31:37 +08:00
void loadGroupButton(QMap<QString,GroupStateInfo>); //加载属性组列表
void createGroupView(const QString&); //创建属性页
2026-03-13 08:31:37 +08:00
void showDlg(ModelDataInfo,QUuid,GraphicsProjectModelItem*); //显示属性页面
2025-07-04 18:47:49 +08:00
void setModelController(FixedPortsModel* p) {_curModelController = p;}
auto getModelController() {return _curModelController;}
2025-10-17 18:14:44 +08:00
auto getCurItem() {return _curItem;}
2025-12-19 18:28:13 +08:00
2025-02-06 16:36:50 +08:00
public slots:
void onOkClicked();
void onCancelClicked();
void onGroupSelected(const QString&);
2025-12-19 18:28:13 +08:00
void onHttpDataUpdated(HttpRecommandInfo); //更新推荐列表
2025-02-06 16:36:50 +08:00
private:
Ui::itemPropertyDlg *ui;
QVBoxLayout* layout_;
QButtonGroup* btnGroup_;
QMap<QString, QAbstractButton*> btnMap_;
QMap<QString, QWidget*> groupViews_; //stack中存储的属性页
2026-03-13 08:31:37 +08:00
QMap<QString,GroupStateInfo> groupInfo_; //属性组结构信息
QMap<QString,GroupStateValue> groupValue_; //属性数据
QUuid curUuid_; //当前显示对象的uuid
QString _curModel; //当前模型名
GraphicsProjectModelItem* _curItem;
2025-07-04 18:47:49 +08:00
FixedPortsModel* _curModelController;
2025-12-19 18:28:13 +08:00
QString _curGroup; //当前属性组
2025-02-06 16:36:50 +08:00
};
#endif