DiagramDesigner/diagramCavas/include/graphicsItem/electricSvgItemRect.h

96 lines
4.0 KiB
C++

#ifndef ELECTRICSVGITEMRECT_H
#define ELECTRICSVGITEMRECT_H
#include "electricSvgItem.h"
#include "itemPropertyDlg.h"
class ElectricSvgItemRect_Property: public BaseProperty
{
Q_OBJECT
public:
ElectricSvgItemRect_Property(QObject* parent);
~ElectricSvgItemRect_Property();
void setComponent_id(int n) {componentId = n;}
int component_id() const {return componentId;}
void setResistance(double d){resistance = d;}
double getResistance() const {return resistance;}
void setAnchor_v(bool b){anchor_v = b;}
bool getAnchor_v() const {return anchor_v;}
void setUv_alarm(double d){uv_alarm = d;}
double getUv_alarm() const {return uv_alarm;}
void setOv_alarm(double d){ov_alarm = d;}
double getOv_alarm() const {return ov_alarm;}
void setAnchor_i(bool b) {anchor_i = b;}
bool getAnchor_i() const {return anchor_i;}
void setUi_alarm(double d) {ui_alarm = d;}
double getUi_alarm() const {return ui_alarm;}
void setOi_alarm(double d) {oi_alarm = d;}
double getOi_alarm() const {return oi_alarm;}
void setElec(double d) {electricity = d;}
double getElec() const {return electricity;}
void setVolt(double d) {voltage = d;}
double getVolt() const {return voltage;}
protected:
int componentId;
double resistance; //电阻 DEFAULT 2,
bool anchor_v; //是否锚定电压 DEFAULT FALSE,
double uv_alarm; //电压下限 DEFAULT 90,
double ov_alarm; //电压上限 DEFAULT 110,
bool anchor_i; //是否锚定电流 DEFAULT FALSE,
double ui_alarm; //电流下限 DEFAULT 45,
double oi_alarm; //电流上限 DEFAULT 55,
double electricity;
double voltage;
/*double uv_warn_rate; //-- 欠压预警 阈值 0~100(%) DEFAULT 95 *********正式参数**********
QString uv_warn_unit; //欠压预警 单位 周波t/秒s/分钟m/小时h DEFAULT 's'
double uv_warn_dur; //DEFAULT 10, -- 欠压预警 运行时间 0~100
double uv_alarm_rate; //DEFAULT 90, -- 欠压警告 阈值 0~100(%)
QString uv_alarm_unit; //DEFAULT 's', -- 欠压警告 单位 周波t/秒s/分钟m/小时h
double uv_alarm_dur; //DEFAULT 10, -- 欠压警告 运行时间 0~100
double ov_warn_rate; //DEFAULT 105, -- 过压预警 阈值 100~500(%)
QString ov_warn_unit; //DEFAULT 's', -- 过压预警 单位 周波t/秒s/分钟m/小时h
double ov_warn_dur; //DEFAULT 10, -- 过压预警 运行时间 0~100
double ov_alarm_rate; //DEFAULT 110, -- 过压警告 阈值 100~500(%)
QString ov_alarm_unit; //DEFAULT 's', -- 过压警告 单位 周波t/秒s/分钟m/小时h
double ov_alarm_dur; //DEFAULT 10, -- 过压警告 运行时间 0~100
double svm_pmax; //DEFAULT 0, -- 区域电压静稳裕度参数 Pmax 0~65536
double svm_qmax; //DEFAULT 0, -- 区域电压静稳裕度参数 Qmax 0~65536
double svm_ulim; //DEFAULT 90, -- 区域电压静稳裕度参数 Ulim 0~1000
double svm_prate; //DEFAULT 30, -- 区域电压静稳裕度参数 有功稳定裕度限值 0~100(%)
double svm_qrate; //DEFAULT 30, -- 区域电压静稳裕度参数 无功稳定裕度限值 0~100(%)*/
int op;
};
class ElectricSvgItemRect :public ElectricSvgItem
{
Q_OBJECT
public:
ElectricSvgItemRect(const QRect &rect, QGraphicsItem *parent = 0);
virtual ~ElectricSvgItemRect();
virtual ElectricSvgItemRect_Property* getProperty() {return dynamic_cast<ElectricSvgItemRect_Property*>(_property);}
virtual void showPropertyDlg(QWidget* p);
virtual void updateByProperty();
public slots:
void onPropertyChanged(const PropertyInfo);
protected:
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*);
private:
virtual void updateHandles();
double m_dRatioX;
ItemPropertyDlg* _pDlg;
};
#endif