# KDChartMarkerAttributes.h

Go to the documentation of this file.

    00001 /* -*- Mode: C++ -*-
    00002    KDChart - a multi-platform charting engine
    00003 */
    00004
    00005 /****************************************************************************
    00006  ** Copyright (C) 2005-2006 Klarälvdalens Datakonsult AB.  All rights reserved.
    00007  **
    00008  ** This file is part of the KD Chart library.
    00009  **
    00010  ** This file may be distributed and/or modified under the terms of the
    00011  ** GNU General Public License version 2 as published by the Free Software
    00012  ** Foundation and appearing in the file LICENSE.GPL included in the
    00013  ** packaging of this file.
    00014  **
    00015  ** Licensees holding valid commercial KD Chart licenses may use this file in
    00016  ** accordance with the KD Chart Commercial License Agreement provided with
    00017  ** the Software.
    00018  **
    00019  ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
    00020  ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
    00021  **
    00022  ** See http://www.kdab.net/kdchart for
    00023  **   information about KD Chart Commercial License Agreements.
    00024  **
    00025  ** Contact info@kdab.net if any conditions of this
    00026  ** licensing are not clear to you.
    00027  **
    00028  **********************************************************************/
    00029
    00030 #ifndef KDCHARTMARKERATTRIBUTES_H
    00031 #define KDCHARTMARKERATTRIBUTES_H
    00032
    00033 #include <QMetaType>
    00034 #include "KDChartGlobal.h"
    00035
    00036 class QColor;
    00037 class QSizeF;
    00038 class QPen;
    00039 class QDebug;
    00040 template <typename T, typename K> class QMap;
    00041
    00042 namespace KDChart {
    00043
    00044     class KDCHART_EXPORT MarkerAttributes
    00045     {
    00046     public:
    00047         MarkerAttributes();
    00048         MarkerAttributes( const MarkerAttributes& );
    00049         MarkerAttributes &operator= ( const MarkerAttributes& );
    00050
    00051         ~MarkerAttributes();
    00052
    00053         enum MarkerStyle { MarkerCircle  = 0,
    00054                            MarkerSquare  = 1,
    00055                            MarkerDiamond = 2,
    00056                            Marker1Pixel  = 3,
    00057                            Marker4Pixels = 4,
    00058                            MarkerRing    = 5,
    00059                            MarkerCross   = 6,
    00060                            MarkerFastCross = 7 };
    00061
    00062         void setVisible( bool visible );
    00063         bool isVisible() const;
    00064
    00065         typedef QMap<uint, MarkerStyle> MarkerStylesMap;
    00066         void setMarkerStylesMap( const MarkerStylesMap & map );
    00067         MarkerStylesMap markerStylesMap() const;
    00068
    00069         void setMarkerStyle( MarkerStyle style );
    00070         MarkerStyle markerStyle() const;
    00071
    00079         void setMarkerSize( const QSizeF& size );
    00080         QSizeF markerSize() const;
    00081
    00082         void setMarkerColor( const QColor& color );
    00083         QColor markerColor() const;
    00084
    00085         void setPen( const QPen& pen );
    00086         QPen pen() const;
    00087
    00088
    00089         bool operator==( const MarkerAttributes& ) const;
    00090         bool operator!=( const MarkerAttributes& ) const;
    00091
    00092     private:
    00093         KDCHART_DECLARE_PRIVATE_BASE_VALUE( MarkerAttributes )
    00094     }; // End of class MarkerAttributes
    00095
    00096     inline bool MarkerAttributes::operator!=( const MarkerAttributes & other ) const { return !operator==( other ); }
    00097 }
    00098
    00099 KDCHART_DECLARE_SWAP_SPECIALISATION( KDChart::MarkerAttributes )
    00100 Q_DECLARE_TYPEINFO( KDChart::MarkerAttributes, Q_MOVABLE_TYPE );
    00101 Q_DECLARE_METATYPE( KDChart::MarkerAttributes )
    00102
    00103 #ifndef QT_NO_DEBUG_STREAM
    00104 KDCHART_EXPORT QDebug operator<<( QDebug, const KDChart::MarkerAttributes & );
    00105 #endif
    00106
    00107 #endif // KDCHARTMARKERATTRIBUTES_H