KDChartPieAttributes.cpp

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 #include "KDChartPieAttributes.h"
00027 #include "KDChartPieAttributes_p.h"
00028 
00029 #include <QDebug>
00030 
00031 #include <KDABLibFakes>
00032 
00033 #define d d_func()
00034 
00035 
00036 using namespace KDChart;
00037 
00038 
00039 PieAttributes::Private::Private()
00040     : explodeFactor( 0.0 )
00041     , tangentialGapFactor( 0.0 )
00042     , radialGapFactor( 0.0 )
00043 {
00044 }
00045 
00046 
00047 PieAttributes::PieAttributes()
00048     : _d( new Private() )
00049 {
00050 }
00051 
00052 PieAttributes::PieAttributes( const PieAttributes& r )
00053     : _d( new Private( *r.d ) )
00054 {
00055 }
00056 
00057 PieAttributes& PieAttributes::operator= ( const PieAttributes& r )
00058 {
00059     if( this == &r )
00060         return *this;
00061 
00062     *d = *r.d;
00063 
00064     return *this;
00065 }
00066 
00067 PieAttributes::~PieAttributes()
00068 {
00069     delete _d; _d = 0;
00070 }
00071 
00072 
00073 bool PieAttributes::operator==( const PieAttributes& r ) const
00074 {
00075     return 
00076         explodeFactor()   == r.explodeFactor() &&
00077         gapFactor( true ) == r.gapFactor( true ) &&
00078         gapFactor( false) == r.gapFactor( false);
00079 }
00080 
00081 
00082 void PieAttributes::init( )
00083 {
00084 
00085 }
00086 
00087 void PieAttributes::setExplode( bool enabled )
00088 {
00089     d->explodeFactor = (enabled ? 0.1 : 0.0);
00090 }
00091 
00092 bool PieAttributes::explode() const
00093 {
00094     return (d->explodeFactor != 0.0);
00095 }
00096 
00097 void PieAttributes::setExplodeFactor( qreal factor )
00098 {
00099     d->explodeFactor = factor;
00100 }
00101 
00102 qreal PieAttributes::explodeFactor() const
00103 {
00104     return d->explodeFactor;
00105 }
00106 
00107 void PieAttributes::setGapFactor( bool circular, qreal factor )
00108 {
00109         if ( circular )
00110                 d->tangentialGapFactor = factor;
00111         else
00112                 d->radialGapFactor = factor;
00113 }
00114 
00115 qreal PieAttributes::gapFactor( bool circular ) const
00116 {
00117         return circular ? d->tangentialGapFactor : d->radialGapFactor;
00118 }
00119 
00120 #if !defined(QT_NO_DEBUG_STREAM)
00121 QDebug operator<<(QDebug dbg, const KDChart::PieAttributes& a)
00122 {
00123     dbg << "KDChart::PieAttributes(";
00124     dbg << "explodeFactor="<< a.explodeFactor() << ")";
00125     return dbg;
00126 }
00127 #endif /* QT_NO_DEBUG_STREAM */
00128 

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