DiagramDesigner/diagramCavas/include/graphicsItem/itemPort.h

47 lines
1.5 KiB
C
Raw Normal View History

2024-12-07 17:24:36 +08:00
#ifndef ITEMPORT_H
#define ITEMPORT_H
#include "graphicsItem/handleRect.h"
2024-12-07 17:24:36 +08:00
class ElectricConnectLineItem;
class ItemPort : public HandleRect
2024-12-07 17:24:36 +08:00
{
Q_OBJECT
public:
2025-04-30 16:29:17 +08:00
ItemPort(QGraphicsItem *parent,QString uuid = "");
2024-12-07 17:24:36 +08:00
virtual ~ItemPort();
public:
void setPortPos(PortPos p){_pos = p;}
PortPos portPos() const {return _pos;}
void setConnect(ElectricConnectLineItem* ptr){_ptr = ptr;}
void disConnect(){_ptr = nullptr;}
bool connected() const {return _ptr == nullptr?false:true;}
ElectricConnectLineItem* getConnectPtr() const {return _ptr;}
2025-04-30 16:29:17 +08:00
void setId(const QString& id){_uuid = id;}
QString getId() {return _uuid;}
void setName(const QString& str) {_name = str;}
QString getName() const {return _name;}
2025-07-04 18:47:49 +08:00
void setSourcePortId(const QString& id) {_sourcePortId = id;}
QString getSourcePortId() {return _sourcePortId;}
2025-10-11 18:51:33 +08:00
void setXPercent(double d) {_dXPercent = d;}
void setYPercent(double d) {_dYPercent = d;}
double getXPercent(){return _dXPercent;}
double getYPercent(){return _dYPercent;}
2024-12-07 17:24:36 +08:00
protected:
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
private:
2025-04-30 16:29:17 +08:00
QString _uuid;
QString _name;
2024-12-07 17:24:36 +08:00
PortPos _pos;
ElectricConnectLineItem* _ptr;
2025-07-04 18:47:49 +08:00
QString _sourcePortId; //被哪个port生成
2025-10-11 18:51:33 +08:00
double _dXPercent = 0.0; //横向相对位置(0-1)固定端点
double _dYPercent = 0.0; //纵向相对位置(0-1)固定端点
2024-12-07 17:24:36 +08:00
};
#endif