kdganttconstraintgraphicsitem.h

Go to the documentation of this file.
00001 /****************************************************************************
00002 ** Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.  All rights reserved.
00003 **
00004 ** This file is part of the KD Chart library.
00005 **
00006 ** Licensees holding valid commercial KD Chart licenses may use this file in
00007 ** accordance with the KD Chart Commercial License Agreement provided with
00008 ** the Software.
00009 **
00010 **
00011 ** This file may be distributed and/or modified under the terms of the
00012 ** GNU General Public License version 2 and version 3 as published by the
00013 ** Free Software Foundation and appearing in the file LICENSE.GPL included.
00014 **
00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00017 **
00018 ** Contact info@kdab.com if any conditions of this licensing are not
00019 ** clear to you.
00020 **
00021 **********************************************************************/
00022 
00023 #ifndef KDGANTTCONSTRAINTGRAPHICSITEM_H
00024 #define KDGANTTCONSTRAINTGRAPHICSITEM_H
00025 
00026 #include <QGraphicsItem>
00027 
00028 #include "kdganttconstraint.h"
00029 
00030 namespace KDGantt {
00031     class GraphicsScene;
00032 
00033     class KDCHART_EXPORT ConstraintGraphicsItem : public QGraphicsItem {
00034     public:
00035         enum { Type = UserType + 43 };
00036 
00037         explicit ConstraintGraphicsItem( const Constraint& c,
00038                                          QGraphicsItem* parent = 0, GraphicsScene* scene = 0 );
00039         virtual ~ConstraintGraphicsItem();
00040 
00041         /*reimp*/ int type() const;
00042         /*reimp (non virtual)*/GraphicsScene* scene() const;
00043 
00044         /*reimp*/ QString ganttToolTip() const;
00045 
00046         /*reimp*/ QRectF boundingRect() const;
00047         /*reimp*/ void paint( QPainter* painter, const QStyleOptionGraphicsItem* option,
00048                               QWidget* widget = 0 );
00049 
00050         inline const Constraint& constraint() const { return m_constraint; }
00051         Constraint proxyConstraint() const;
00052 
00053         void setStart( const QPointF& start );
00054         inline QPointF start() const { return m_start; }
00055         void setEnd( const QPointF& end );
00056         inline QPointF end() const { return m_end; }
00057 
00058         void updateItem( const QPointF& start,const QPointF& end );
00059     private:
00060         Constraint m_constraint;
00061         QPointF m_start;
00062         QPointF m_end;
00063     };
00064 }
00065 
00066 #endif /* KDGANTTCONSTRAINTGRAPHICSITEM_H */
00067