|
- #ifndef ITEM_H
- #define ITEM_H
-
- #include <QGraphicsObject>
- #include <QColor>
- #include <QList>
-
- class Connection;
-
- class Item : public QGraphicsObject
- {
- Q_OBJECT
- public:
- enum AnchorType { Left, Right };
- explicit Item(const QString &type, QGraphicsItem *parent = nullptr);
-
- QRectF boundingRect() const override;
- void paint(QPainter *painter,
- const QStyleOptionGraphicsItem *option,
- QWidget *widget) override;
-
- QPointF anchorPos(AnchorType type) const;
- void addConnection(Connection* conn);
- void removeConnection(Connection* conn);
- QList<Connection*> connections();
- QString itemType();
-
- signals:
- void requestCopy(Item*);
- void requestDelete(Item*);
-
- protected:
- QVariant itemChange(GraphicsItemChange change, const QVariant &value) override;
- void contextMenuEvent(QGraphicsSceneContextMenuEvent *event) override;
-
- private:
- QString type_;
- QList<Connection*> connections_;
- };
-
- #endif // ITEM_H
|