KDChartAbstractCartesianDiagram.h

Go to the documentation of this file.
00001 /****************************************************************************
00002  ** Copyright (C) 2007 Klarälvdalens Datakonsult AB.  All rights reserved.
00003  **
00004  ** This file is part of the KD Chart 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 Chart licenses may use this file in
00012  ** accordance with the KD Chart 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/kdchart for
00019  **   information about KDChart Commercial License Agreements.
00020  **
00021  ** Contact info@kdab.net if any conditions of this
00022  ** licensing are not clear to you.
00023  **
00024  **********************************************************************/
00025 
00026 #ifndef KDCHARTABSTRACTCARTESIANDIAGRAM_H
00027 #define KDCHARTABSTRACTCARTESIANDIAGRAM_H
00028 
00029 #include "KDChartCartesianCoordinatePlane.h"
00030 #include "KDChartAbstractDiagram.h"
00031 #include "KDChartCartesianAxis.h"
00032 
00033 namespace KDChart {
00034 
00035     class GridAttributes;
00036 //    class PaintContext;
00037 
00045     class KDCHART_EXPORT AbstractCartesianDiagram : public AbstractDiagram
00046     {
00047         Q_OBJECT
00048         Q_DISABLE_COPY( AbstractCartesianDiagram )
00049 //        KDCHART_DECLARE_PRIVATE_DERIVED( AbstractCartesianDiagram )
00050         KDCHART_DECLARE_DERIVED_DIAGRAM( AbstractCartesianDiagram, CartesianCoordinatePlane )
00051 
00052     public:
00053         explicit AbstractCartesianDiagram ( QWidget* parent = 0, CartesianCoordinatePlane* plane = 0 );
00054         virtual ~AbstractCartesianDiagram();
00055 
00059         bool compare( const AbstractCartesianDiagram* other )const;
00060 
00061 #if QT_VERSION < 0x040400 || defined(Q_COMPILER_MANGLES_RETURN_TYPE)
00062         virtual const int numberOfAbscissaSegments () const = 0;
00063         virtual const int numberOfOrdinateSegments () const = 0;
00064 #else
00065         virtual int numberOfAbscissaSegments () const = 0;
00066         virtual int numberOfOrdinateSegments () const = 0;
00067 #endif
00068 
00077         virtual void addAxis( CartesianAxis * axis );
00086         virtual void takeAxis( CartesianAxis * axis );
00090         virtual KDChart::CartesianAxisList axes () const;
00091 
00096         virtual void layoutPlanes();
00098         virtual void setCoordinatePlane( AbstractCoordinatePlane* plane );
00099 
00107         virtual void setReferenceDiagram( AbstractCartesianDiagram* diagram, const QPointF& offset = QPointF() );
00112         virtual AbstractCartesianDiagram* referenceDiagram() const;
00117         virtual QPointF referenceDiagramOffset() const;
00118 
00119         /* reimpl */
00120         void setModel( QAbstractItemModel* model );
00121         /* reimpl */
00122         void setRootIndex( const QModelIndex& index );
00123         /* reimpl */
00124         void setAttributesModel( AttributesModel* model );
00125 
00126     protected:
00128         virtual double threeDItemDepth( const QModelIndex& index ) const = 0;
00130         virtual double threeDItemDepth( int column ) const = 0;
00131     };
00132 
00133 }
00134 
00135 #endif

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