kchart
KDChartTextPiece.h00001
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
|