KD Chart 2  [rev.2.5]
KDChartAbstractCartesianDiagram.h
Go to the documentation of this file.
00001 /****************************************************************************
00002 ** Copyright (C) 2001-2012 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.txt 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 KDCHARTABSTRACTCARTESIANDIAGRAM_H
00024 #define KDCHARTABSTRACTCARTESIANDIAGRAM_H
00025 
00026 #include "KDChartCartesianCoordinatePlane.h"
00027 #include "KDChartAbstractDiagram.h"
00028 #include "KDChartCartesianAxis.h"
00029 
00030 namespace KDChart {
00031 
00032     class GridAttributes;
00033 
00041     class KDCHART_EXPORT AbstractCartesianDiagram : public AbstractDiagram
00042     {
00043         Q_OBJECT
00044         Q_DISABLE_COPY( AbstractCartesianDiagram )
00045         KDCHART_DECLARE_DERIVED_DIAGRAM( AbstractCartesianDiagram, CartesianCoordinatePlane )
00046 
00047     public:
00048         explicit AbstractCartesianDiagram ( QWidget* parent = 0, CartesianCoordinatePlane* plane = 0 );
00049         virtual ~AbstractCartesianDiagram();
00050 
00054         bool compare( const AbstractCartesianDiagram* other ) const;
00055 
00056 #if QT_VERSION < 0x040400 || defined(Q_COMPILER_MANGLES_RETURN_TYPE)
00057         virtual const int numberOfAbscissaSegments () const = 0;
00058         virtual const int numberOfOrdinateSegments () const = 0;
00059 #else
00060         virtual int numberOfAbscissaSegments () const = 0;
00061         virtual int numberOfOrdinateSegments () const = 0;
00062 #endif
00063 
00072         virtual void addAxis( CartesianAxis * axis );
00081         virtual void takeAxis( CartesianAxis * axis );
00085         virtual KDChart::CartesianAxisList axes () const;
00086 
00091         virtual void layoutPlanes();
00093         virtual void setCoordinatePlane( AbstractCoordinatePlane* plane );
00094 
00102         virtual void setReferenceDiagram( AbstractCartesianDiagram* diagram, const QPointF& offset = QPointF() );
00107         virtual AbstractCartesianDiagram* referenceDiagram() const;
00112         virtual QPointF referenceDiagramOffset() const;
00113 
00114         /* reimpl */
00115         void setModel( QAbstractItemModel* model );
00116         /* reimpl */
00117         void setRootIndex( const QModelIndex& index );
00118         /* reimpl */
00119         void setAttributesModel( AttributesModel* model );
00120 
00121     protected:
00123         virtual qreal threeDItemDepth( const QModelIndex& index ) const = 0;
00125         virtual qreal threeDItemDepth( int column ) const = 0;
00126     };
00127 
00128 }
00129 
00130 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines

Klarälvdalens Datakonsult AB (KDAB)
Qt-related services and products
http://www.kdab.com/
http://www.kdab.com/products/kd-chart/