# KDChartBackgroundAttributes.cpp

Go to the documentation of this file.

    00001 /****************************************************************************
    00002  ** Copyright (C) 2006 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 "KDChartBackgroundAttributes.h"
    00027 #include <QPixmap>
    00028
    00029 #include <KDABLibFakes>
    00030
    00031 #define d d_func()
    00032
    00033
    00034 using namespace KDChart;
    00035
    00036 class BackgroundAttributes::Private
    00037 {
    00038     friend class KDChart::BackgroundAttributes;
    00039 public:
    00040     Private();
    00041 private:
    00042     bool visible;
    00043     QBrush brush;
    00044     BackgroundPixmapMode pixmapMode;
    00045     QPixmap pixmap;
    00046 };
    00047
    00048 BackgroundAttributes::Private::Private() :
    00049     visible( false ),
    00050     pixmapMode( BackgroundAttributes::BackgroundPixmapModeNone )
    00051 {
    00052 }
    00053
    00054
    00055 BackgroundAttributes::BackgroundAttributes()
    00056     : _d( new Private() )
    00057 {
    00058 }
    00059
    00060 BackgroundAttributes::BackgroundAttributes( const BackgroundAttributes& r )
    00061     : _d( new Private( *r.d ) )
    00062 {
    00063 }
    00064
    00065 BackgroundAttributes & BackgroundAttributes::operator=( const BackgroundAttributes& r )
    00066 {
    00067     if( this == &r )
    00068         return *this;
    00069
    00070     *d = *r.d;
    00071
    00072     return *this;
    00073 }
    00074
    00075 bool BackgroundAttributes::operator==( const BackgroundAttributes& r ) const
    00076 {
    00077     return isEqualTo( r );
    00078 }
    00079
    00080
    00081 bool BackgroundAttributes::isEqualTo(
    00082         const BackgroundAttributes& other, bool ignorePixmap ) const
    00083 {
    00084     /*
    00085     qDebug() << "BackgroundAttributes::operator==";
    00086     qDebug() << "isVisible" << (isVisible() == other.isVisible());
    00087     qDebug() << "brush"     << (brush() == other.brush());
    00088     qDebug() << "pixmapMode"<< (pixmapMode() == other.pixmapMode());
    00089     qDebug() << "pixmap"    << (pixmap().serialNumber() == other.pixmap().serialNumber());
    00090     */
    00091     return (
    00092             isVisible()  == other.isVisible() &&
    00093             brush()      == other.brush() &&
    00094             pixmapMode() == other.pixmapMode() &&
    00095             (ignorePixmap ||
    00096             pixmap().serialNumber() == other.pixmap().serialNumber()) );
    00097 }
    00098
    00099
    00100 BackgroundAttributes::~BackgroundAttributes()
    00101 {
    00102     delete _d; _d = 0;
    00103 }
    00104
    00105
    00106
    00107
    00108 void BackgroundAttributes::setVisible( bool visible )
    00109 {
    00110     d->visible = visible;
    00111 }
    00112
    00113
    00114 bool BackgroundAttributes::isVisible() const
    00115 {
    00116     return d->visible;
    00117 }
    00118
    00119 void BackgroundAttributes::setBrush( const QBrush &brush )
    00120 {
    00121     d->brush = brush;
    00122 }
    00123
    00124 QBrush BackgroundAttributes::brush() const
    00125 {
    00126     return d->brush;
    00127 }
    00128
    00129 void BackgroundAttributes::setPixmapMode( BackgroundPixmapMode mode )
    00130 {
    00131     d->pixmapMode = mode;
    00132 }
    00133
    00134 BackgroundAttributes::BackgroundPixmapMode BackgroundAttributes::pixmapMode() const
    00135 {
    00136     return d->pixmapMode;
    00137 }
    00138
    00139 void BackgroundAttributes::setPixmap( const QPixmap &backPixmap )
    00140 {
    00141     d->pixmap = backPixmap;
    00142 }
    00143
    00144 QPixmap BackgroundAttributes::pixmap() const
    00145 {
    00146     return d->pixmap;
    00147 }
    00148
    00149 #if !defined(QT_NO_DEBUG_STREAM)
    00150 QDebug operator<<(QDebug dbg, const KDChart::BackgroundAttributes& ba)
    00151 {
    00152     dbg << "KDChart::BackgroundAttributes("
    00153         << "visible="<<ba.isVisible()
    00154         << "brush="<<ba.brush()
    00155         << "pixmapmode="<<ba.pixmapMode()
    00156         << "pixmap="<<ba.pixmap()
    00157         << ")";
    00158     return dbg;
    00159 }
    00160 #endif /* QT_NO_DEBUG_STREAM */