kdeui
kwordwrap.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 #ifndef kwordwrap_h
00020 #define kwordwrap_h
00021
00022 #include <qfontmetrics.h>
00023 #include <qvaluelist.h>
00024 #include <qrect.h>
00025 #include <qstring.h>
00026
00027 #include <kdelibs_export.h>
00028
00048 class KDEUI_EXPORT KWordWrap
00049 {
00050 public:
00056 enum { FadeOut = 0x10000000, Truncate = 0x20000000 };
00057
00069 static KWordWrap* formatText( QFontMetrics &fm, const QRect & r, int flags, const QString & str, int len = -1 );
00070
00077 QRect boundingRect() const { return m_boundingRect; }
00078
00083 QString wrappedString() const;
00084
00090 QString truncatedString( bool dots = true ) const;
00091
00104 void drawText( QPainter *painter, int x, int y, int flags = Qt::AlignAuto ) const;
00105
00109 ~KWordWrap();
00110
00123 static void drawFadeoutText( QPainter *p, int x, int y, int maxW,
00124 const QString &t );
00125
00136 static void drawTruncateText( QPainter *p, int x, int y, int maxW,
00137 const QString &t );
00138
00139 private:
00140 KWordWrap( const QRect & r );
00141 QValueList<int> m_breakPositions;
00142 QValueList<int> m_lineWidths;
00143 QRect m_boundingRect;
00144 QString m_text;
00145 private:
00146 class KWordWrapPrivate* d;
00147 };
00148
00149 #endif