kdganttabstractgrid.h

Go to the documentation of this file.
00001 /****************************************************************************
00002  ** Copyright (C) 2001-2006 Klarälvdalens Datakonsult AB.  All rights reserved.
00003  **
00004  ** This file is part of the KD Gantt library.
00005  **
00006  ** This file may be distributed and/or modified under the terms of the
00007  ** GNU General Public License version 2 as published by the Free Software
00008  ** Foundation and appearing in the file LICENSE.GPL included in the
00009  ** packaging of this file.
00010  **
00011  ** Licensees holding valid commercial KD Gantt licenses may use this file in
00012  ** accordance with the KD Gantt Commercial License Agreement provided with
00013  ** the Software.
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  ** See http://www.kdab.net/kdgantt for
00019  **   information about KD Gantt Commercial License Agreements.
00020  **
00021  ** Contact info@kdab.net if any conditions of this
00022  ** licensing are not clear to you.
00023  **
00024  **********************************************************************/
00025 #ifndef KDGANTTABSTRACTGRID_H
00026 #define KDGANTTABSTRACTGRID_H
00027 
00028 #include "kdganttglobal.h"
00029 #include "kdganttconstraint.h"
00030 
00031 class QPainter;
00032 class QRectF;
00033 class QAbstractItemModel;
00034 class QModelIndex;
00035 
00036 namespace KDGantt {
00037     class AbstractRowController;
00038     class Span;
00039 
00040     class KDCHART_EXPORT AbstractGrid : public QObject {
00041         Q_OBJECT
00042         KDGANTT_DECLARE_PRIVATE_BASE_POLYMORPHIC( AbstractGrid )
00043         friend class GraphicsScene;
00044     public:
00045 
00046         AbstractGrid(QObject* parent = 0);
00047         virtual ~AbstractGrid();
00048 
00049         QAbstractItemModel* model() const;
00050         QModelIndex rootIndex() const;
00051 
00052         virtual Span mapToChart( const QModelIndex& idx ) const = 0;
00053         virtual bool mapFromChart( const Span& span, const QModelIndex& idx,
00054                                    const QList<Constraint>& constraints=QList<Constraint>() ) const = 0;
00055         bool isSatisfiedConstraint( const Constraint& c ) const;
00056 
00057         virtual void paintGrid( QPainter* painter, const QRectF& sceneRect, const QRectF& exposedRect,
00058                                 AbstractRowController* rowController = 0, QWidget* widget=0 ) = 0;
00059         virtual void paintHeader( QPainter* painter, const QRectF& headerRect, const QRectF& exposedRect,
00060                                   qreal offset, QWidget* widget=0 ) = 0;
00061     public Q_SLOTS:
00062         /*internal*/ virtual void setModel( QAbstractItemModel* model );
00063         /*internal*/ virtual void setRootIndex( const QModelIndex& idx );
00064     Q_SIGNALS:
00065         void gridChanged();
00066     };
00067 }
00068 
00069 #endif /* KDGANTTABSTRACTGRID_H */
00070 

Generated on Thu Mar 4 23:19:13 2010 for KD Chart 2 by  doxygen 1.5.4