#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(_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