KDChartMarkerAttributes.h

Go to the documentation of this file.
00001 /****************************************************************************
00002 ** Copyright (C) 2001-2011 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 KDCHARTMARKERATTRIBUTES_H
00024 #define KDCHARTMARKERATTRIBUTES_H
00025 
00026 #include <QMetaType>
00027 #include "KDChartGlobal.h"
00028 
00029 class QColor;
00030 class QSizeF;
00031 class QPen;
00032 class QDebug;
00033 template <typename T, typename K> class QMap;
00034 
00035 namespace KDChart {
00036 
00040     class KDCHART_EXPORT MarkerAttributes
00041     {
00042     public:
00043         MarkerAttributes();
00044         MarkerAttributes( const MarkerAttributes& );
00045         MarkerAttributes &operator= ( const MarkerAttributes& );
00046 
00047         ~MarkerAttributes();
00048 
00049         enum MarkerStyle { MarkerCircle  = 0,
00050                            MarkerSquare  = 1,
00051                            MarkerDiamond = 2,
00052                            Marker1Pixel  = 3,
00053                            Marker4Pixels = 4,
00054                            MarkerRing    = 5,
00055                            MarkerCross   = 6,
00056                            MarkerFastCross = 7,
00057                            NoMarker = 8 };
00058 
00059         void setVisible( bool visible );
00060         bool isVisible() const;
00061 
00062         typedef QMap<uint, MarkerStyle> MarkerStylesMap;
00063         void setMarkerStylesMap( const MarkerStylesMap & map );
00064         MarkerStylesMap markerStylesMap() const;
00065 
00066         void setMarkerStyle( MarkerStyle style );
00067         MarkerStyle markerStyle() const;
00068 
00076         void setMarkerSize( const QSizeF& size );
00077         QSizeF markerSize() const;
00078 
00079         void setMarkerColor( const QColor& color );
00080         QColor markerColor() const;
00081 
00082         void setPen( const QPen& pen );
00083         QPen pen() const;
00084 
00085         bool operator==( const MarkerAttributes& ) const;
00086         bool operator!=( const MarkerAttributes& ) const;
00087 
00088     private:
00089         KDCHART_DECLARE_PRIVATE_BASE_VALUE( MarkerAttributes )
00090     }; // End of class MarkerAttributes
00091 
00092     inline bool MarkerAttributes::operator!=( const MarkerAttributes & other ) const { return !operator==( other ); }
00093 }
00094 
00095 KDCHART_DECLARE_SWAP_SPECIALISATION( KDChart::MarkerAttributes )
00096 Q_DECLARE_TYPEINFO( KDChart::MarkerAttributes, Q_MOVABLE_TYPE );
00097 Q_DECLARE_METATYPE( KDChart::MarkerAttributes )
00098 
00099 #ifndef QT_NO_DEBUG_STREAM
00100 KDCHART_EXPORT QDebug operator<<( QDebug, const KDChart::MarkerAttributes & );
00101 #endif
00102 
00103 #endif // KDCHARTMARKERATTRIBUTES_H
 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/