File indexing completed on 2024-05-12 04:20:39
0001 /* 0002 * SPDX-FileCopyrightText: 2001-2015 Klaralvdalens Datakonsult AB. All rights reserved. 0003 * 0004 * This file is part of the KGantt library. 0005 * 0006 * SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #ifndef KGANTTCONSTRAINTGRAPHICSITEM_H 0010 #define KGANTTCONSTRAINTGRAPHICSITEM_H 0011 0012 #include <QGraphicsItem> 0013 0014 #include "kganttconstraint.h" 0015 0016 namespace KGantt { 0017 class GraphicsScene; 0018 0019 0020 0021 /*!\class KGantt::ConstraintGraphicsItem 0022 * \internal 0023 */ 0024 class KGANTT_EXPORT ConstraintGraphicsItem : public QGraphicsItem { 0025 public: 0026 enum { Type = UserType + 43 }; 0027 0028 explicit ConstraintGraphicsItem( const Constraint& c, 0029 QGraphicsItem* parent = nullptr, GraphicsScene* scene = nullptr ); 0030 ~ConstraintGraphicsItem() override; 0031 0032 /*reimp*/ int type() const override; 0033 /*reimp (non virtual)*/GraphicsScene* scene() const; 0034 0035 /*reimp*/ QString ganttToolTip() const; 0036 0037 /*reimp*/ QRectF boundingRect() const override; 0038 /*reimp*/ void paint( QPainter* painter, const QStyleOptionGraphicsItem* option, 0039 QWidget* widget = nullptr ) override; 0040 0041 inline const Constraint& constraint() const { return m_constraint; } 0042 Constraint proxyConstraint() const; 0043 0044 void setStart( const QPointF& start ); 0045 inline QPointF start() const { return m_start; } 0046 void setEnd( const QPointF& end ); 0047 inline QPointF end() const { return m_end; } 0048 0049 void updateItem( const QPointF& start,const QPointF& end ); 0050 private: 0051 Constraint m_constraint; 0052 QPointF m_start; 0053 QPointF m_end; 0054 }; 0055 } 0056 0057 #endif /* KGANTTCONSTRAINTGRAPHICSITEM_H */ 0058