KDChartTextPiece.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef __KDCHARTTEXTPIECE_H__
00030 #define __KDCHARTTEXTPIECE_H__
00031
00032 #include <qstring.h>
00033 #include <qfont.h>
00034 #include <qregion.h>
00035 #include <qpalette.h>
00036 #include <qobject.h>
00037 #include <kdchart_export.h>
00038
00039 class QBrush;
00040 class QPainter;
00041 class QSimpleRichText;
00042 class QFontMetrics;
00043
00044 class KDCHART_EXPORT KDChartTextPiece :public QObject
00045 {
00046 Q_OBJECT
00047
00048 public:
00049 KDChartTextPiece();
00050 KDChartTextPiece( const QString& text, const QFont& font );
00051 KDChartTextPiece( QPainter* painter, const QString& text, const QFont& font );
00052 virtual ~KDChartTextPiece();
00060 void deepCopy( const KDChartTextPiece* source );
00061
00062
00072 const KDChartTextPiece* clone() const;
00073
00074 private:
00075 KDChartTextPiece( const KDChartTextPiece& ) : QObject(0) {}
00076
00077 public slots:
00078 virtual int width() const;
00079 virtual int height() const;
00080 virtual int fontLeading() const;
00081 virtual QRect rect( QPainter *p, const QRect& clipRect) const;
00082 virtual void draw( QPainter *p, int x, int y, const QRect& clipRect,
00083 const QColor& color, const QBrush* paper = 0 ) const;
00084 virtual void draw( QPainter *p, int x, int y, const QRegion& clipRegion,
00085 const QColor& color, const QBrush* paper = 0 ) const;
00086
00087 QString text() const;
00088 QFont font() const;
00089 bool isRichText() const;
00090
00091
00092 protected:
00093 bool _isRichText;
00094 QSimpleRichText* _richText;
00095 QString _text;
00096 QFont _font;
00097 QFontMetrics* _metrics;
00098 bool _dirtyMetrics;
00099 };
00100
00101 #endif