/**************************************************************************** ** ** Copyright (C) 2006-2007 Trolltech ASA. All rights reserved. ** ** This file is part of the example classes of the Qt Toolkit. ** ** Licensees holding a valid Qt License Agreement may use this file in ** accordance with the rights, responsibilities and obligations ** contained therein. Please consult your licensing agreement or ** contact sales@trolltech.com if any conditions of this licensing ** agreement are not clear to you. ** ** Further information about Qt licensing is available at: ** http://www.trolltech.com/products/qt/licensing.html or by ** contacting info@trolltech.com. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #ifndef EDGE_H #define EDGE_H #include class Node; class Edge : public QGraphicsItem { public: Edge(Node *sourceNode, Node *destNode); ~Edge(); Node *sourceNode() const; void setSourceNode(Node *node); Node *destNode() const; void setDestNode(Node *node); void adjust(); enum { Type = UserType + 2 }; int type() const { return Type; } protected: QRectF boundingRect() const; void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); private: Node *source, *dest; QPointF sourcePoint; QPointF destPoint; qreal arrowSize; }; #endif