<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- /home/espenr/tmp/qt-3.2-espenr-29145/qt-x11-free-3.2.3/src/kernel/qsimplerichtext.cpp:75 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>QSimpleRichText Class</title> <style type="text/css"><!-- h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; } a:link { color: #004faf; text-decoration: none } a:visited { color: #672967; text-decoration: none } body { background: #ffffff; color: black; } --></style> </head> <body> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr bgcolor="#E5E5E5"> <td valign=center> <a href="index.html"> <font color="#004faf">Home</font></a> | <a href="classes.html"> <font color="#004faf">All Classes</font></a> | <a href="mainclasses.html"> <font color="#004faf">Main Classes</font></a> | <a href="annotated.html"> <font color="#004faf">Annotated</font></a> | <a href="groups.html"> <font color="#004faf">Grouped Classes</font></a> | <a href="functions.html"> <font color="#004faf">Functions</font></a> </td> <td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSimpleRichText Class Reference</h1> <p>The QSimpleRichText class provides a small displayable piece of rich text. <a href="#details">More...</a> <p><tt>#include <<a href="qsimplerichtext-h.html">qsimplerichtext.h</a>></tt> <p><a href="qsimplerichtext-members.html">List of all member functions.</a> <h2>Public Members</h2> <ul> <li><div class=fn><a href="#QSimpleRichText"><b>QSimpleRichText</b></a> ( const QString & text, const QFont & fnt, const QString & context = QString::null, const QStyleSheet * sheet = 0 )</div></li> <li><div class=fn><a href="#QSimpleRichText-2"><b>QSimpleRichText</b></a> ( const QString & text, const QFont & fnt, const QString & context, const QStyleSheet * sheet, const QMimeSourceFactory * factory, int pageBreak = -1, const QColor & linkColor = Qt::blue, bool linkUnderline = TRUE )</div></li> <li><div class=fn><a href="#~QSimpleRichText"><b>~QSimpleRichText</b></a> ()</div></li> <li><div class=fn>void <a href="#setWidth-2"><b>setWidth</b></a> ( int w )</div></li> <li><div class=fn>void <a href="#setWidth"><b>setWidth</b></a> ( QPainter * p, int w )</div></li> <li><div class=fn>void <a href="#setDefaultFont"><b>setDefaultFont</b></a> ( const QFont & f )</div></li> <li><div class=fn>int <a href="#width"><b>width</b></a> () const</div></li> <li><div class=fn>int <a href="#widthUsed"><b>widthUsed</b></a> () const</div></li> <li><div class=fn>int <a href="#height"><b>height</b></a> () const</div></li> <li><div class=fn>void <a href="#adjustSize"><b>adjustSize</b></a> ()</div></li> <li><div class=fn>void <a href="#draw"><b>draw</b></a> ( QPainter * p, int x, int y, const QRect & clipRect, const QColorGroup & cg, const QBrush * paper = 0 ) const</div></li> <li><div class=fn>void draw ( QPainter * p, int x, int y, const QRegion & clipRegion, const QColorGroup & cg, const QBrush * paper = 0 ) const <em>(obsolete)</em></div></li> <li><div class=fn>QString <a href="#context"><b>context</b></a> () const</div></li> <li><div class=fn>QString <a href="#anchorAt"><b>anchorAt</b></a> ( const QPoint & pos ) const</div></li> <li><div class=fn>bool <a href="#inText"><b>inText</b></a> ( const QPoint & pos ) const</div></li> </ul> <hr><a name="details"></a><h2>Detailed Description</h2> The QSimpleRichText class provides a small displayable piece of rich text. <p> <p> This class encapsulates simple rich text usage in which a string is interpreted as rich text and can be drawn. This is particularly useful if you want to display some rich text in a custom widget. A <a href="qstylesheet.html">QStyleSheet</a> is needed to interpret the tags and format the rich text. Qt provides a default HTML-like style sheet, but you may define custom style sheets. <p> Once created, the rich text object can be queried for its <a href="#width">width</a>(), <a href="#height">height</a>(), and the actual width used (see <a href="#widthUsed">widthUsed</a>()). Most importantly, it can be drawn on any given <a href="qpainter.html">QPainter</a> with <a href="#draw">draw</a>(). QSimpleRichText can also be used to implement hypertext or active text facilities by using <a href="#anchorAt">anchorAt</a>(). A hit test through <a href="#inText">inText</a>() makes it possible to use simple rich text for text objects in editable drawing canvases. <p> Once constructed from a string the contents cannot be changed, only resized. If the contents change, just throw the rich text object away and make a new one with the new contents. <p> For large documents use <a href="qtextedit.html">QTextEdit</a> or <a href="qtextbrowser.html">QTextBrowser</a>. For very small items of rich text you can use a <a href="qlabel.html">QLabel</a>. <p> If you are using QSimpleRichText to print in high resolution you should call <a href="#setWidth">setWidth</a>(QPainter, int) so that the content will be laid out properly on the page. <p>See also <a href="text.html">Text Related Classes</a>. <hr><h2>Member Function Documentation</h2> <h3 class=fn><a name="QSimpleRichText"></a>QSimpleRichText::QSimpleRichText ( const <a href="qstring.html">QString</a> & text, const <a href="qfont.html">QFont</a> & fnt, const <a href="qstring.html">QString</a> & context = QString::null, const <a href="qstylesheet.html">QStyleSheet</a> * sheet = 0 ) </h3> Constructs a QSimpleRichText from the rich text string <em>text</em> and the font <em>fnt</em>. <p> The font is used as a basis for the text rendering. When using rich text rendering on a widget <em>w</em>, you would normally specify the widget's font, for example: <p> <pre> QSimpleRichText myrichtext( contents, mywidget->font() ); </pre> <p> <em>context</em> is the optional context of the rich text object. This becomes important if <em>text</em> contains relative references, for example within image tags. QSimpleRichText always uses the default mime source factory (see <a href="qmimesourcefactory.html#defaultFactory">QMimeSourceFactory::defaultFactory</a>()) to resolve those references. The context will then be used to calculate the absolute path. See <a href="qmimesourcefactory.html#makeAbsolute">QMimeSourceFactory::makeAbsolute</a>() for details. <p> The <em>sheet</em> is an optional style sheet. If it is 0, the default style sheet will be used (see <a href="qstylesheet.html#defaultSheet">QStyleSheet::defaultSheet</a>()). <h3 class=fn><a name="QSimpleRichText-2"></a>QSimpleRichText::QSimpleRichText ( const <a href="qstring.html">QString</a> & text, const <a href="qfont.html">QFont</a> & fnt, const <a href="qstring.html">QString</a> & context, const <a href="qstylesheet.html">QStyleSheet</a> * sheet, const <a href="qmimesourcefactory.html">QMimeSourceFactory</a> * factory, int pageBreak = -1, const <a href="qcolor.html">QColor</a> & linkColor = Qt::blue, bool linkUnderline = TRUE ) </h3> Constructs a QSimpleRichText from the rich text string <em>text</em> and the font <em>fnt</em>. <p> This is a slightly more complex constructor for QSimpleRichText that takes an additional mime source factory <em>factory</em>, a page break parameter <em>pageBreak</em> and a bool <em>linkUnderline</em>. <em>linkColor</em> is only provided for compatibility, but has no effect, as <a href="qcolorgroup.html">QColorGroup</a>'s <a href="qcolorgroup.html#link">QColorGroup::link</a>() color is used now. <p> <em>context</em> is the optional context of the rich text object. This becomes important if <em>text</em> contains relative references, for example within image tags. QSimpleRichText always uses the default mime source factory (see <a href="qmimesourcefactory.html#defaultFactory">QMimeSourceFactory::defaultFactory</a>()) to resolve those references. The context will then be used to calculate the absolute path. See <a href="qmimesourcefactory.html#makeAbsolute">QMimeSourceFactory::makeAbsolute</a>() for details. <p> The <em>sheet</em> is an optional style sheet. If it is 0, the default style sheet will be used (see <a href="qstylesheet.html#defaultSheet">QStyleSheet::defaultSheet</a>()). <p> This constructor is useful for creating a QSimpleRichText object suitable for printing. Set <em>pageBreak</em> to be the height of the contents area of the pages. <h3 class=fn><a name="~QSimpleRichText"></a>QSimpleRichText::~QSimpleRichText () </h3> Destroys the rich text object, freeing memory. <h3 class=fn>void <a name="adjustSize"></a>QSimpleRichText::adjustSize () </h3> Adjusts the richt text object to a reasonable size. <p> <p>See also <a href="#setWidth">setWidth</a>(). <h3 class=fn><a href="qstring.html">QString</a> <a name="anchorAt"></a>QSimpleRichText::anchorAt ( const <a href="qpoint.html">QPoint</a> & pos ) const </h3> Returns the anchor at the requested position, <em>pos</em>. An empty string is returned if no anchor is specified for this position. <h3 class=fn><a href="qstring.html">QString</a> <a name="context"></a>QSimpleRichText::context () const </h3> Returns the context of the rich text object. If no context has been specified in the constructor, a null string is returned. The context is the path to use to look up relative links, such as image tags and anchor references. <h3 class=fn>void <a name="draw"></a>QSimpleRichText::draw ( <a href="qpainter.html">QPainter</a> * p, int x, int y, const <a href="qrect.html">QRect</a> & clipRect, const <a href="qcolorgroup.html">QColorGroup</a> & cg, const <a href="qbrush.html">QBrush</a> * paper = 0 ) const </h3> Draws the formatted text with painter <em>p</em>, at position (<em>x</em>, <em>y</em>), clipped to <em>clipRect</em>. The clipping rectangle is given in the rich text object's coordinates translated by (<em>x</em>, <em>y</em>). Passing an null rectangle results in no clipping. Colors from the color group <em>cg</em> are used as needed, and if not 0, <em>*paper</em> is used as the background brush. <p> Note that the display code is highly optimized to reduce flicker, so passing a brush for <em>paper</em> is preferable to simply clearing the area to be painted and then calling this without a brush. <p>Examples: <a href="qaction-application-example.html#x1101">action/application.cpp</a>, <a href="simple-application-example.html#x1553">application/application.cpp</a>, <a href="helpviewer-example.html#x1008">helpviewer/helpwindow.cpp</a>, and <a href="mdi-example.html#x2062">mdi/application.cpp</a>. <h3 class=fn>void <a name="draw-2"></a>QSimpleRichText::draw ( <a href="qpainter.html">QPainter</a> * p, int x, int y, const <a href="qregion.html">QRegion</a> & clipRegion, const <a href="qcolorgroup.html">QColorGroup</a> & cg, const <a href="qbrush.html">QBrush</a> * paper = 0 ) const </h3> <p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code. <p> Use the version with clipRect instead. The region version has problems with larger documents on some platforms (on X11 regions internally are represented with 16bit coordinates). <h3 class=fn>int <a name="height"></a>QSimpleRichText::height () const </h3> Returns the height of the rich text object in pixels. <p> <p>See also <a href="#setWidth">setWidth</a>(). <p>Examples: <a href="qaction-application-example.html#x1102">action/application.cpp</a>, <a href="simple-application-example.html#x1554">application/application.cpp</a>, <a href="helpviewer-example.html#x1009">helpviewer/helpwindow.cpp</a>, and <a href="mdi-example.html#x2063">mdi/application.cpp</a>. <h3 class=fn>bool <a name="inText"></a>QSimpleRichText::inText ( const <a href="qpoint.html">QPoint</a> & pos ) const </h3> Returns TRUE if <em>pos</em> is within a text line of the rich text object; otherwise returns FALSE. <h3 class=fn>void <a name="setDefaultFont"></a>QSimpleRichText::setDefaultFont ( const <a href="qfont.html">QFont</a> & f ) </h3> Sets the default font for the rich text object to <em>f</em> <h3 class=fn>void <a name="setWidth"></a>QSimpleRichText::setWidth ( <a href="qpainter.html">QPainter</a> * p, int w ) </h3> Sets the width of the rich text object to <em>w</em> pixels, recalculating the layout as if it were to be drawn with painter <em>p</em>. <p> Passing a painter is useful when you intend drawing on devices other than the screen, for example a <a href="qprinter.html">QPrinter</a>. <p> <p>See also <a href="#height">height</a>() and <a href="#adjustSize">adjustSize</a>(). <p>Examples: <a href="qaction-application-example.html#x1103">action/application.cpp</a>, <a href="simple-application-example.html#x1555">application/application.cpp</a>, <a href="helpviewer-example.html#x1010">helpviewer/helpwindow.cpp</a>, and <a href="mdi-example.html#x2064">mdi/application.cpp</a>. <h3 class=fn>void <a name="setWidth-2"></a>QSimpleRichText::setWidth ( int w ) </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Sets the width of the rich text object to <em>w</em> pixels. <p> <p>See also <a href="#height">height</a>() and <a href="#adjustSize">adjustSize</a>(). <h3 class=fn>int <a name="width"></a>QSimpleRichText::width () const </h3> Returns the set width of the rich text object in pixels. <p> <p>See also <a href="#widthUsed">widthUsed</a>(). <h3 class=fn>int <a name="widthUsed"></a>QSimpleRichText::widthUsed () const </h3> Returns the width in pixels that is actually used by the rich text object. This can be smaller or wider than the set width. <p> It may be wider, for example, if the text contains images or non-breakable words that are already wider than the available space. It's smaller when the object only consists of lines that do not fill the width completely. <p> <p>See also <a href="#width">width</a>(). <!-- eof --> <hr><p> This file is part of the <a href="index.html">Qt toolkit</a>. Copyright © 1995-2003 <a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center> <table width=100% cellspacing=0 border=0><tr> <td>Copyright © 2003 <a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> <td align=right><div align=right>Qt 3.2.3</div> </table></div></address></body> </html>