00001 /**************************************************************************** 00002 ** Copyright (C) 2007 Klaralvdalens 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 "KDChartValueTrackerAttributes.h" 00027 00028 #include <KDABLibFakes> 00029 #include <QPen> 00030 #include <QSizeF> 00031 #include <QBrush> 00032 00033 #define d d_func() 00034 00035 using namespace KDChart; 00036 00037 class ValueTrackerAttributes::Private 00038 { 00039 friend class ValueTrackerAttributes; 00040 public: 00041 Private(); 00042 private: 00043 QPen pen; 00044 QSizeF markerSize; 00045 bool enabled; 00046 QBrush areaBrush; 00047 }; 00048 00049 ValueTrackerAttributes::Private::Private() 00050 : pen( QPen( QColor( 80, 80, 80, 200 ) ) ), 00051 markerSize( QSizeF( 6.0, 6.0 ) ), 00052 enabled( false ), 00053 areaBrush( QBrush() ) 00054 { 00055 } 00056 00057 00058 ValueTrackerAttributes::ValueTrackerAttributes() 00059 : _d( new Private() ) 00060 { 00061 } 00062 00063 ValueTrackerAttributes::ValueTrackerAttributes( const ValueTrackerAttributes& r ) 00064 : _d( new Private( *r.d ) ) 00065 { 00066 } 00067 00068 ValueTrackerAttributes & ValueTrackerAttributes::operator=( const ValueTrackerAttributes& r ) 00069 { 00070 if( this == &r ) 00071 return *this; 00072 00073 *d = *r.d; 00074 00075 return *this; 00076 } 00077 00078 ValueTrackerAttributes::~ValueTrackerAttributes() 00079 { 00080 delete _d; _d = 0; 00081 } 00082 00083 00084 bool ValueTrackerAttributes::operator==( const ValueTrackerAttributes& r ) const 00085 { 00086 return ( pen() == r.pen() && 00087 areaBrush() == r.areaBrush() && 00088 markerSize() == r.markerSize() && 00089 isEnabled() == r.isEnabled() ); 00090 } 00091 00092 void ValueTrackerAttributes::setPen( const QPen& pen ) 00093 { 00094 d->pen = pen; 00095 } 00096 00097 QPen ValueTrackerAttributes::pen() const 00098 { 00099 return d->pen; 00100 } 00101 00102 void ValueTrackerAttributes::setAreaBrush( const QBrush& brush ) 00103 { 00104 d->areaBrush = brush; 00105 } 00106 00107 QBrush ValueTrackerAttributes::areaBrush() const 00108 { 00109 return d->areaBrush; 00110 } 00111 00112 void ValueTrackerAttributes::setMarkerSize( const QSizeF& size ) 00113 { 00114 d->markerSize = size; 00115 } 00116 00117 QSizeF ValueTrackerAttributes::markerSize() const 00118 { 00119 return d->markerSize; 00120 } 00121 00122 void ValueTrackerAttributes::setEnabled( bool enabled ) 00123 { 00124 d->enabled = enabled; 00125 } 00126 00127 bool ValueTrackerAttributes::isEnabled() const 00128 { 00129 return d->enabled; 00130 } 00131 00132 #if !defined(QT_NO_DEBUG_STREAM) 00133 QDebug operator<<(QDebug dbg, const KDChart::ValueTrackerAttributes& va) 00134 { 00135 dbg << "KDChart::ValueTrackerAttributes(" 00136 << "pen="<<va.pen() 00137 << "markerSize="<<va.markerSize() 00138 << "enabled="<<va.isEnabled() 00139 << ")"; 00140 return dbg; 00141 } 00142 #endif /* QT_NO_DEBUG_STREAM */