DiagramDesigner/diagramCavas/include/bayInfoDlg.h

48 lines
1.5 KiB
C++

#ifndef BAYINFODLG_H
#define BAYINFODLG_H
#include <QWidget>
#include "baseContentDlg.h"
#include "global.h"
/*******************************************************
间隔信息
********************************************************/
QT_BEGIN_NAMESPACE
namespace Ui { class bayInfoDlg; }
QT_END_NAMESPACE
class MeasureSettingDlg;
class BayProperty;
class BayInfoDlg : public BaseContentDlg
{
Q_OBJECT
public:
BayInfoDlg(QWidget *parent = nullptr);
virtual ~BayInfoDlg();
virtual void createGroupView(groupStateInfo);
virtual QMap<QString,propertyStateInfo> getPropertyValue(BaseProperty* = nullptr); //返回当前页面的属性值
virtual void setPropertyValue(QVariant);
auto& getValidType() {return _validType;} //获取可用的量测属性
void setUi();
void addMeasure(MeasurementInfo,int mode = 0); //mode:0新建1修改
void addOtherMeasure(QStringList); //本间隔的其他量测
BaseProperty* getProperty() {return _itemProperty;}
public slots:
void onAddClicked();
void onDeleteClicked();
void onModifyClicked();
void onIndexRbtnClicked(const QPoint &pos); //索引列表右键菜单
private:
void initial();
private:
Ui::bayInfoDlg *ui;
BayProperty* _bayProperty; //当前间隔属性
BaseProperty* _itemProperty; //当前对象属性
MeasureSettingDlg* _measureDlg;
QList<measureAttributeType> _validType; //可用的属性列表
QMap<QString,MeasurementInfo> _mapMeasure; //量测列表
};
#endif