add HMI text element
This commit is contained in:
parent
742ea36c3d
commit
21c6fabc79
|
|
@ -177,7 +177,7 @@ public:
|
|||
QString getContent() {return sContent;}
|
||||
protected:
|
||||
int nGraphicType = -1; //图形类型 0图像1文字
|
||||
QString sContent;
|
||||
QString sContent; //包含的文字
|
||||
};
|
||||
|
||||
class BaseProperty:public ModelProperty //图像工程模模属性类,存放电路元件属性
|
||||
|
|
|
|||
|
|
@ -87,6 +87,7 @@ set(DIAGRAMCAVAS_HEADER_FILES
|
|||
include/graphicsItem/functionModelItem/electricFunctionModelSvgItemPT.h
|
||||
include/graphicsItem/functionModelItem/graphicsFunctionModelItem.h
|
||||
include/graphicsItem/functionModelItem/electricFunctionModelSvgItemImage.h
|
||||
include/graphicsItem/functionModelItem/electricFunctionModelItemText.h
|
||||
|
||||
include/baseModelItem/electricBaseModelSvgItem.h
|
||||
include/baseModelItem/electricBaseModelLineItem.h
|
||||
|
|
@ -215,6 +216,7 @@ set(DIAGRAMCAVAS_SOURCE_FILES
|
|||
source/graphicsItem/functionModelItem/electricFunctionModelSvgItemPT.cpp
|
||||
source/graphicsItem/functionModelItem/graphicsFunctionModelItem.cpp
|
||||
source/graphicsItem/functionModelItem/electricFunctionModelSvgItemImage.cpp
|
||||
source/graphicsItem/functionModelItem/electricFunctionModelItemText.cpp
|
||||
|
||||
source/baseModelItem/electricBaseModelSvgItem.cpp
|
||||
source/baseModelItem/electricBaseModelLineItem.cpp
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public:
|
|||
bool addNodeItem(QUuid uuid,GraphicsFunctionModelItem*);
|
||||
bool addGraphicItem(QUuid uuid,GraphicsFunctionModelItem*);
|
||||
QString addNodeItem(QUuid id,QPointF pos,double width = 0,double height = 0,double rotate = 0);
|
||||
QString addGraphicItem(QUuid id,QString name,QPointF pos,int type,QString sContent = "",double width = 0,double height = 0,double rotate = 0); //0图形1文字
|
||||
GraphicsFunctionModelItem* addGraphicItem(QUuid id,QString name,QPointF pos,int type,QString sContent = "",double width = 0,double height = 0,double rotate = 0); //0图形1文字
|
||||
GraphicsFunctionModelItem* nodeItem(QUuid uuid);
|
||||
BaseProperty* addNodeData(QUuid id,int type,QString name,QString modelName); //对应component数据,一个data可对应多个item(id,类型,名称,工程模名)
|
||||
void loadNodeDataFromDataBase(); //从数据库加载数据
|
||||
|
|
|
|||
|
|
@ -0,0 +1,47 @@
|
|||
#ifndef ELECTRICFUNCTIONMODELITEMTEXT_H
|
||||
#define ELECTRICFUNCTIONMODELITEMTEXT_H
|
||||
|
||||
/*****************自定义文字*******************/
|
||||
#include <QFont>
|
||||
#include "graphicsFunctionModelItem.h"
|
||||
|
||||
class ElectricFunctionModelItemText :public GraphicsFunctionModelItem
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
Q_PROPERTY(QString Text READ getText WRITE setText)
|
||||
Q_PROPERTY(QColor Color READ getTextColor WRITE setTextColor)
|
||||
Q_PROPERTY(QColor BackColor READ getBackColor WRITE setBackColor)
|
||||
Q_PROPERTY(int FontSize READ getFontSize WRITE setFontSize)
|
||||
public:
|
||||
ElectricFunctionModelItemText(QGraphicsItem *parent = 0);
|
||||
virtual ~ElectricFunctionModelItemText();
|
||||
|
||||
void setText(const QString& text);
|
||||
QString getText() {return m_text;}
|
||||
|
||||
void setTextColor(const QColor&);
|
||||
QColor getTextColor() {return m_textColor;}
|
||||
|
||||
void setBackColor(const QColor& color) {m_backgroundColor = color;}
|
||||
QColor getBackColor() {return m_backgroundColor;}
|
||||
|
||||
void setFontSize(int n);
|
||||
int getFontSize() {return m_font.pointSize();}
|
||||
|
||||
void setBackgroundVisible(bool visible) {m_backgroundVisible = visible;}
|
||||
|
||||
protected:
|
||||
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
|
||||
private:
|
||||
void initial();
|
||||
void updateBoundingRect();
|
||||
|
||||
QString m_text;
|
||||
QColor m_textColor;
|
||||
QColor m_backgroundColor = QColor(240, 240, 240, 100);
|
||||
QFont m_font = QFont("Arial", 12);
|
||||
bool m_backgroundVisible = false;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -9,6 +9,8 @@ class ElectricFunctionModelSvgItem;
|
|||
class ElectricFunctionModelSvgGroup :public GraphicsFunctionModelGroup
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
Q_PROPERTY(QFileInfo Image READ getImage_1 WRITE setImage_1)
|
||||
public:
|
||||
ElectricFunctionModelSvgGroup(const QRect &rect,QGraphicsItem *parent = 0);
|
||||
virtual ~ElectricFunctionModelSvgGroup();
|
||||
|
|
@ -18,6 +20,8 @@ public:
|
|||
virtual void addSvgItem(ElectricFunctionModelSvgItem* item);
|
||||
virtual void updateMapSvg(QMap<QString,QByteArray> map,QString sIndex = ""); //工程模property不含图片,额外存储
|
||||
virtual void setMonitorDisplayInfo(QMap<MonitorItemStateStruct,MonitorItemDisplayInfo> info) override; //将显示数据更新到子item中
|
||||
virtual QFileInfo getImage_1() const;
|
||||
virtual void setImage_1(QFileInfo);
|
||||
protected:
|
||||
virtual QPainterPath shape() override;
|
||||
virtual void editShape(int, const QPointF&) override;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
class ElectricFunctionModelSvgItem :public GraphicsFunctionModelItem
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
Q_PROPERTY(QFileInfo Image READ getImage_1 WRITE setImage_1)
|
||||
public:
|
||||
ElectricFunctionModelSvgItem(const QRect &rect, bool genNewPort = true,QGraphicsItem *parent = 0); //genNewPort生成新接线点
|
||||
virtual ~ElectricFunctionModelSvgItem();
|
||||
|
|
@ -16,6 +18,8 @@ public:
|
|||
virtual void loadSvg(QByteArray); //第二种load直接加载图片
|
||||
virtual void updateMapSvg(QMap<QString,QByteArray> map,QString sIndex = ""); //index:空全部更新
|
||||
virtual void updateCurState(MonitorItemState e) override;
|
||||
virtual QFileInfo getImage_1() const;
|
||||
virtual void setImage_1(QFileInfo);
|
||||
protected:
|
||||
virtual QPainterPath shape() override;
|
||||
virtual void editShape(int, const QPointF&) override;
|
||||
|
|
|
|||
|
|
@ -191,7 +191,6 @@ public:
|
|||
Q_PROPERTY(QPointF Position READ getPosition WRITE setPosition NOTIFY posChanged)
|
||||
Q_PROPERTY(QRectF Size READ getSize WRITE setSize)
|
||||
Q_PROPERTY(RotateAngle Rotation READ getRotateAngle WRITE setRotateAngle)
|
||||
Q_PROPERTY(QFileInfo Image READ getImage_1 WRITE setImage_1)
|
||||
public:
|
||||
GraphicsBaseItem(QGraphicsItem *parent);
|
||||
GraphicsBaseItem(const GraphicsBaseItem&);
|
||||
|
|
@ -209,14 +208,13 @@ public:
|
|||
virtual void setSize(QRectF);
|
||||
virtual RotateAngle getRotateAngle() const;
|
||||
virtual void setRotateAngle(RotateAngle);
|
||||
virtual QFileInfo getImage_1() const;
|
||||
virtual void setImage_1(QFileInfo);
|
||||
|
||||
public:
|
||||
int addPort(PortState typ,QPointF vec,QString id = "",HandleType hType = T_lineInOut,PortPos pos = P_top,double dXPercent = 0,double dYPercent = 0); //新建,返回-1失败
|
||||
virtual void movePort(QString id,QPointF vec); //移动可动点
|
||||
virtual void setEntity(PowerEntity*); //设置当前图元的拓扑数据
|
||||
virtual PowerEntity* entity();
|
||||
virtual void setProperty(ModelProperty* p);
|
||||
virtual void bindProperty(ModelProperty* p);
|
||||
virtual ModelProperty* getProperty() {return _property;}
|
||||
virtual void updateByProperty(){}; //使用data对象更新自己
|
||||
virtual void setItemChanged(bool b){_itemChanged = b;}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#include "graphicsItem/functionModelItem/electricFunctionModelSvgItem3wTransformer.h"
|
||||
#include "graphicsItem/functionModelItem/electricFunctionModelConnectLineItem.h"
|
||||
#include "graphicsItem/functionModelItem/electricFunctionModelSvgItemImage.h"
|
||||
#include "graphicsItem/functionModelItem/electricFunctionModelItemText.h"
|
||||
|
||||
#include "graphicsItem/itemPort.h"
|
||||
#include "designerScene.h"
|
||||
|
|
@ -184,12 +185,12 @@ bool FixedPortsModel::addGraphicItem(QUuid uuid,GraphicsFunctionModelItem* pItem
|
|||
}
|
||||
}
|
||||
|
||||
QString FixedPortsModel::addGraphicItem(QUuid id,QString name,QPointF pos,int type,QString sContent,double width,double height,double rotate)
|
||||
GraphicsFunctionModelItem* FixedPortsModel::addGraphicItem(QUuid id,QString name,QPointF pos,int type,QString sContent,double width,double height,double rotate)
|
||||
{
|
||||
GraphicProperty* pro = nullptr;
|
||||
GraphicsFunctionModelItem* item = nullptr;
|
||||
if(_graphicItem.contains(id))
|
||||
return "exist";
|
||||
return _graphicItem.value(id);
|
||||
double dX = 0.0;
|
||||
double dY = 0.0;
|
||||
if(type == 0){ //图像
|
||||
|
|
@ -211,7 +212,15 @@ QString FixedPortsModel::addGraphicItem(QUuid id,QString name,QPointF pos,int ty
|
|||
//pro->setContent();
|
||||
}
|
||||
else if(type == 1){ //文字
|
||||
//pro = new ModelProperty();
|
||||
auto pText = new ElectricFunctionModelItemText();
|
||||
item = pText;
|
||||
pText->setText(sContent);
|
||||
item->setItemType(GIT_Text);
|
||||
pro = new GraphicProperty(item);
|
||||
pro->setGraphicsType(GIT_Text);
|
||||
pro->setModelName("text");
|
||||
pro->setGraphicType(1);
|
||||
pro->setContent(sContent);
|
||||
}
|
||||
|
||||
if(item)
|
||||
|
|
@ -224,7 +233,7 @@ QString FixedPortsModel::addGraphicItem(QUuid id,QString name,QPointF pos,int ty
|
|||
item->setRotation(rotate);
|
||||
_scene->addItem(item);
|
||||
item->addPoint(pos);
|
||||
item->setProperty(pro); //绑定模型
|
||||
item->bindProperty(pro); //绑定模型
|
||||
//item->updateByProperty(); //使用模型更新自身
|
||||
item->setHandle(this);
|
||||
_graphicItem.insert(id,item);
|
||||
|
|
@ -236,7 +245,7 @@ QString FixedPortsModel::addGraphicItem(QUuid id,QString name,QPointF pos,int ty
|
|||
}
|
||||
|
||||
}
|
||||
return pro?pro->name():"err";
|
||||
return item;
|
||||
}
|
||||
|
||||
QString FixedPortsModel::addNodeItem(QUuid id,QPointF pos,double width,double height,double rotate)
|
||||
|
|
@ -726,7 +735,7 @@ QString FixedPortsModel::addNodeItem(QUuid id,QPointF pos,double width,double he
|
|||
item->setRotation(rotate);
|
||||
_scene->addItem(item);
|
||||
item->addPoint(pos);
|
||||
item->setProperty(pro); //绑定模型
|
||||
item->bindProperty(pro); //绑定模型
|
||||
item->updateByProperty(); //使用模型更新自身
|
||||
item->setHandle(this);
|
||||
_nodeItem.insert(id,item);
|
||||
|
|
@ -928,7 +937,7 @@ QString FixedPortsModel::addConnectLline(QUuid lineId,QUuid srcId,QUuid destId,Q
|
|||
ptDest->setConnect(pItem);
|
||||
|
||||
addNodeItem(pItem->itemId(),pItem);
|
||||
pItem->setProperty(pPro);
|
||||
pItem->bindProperty(pPro);
|
||||
}
|
||||
|
||||
return pPro->name();
|
||||
|
|
@ -1592,7 +1601,7 @@ void FixedPortsModel::onSignal_ifExits(QUuid id,const QString& str,int type,Grap
|
|||
case QMessageBox::Ok:
|
||||
{
|
||||
//todo:断开原来的连接关系
|
||||
pitem->setProperty(pData);
|
||||
pitem->bindProperty(pData);
|
||||
pitem->setItemId(pData->uuid());
|
||||
PowerEntity* pEntity = TopologyManager::instance().findEntity(pData->uuid().toString());
|
||||
if(pEntity){
|
||||
|
|
@ -1615,7 +1624,7 @@ void FixedPortsModel::onSignal_ifExits(QUuid id,const QString& str,int type,Grap
|
|||
BaseProperty* pData = addNodeData(id,type,str,pitem->getModelName());
|
||||
if(pData)
|
||||
{
|
||||
pitem->setProperty(pData);
|
||||
pitem->bindProperty(pData);
|
||||
pData->setDataChanged(true); //数据状态改变
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,98 @@
|
|||
#include "graphicsItem/functionModelItem/electricFunctionModelItemText.h"
|
||||
#include "graphicsDataModel/fixedPortsModel.h"
|
||||
#include "baseProperty.h"
|
||||
|
||||
#include <QPainter>
|
||||
#include <QStyleOption>
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsView>
|
||||
|
||||
ElectricFunctionModelItemText::ElectricFunctionModelItemText(QGraphicsItem *parent)
|
||||
: GraphicsFunctionModelItem(parent)
|
||||
{
|
||||
initial();
|
||||
}
|
||||
|
||||
ElectricFunctionModelItemText::~ElectricFunctionModelItemText()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void ElectricFunctionModelItemText::setText(const QString& text)
|
||||
{
|
||||
if (m_text != text) {
|
||||
m_text = text;
|
||||
updateBoundingRect();
|
||||
update(); // 触发重绘
|
||||
// 标记为已修改
|
||||
setItemChanged(true);
|
||||
auto pPro = dynamic_cast<GraphicProperty*>(getProperty());
|
||||
if(pPro){
|
||||
pPro->setContent(text); //同步修改属性值
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ElectricFunctionModelItemText::setTextColor(const QColor& color)
|
||||
{
|
||||
m_textColor = color;
|
||||
}
|
||||
|
||||
void ElectricFunctionModelItemText::setFontSize(int n)
|
||||
{
|
||||
if(n>0 && n <100){
|
||||
m_font.setPointSize(n);
|
||||
updateBoundingRect();
|
||||
}
|
||||
}
|
||||
|
||||
void ElectricFunctionModelItemText::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
|
||||
{
|
||||
// 1. 绘制背景
|
||||
if (m_backgroundVisible) {
|
||||
painter->setBrush(m_backgroundColor);
|
||||
painter->setPen(Qt::NoPen);
|
||||
painter->drawRect(m_boundingRect);
|
||||
}
|
||||
|
||||
// 2. 绘制文本
|
||||
painter->setFont(m_font);
|
||||
painter->setPen(m_textColor);
|
||||
|
||||
QRectF textRect = m_boundingRect.adjusted(2, 2, -2, -2);
|
||||
painter->drawText(textRect, Qt::AlignCenter, m_text);
|
||||
|
||||
// 3. 调用基类绘制(选中框、控制点)
|
||||
if (option->state & QStyle::State_Selected) //是选中状态,绘制选中框
|
||||
{
|
||||
renderSelectBackground(painter);
|
||||
}
|
||||
GraphicsFunctionModelItem::paint(painter,option,widget);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelItemText::initial()
|
||||
{
|
||||
setHandleIfShow(H_textCaption,false);
|
||||
setHandleVisible(false);
|
||||
setFunctionHandleIfShow(false);
|
||||
setFunctionHandleEnaable(false);
|
||||
|
||||
m_boundingRect = QRectF(0, 0, 50, 20); //初始化为定值
|
||||
}
|
||||
|
||||
void ElectricFunctionModelItemText::updateBoundingRect()
|
||||
{
|
||||
if (m_text.isEmpty()) {
|
||||
m_boundingRect = QRectF(0, 0, 50, 20);
|
||||
} else {
|
||||
QFontMetricsF fm(m_font);
|
||||
QRectF textRect = fm.boundingRect(m_text);
|
||||
m_boundingRect = textRect.adjusted(-4, -4, 4, 4);
|
||||
}
|
||||
|
||||
// 更新基类边界
|
||||
AbstractShapeType<QGraphicsItem>::setBoundingRect(m_boundingRect);
|
||||
|
||||
// 更新控制点
|
||||
updateHandles();
|
||||
}
|
||||
|
|
@ -135,6 +135,17 @@ void ElectricFunctionModelSvgGroup::setMonitorDisplayInfo(QMap<MonitorItemStateS
|
|||
}
|
||||
}
|
||||
|
||||
QFileInfo ElectricFunctionModelSvgGroup::getImage_1() const
|
||||
{
|
||||
return QFileInfo(m_bgImagePath);
|
||||
}
|
||||
|
||||
|
||||
void ElectricFunctionModelSvgGroup::setImage_1(QFileInfo info)
|
||||
{
|
||||
m_bgImagePath = info.absoluteFilePath();
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgGroup::addSvgItem(ElectricFunctionModelSvgItem* item)
|
||||
{
|
||||
item->setParentItem(this); // 关键:设置父项
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ void ElectricFunctionModelSvgGroupCT::setImage_1(QFileInfo info)
|
|||
|
||||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"ct",nType,0);
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgGroup::setImage_1(info);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ void ElectricFunctionModelSvgGroupPT::setImage_1(QFileInfo info)
|
|||
|
||||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"pt",nType,0);
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgGroup::setImage_1(info);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgGroupPT::setupFinish(QVariant var)
|
||||
|
|
|
|||
|
|
@ -187,3 +187,13 @@ void ElectricFunctionModelSvgItem::updateCurState(MonitorItemState e)
|
|||
m_pCustomRender->load(_curMonitorStateSvg);
|
||||
}
|
||||
}
|
||||
|
||||
QFileInfo ElectricFunctionModelSvgItem::getImage_1() const
|
||||
{
|
||||
return QFileInfo(m_bgImagePath);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgItem::setImage_1(QFileInfo info)
|
||||
{
|
||||
m_bgImagePath = info.absoluteFilePath();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void ElectricFunctionModelSvgItem2wTransformer::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"transformer_2w",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgItem2wTransformer::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ void ElectricFunctionModelSvgItem3wTransformer::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"transformer_3w",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgItem3wTransformer::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ void ElectricFunctionModelSvgItemBus::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"bus",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgItemBus::updateHandles()
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ void ElectricFunctionModelSvgItemCB::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"cb",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void ElectricFunctionModelSvgItemCableEnd::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"cable_end",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgItemCableEnd::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void ElectricFunctionModelSvgItemCableTer::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"cable_termination",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgItemCableTer::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void ElectricFunctionModelSvgItemDS::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"ds",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgItemDS::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void ElectricFunctionModelSvgItemDTEDS::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"dteds",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgItemDTEDS::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void ElectricFunctionModelSvgItemES::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"es",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void ElectricFunctionModelSvgItemFES::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"fes",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgItemFES::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include <QStyleOption>
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsView>
|
||||
#include <QSvgRenderer>
|
||||
|
||||
ElectricFunctionModelSvgItemImage::ElectricFunctionModelSvgItemImage(const QRect &rect, QGraphicsItem *parent)
|
||||
: ElectricFunctionModelSvgItem(rect,parent)
|
||||
|
|
@ -50,12 +51,17 @@ void ElectricFunctionModelSvgItemImage::setImage_1(QFileInfo info)
|
|||
if(_pHandle)
|
||||
_pHandle->updateCustomItemIcon(itemId,mapData);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
|
||||
void ElectricFunctionModelSvgItemImage::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
|
||||
{
|
||||
if(!m_pRender){
|
||||
painter->setPen(QPen(QColor(238,58,140,220)));
|
||||
painter->drawRect(m_boundingRect);
|
||||
}
|
||||
|
||||
ElectricFunctionModelSvgItem::paint(painter,option,widget);
|
||||
}
|
||||
|
||||
|
|
@ -65,7 +71,5 @@ void ElectricFunctionModelSvgItemImage::initial()
|
|||
setHandleVisible(false);
|
||||
setFunctionHandleIfShow(false);
|
||||
setFunctionHandleEnaable(false);
|
||||
if(!_itemImgIndex.contains("es"))
|
||||
_itemImgIndex.append("es");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void ElectricFunctionModelSvgItemLA::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"lightning_arrester",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgItemLA::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ void ElectricFunctionModelSvgItemPI::setImage_1(QFileInfo info)
|
|||
if(_pHandle && !sMeta.isEmpty() && !sModel.isEmpty())
|
||||
_pHandle->updateItemIcon(sMeta,sModel,mapData,"potential_indicator",nType,0);
|
||||
|
||||
GraphicsBaseItem::setImage_1(info);
|
||||
ElectricFunctionModelSvgItem::setImage_1(info);
|
||||
}
|
||||
|
||||
void ElectricFunctionModelSvgItemPI::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
|
||||
|
|
|
|||
|
|
@ -136,16 +136,6 @@ void GraphicsBaseItem::setRotateAngle(RotateAngle angle)
|
|||
emit itemRotated(this);
|
||||
}
|
||||
|
||||
QFileInfo GraphicsBaseItem::getImage_1() const
|
||||
{
|
||||
return QFileInfo(m_bgImagePath);
|
||||
}
|
||||
|
||||
void GraphicsBaseItem::setImage_1(QFileInfo info)
|
||||
{
|
||||
m_bgImagePath = info.absoluteFilePath();
|
||||
}
|
||||
|
||||
int GraphicsBaseItem::addPort(PortState typ,QPointF vec,QString id,HandleType hType,PortPos pos,double dXPercent,double dYPercent)
|
||||
{
|
||||
int ntagId = -1;
|
||||
|
|
@ -201,7 +191,7 @@ PowerEntity* GraphicsBaseItem::entity()
|
|||
return _pEntity;
|
||||
}
|
||||
|
||||
void GraphicsBaseItem::setProperty(ModelProperty* p)
|
||||
void GraphicsBaseItem::bindProperty(ModelProperty* p)
|
||||
{
|
||||
if(_property) //已经有对象
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
#include <QToolButton>
|
||||
#include "graphicsDataModel/fixedPortsModel.h"
|
||||
#include "graphicsItem/functionModelItem/graphicsFunctionModelItem.h"
|
||||
#include "graphicsItem/functionModelItem/electricFunctionModelItemText.h"
|
||||
#include "powerEntity.h"
|
||||
#include "statusBar.h"
|
||||
#include "baseProperty.h"
|
||||
|
|
@ -176,6 +177,15 @@ QJsonObject MonitorPanel::getDiagramInfo()
|
|||
node["type"] = pPro->getGraphicType();
|
||||
node["modeName"] = pPro->modelName();
|
||||
node["content"] = pPro->getContent();
|
||||
|
||||
if(pPro->getGraphicType() == 1){ //文字类
|
||||
auto pText = dynamic_cast<ElectricFunctionModelItemText*>(pItem);
|
||||
if(pText){
|
||||
node["color"] = pText->getTextColor().name();
|
||||
node["backColor"] = pText->getBackColor().name();
|
||||
node["fontSize"] = pText->getFontSize();
|
||||
}
|
||||
}
|
||||
}
|
||||
arrGraphic.append(node);
|
||||
}
|
||||
|
|
@ -264,6 +274,9 @@ void MonitorPanel::loadNodes(QJsonObject obj)
|
|||
int nType = node["type"].toInt(); //图形item的类型 0图像1文字
|
||||
QString sModeName = node["modeName"].toString(); //模型名,定值
|
||||
QString sContent = node["content"].toString();
|
||||
int nFontSize = node["fontSize"].toInt();
|
||||
QColor color = QColor(node["color"].toString());
|
||||
QColor backColor = QColor(node["backColor"].toString());
|
||||
double dX = node["x"].toDouble();
|
||||
double dY = node["y"].toDouble();
|
||||
double dWidth = node["width"].toDouble();
|
||||
|
|
@ -272,8 +285,8 @@ void MonitorPanel::loadNodes(QJsonObject obj)
|
|||
|
||||
if(_pModel)
|
||||
{
|
||||
QString res = _pModel->addGraphicItem(itemId,sName,QPointF(dX,dY),nType,sModeName,dWidth,dHeight,dRotate); //创建图形对象
|
||||
if(res != "err"){
|
||||
auto pItem = _pModel->addGraphicItem(itemId,sName,QPointF(dX,dY),nType,sModeName,dWidth,dHeight,dRotate); //创建图形对象
|
||||
if(pItem){
|
||||
if(nType == 0){ //图片类型
|
||||
QMap<QString,QByteArray> mapData;
|
||||
for(auto& customRef:lstRef){
|
||||
|
|
@ -287,7 +300,13 @@ void MonitorPanel::loadNodes(QJsonObject obj)
|
|||
_pModel->updateCustomById(itemId,mapData); //更新item引用的图片
|
||||
}
|
||||
else if(nType == 1){ //文字类型
|
||||
|
||||
auto pText = dynamic_cast<ElectricFunctionModelItemText*>(pItem);
|
||||
if(pText){
|
||||
pText->setText(sContent);
|
||||
pText->setFontSize(nFontSize);
|
||||
pText->setTextColor(color);
|
||||
pText->setBackColor(backColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -594,7 +594,7 @@ void BaseSelector::dropEvent(QGraphicsSceneDragDropEvent *event, DesignerScene*,
|
|||
_model->addGraphicItem(QUuid::createUuid(),"",event->scenePos(),nGraphicType);
|
||||
}
|
||||
else{
|
||||
|
||||
_model->addGraphicItem(QUuid::createUuid(),"",event->scenePos(),nGraphicType,"文本对象");
|
||||
}
|
||||
|
||||
event->acceptProposedAction();
|
||||
|
|
|
|||
Loading…
Reference in New Issue