feat: 添加ElaWidgetTool库

This commit is contained in:
sleepwithoutbz
2025-09-19 22:40:52 +08:00
parent 5f93e8caf6
commit 4eef5c7fd5
407 changed files with 36325 additions and 7 deletions

View File

@@ -0,0 +1,33 @@
#ifndef ELAGRAPHICSLINEITEM_H
#define ELAGRAPHICSLINEITEM_H
#include <QGraphicsPathItem>
#include "ElaProperty.h"
class ElaGraphicsItem;
class ElaGraphicsLineItemPrivate;
class ELA_EXPORT ElaGraphicsLineItem : public QGraphicsPathItem
{
Q_Q_CREATE(ElaGraphicsLineItem)
Q_PRIVATE_CREATE_Q_H(QPointF, StartPoint);
Q_PRIVATE_CREATE_Q_H(QPointF, EndPoint);
Q_PRIVATE_CREATE_Q_H(ElaGraphicsItem*, StartItem);
Q_PRIVATE_CREATE_Q_H(ElaGraphicsItem*, EndItem);
Q_PRIVATE_CREATE_Q_H(int, StartItemPort);
Q_PRIVATE_CREATE_Q_H(int, EndItemPort);
public:
explicit ElaGraphicsLineItem(ElaGraphicsItem* startItem, ElaGraphicsItem* endItem, int startItemPort, int endItemPort, QGraphicsItem* parent = nullptr);
explicit ElaGraphicsLineItem(QPointF startPoint, QPointF endPoint, QGraphicsItem* parent = nullptr);
~ElaGraphicsLineItem();
bool isTargetLink(ElaGraphicsItem* item) const;
bool isTargetLink(ElaGraphicsItem* item1, ElaGraphicsItem* item2) const;
bool isTargetLink(ElaGraphicsItem* item1, ElaGraphicsItem* item2, int port1, int port2) const;
protected:
void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
QRectF boundingRect() const override;
};
#endif // ELAGRAPHICSLINEITEM_H