2025-02-06 16:36:50 +08:00
|
|
|
#ifndef ITEMPROPERTYDLG_H
|
|
|
|
|
#define ITEMPROPERTYDLG_H
|
|
|
|
|
|
|
|
|
|
#include <QDialog>
|
|
|
|
|
#include <QMetaType>
|
2025-04-03 18:33:10 +08:00
|
|
|
#include <QButtonGroup>
|
|
|
|
|
#include <QVBoxLayout>
|
|
|
|
|
#include "global.h"
|
2025-02-06 16:36:50 +08:00
|
|
|
|
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
|
namespace Ui { class itemPropertyDlg; }
|
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
|
|
2025-06-13 19:00:05 +08:00
|
|
|
class GraphicsProjectModelItem;
|
2025-04-09 16:20:34 +08:00
|
|
|
|
2025-02-06 16:36:50 +08:00
|
|
|
struct PropertyInfo
|
|
|
|
|
{
|
|
|
|
|
double resistance = 0; //电阻 DEFAULT 2,
|
|
|
|
|
bool anchor_v = false; //是否锚定电压 DEFAULT FALSE,
|
|
|
|
|
double uv_alarm = 0; //电压下限 DEFAULT 90,
|
|
|
|
|
double ov_alarm = 0; //电压上限 DEFAULT 110,
|
|
|
|
|
bool anchor_i = false; //是否锚定电流 DEFAULT FALSE,
|
|
|
|
|
double ui_alarm = 0; //电流下限 DEFAULT 45,
|
|
|
|
|
double oi_alarm = 0; //电流上限 DEFAULT 55,
|
|
|
|
|
};
|
|
|
|
|
Q_DECLARE_METATYPE(PropertyInfo);
|
|
|
|
|
|
|
|
|
|
class ItemPropertyDlg : public QDialog
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
ItemPropertyDlg(QWidget *parent = nullptr);
|
|
|
|
|
~ItemPropertyDlg();
|
|
|
|
|
|
2025-04-03 18:33:10 +08:00
|
|
|
void initial();
|
|
|
|
|
void loadGroupButton(QMap<QString,groupStateInfo>); //加载属性组列表
|
|
|
|
|
void createGroupView(const QString&); //创建属性页
|
2025-06-13 19:00:05 +08:00
|
|
|
void showDlg(modelDataInfo,QUuid,GraphicsProjectModelItem*); //显示属性页面
|
2025-02-06 16:36:50 +08:00
|
|
|
signals:
|
|
|
|
|
void PropertyChange(const PropertyInfo);
|
|
|
|
|
public slots:
|
|
|
|
|
void onOkClicked();
|
|
|
|
|
void onCancelClicked();
|
2025-04-03 18:33:10 +08:00
|
|
|
void onGroupSelected(const QString&);
|
2025-02-06 16:36:50 +08:00
|
|
|
private:
|
|
|
|
|
Ui::itemPropertyDlg *ui;
|
|
|
|
|
|
2025-04-03 18:33:10 +08:00
|
|
|
QVBoxLayout* layout_;
|
|
|
|
|
QButtonGroup* btnGroup_;
|
|
|
|
|
QMap<QString, QAbstractButton*> btnMap_;
|
|
|
|
|
|
|
|
|
|
QMap<QString, QWidget*> groupViews_; //stack中存储的属性页
|
|
|
|
|
QMap<QString,groupStateInfo> groupInfo_; //属性组结构信息
|
|
|
|
|
QMap<QString,groupStateValue> groupValue_; //属性数据
|
|
|
|
|
QUuid curUuid_; //当前显示对象的uuid
|
|
|
|
|
QString _curModel; //当前模型名
|
2025-06-13 19:00:05 +08:00
|
|
|
GraphicsProjectModelItem* _curItem;
|
2025-02-06 16:36:50 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|