Qwt User's Guide
QwtText Class Reference

A class representing a text. More...

#include <qwt_text.h>

Public Types

enum  TextFormat {
  AutoText = 0, PlainText, RichText, MathMLText,
  TeXText, OtherFormat = 100
}
 Text format. More...
enum  PaintAttribute { PaintUsingTextFont = 0x01, PaintUsingTextColor = 0x02, PaintBackground = 0x04 }
 Paint Attributes. More...
enum  LayoutAttribute { MinimumLayout = 0x01 }
 Layout Attributes The layout attributes affects some aspects of the layout of the text. More...
typedef QFlags< PaintAttributePaintAttributes
 Paint attributes.
typedef QFlags< LayoutAttributeLayoutAttributes
 Layout attributes.

Public Member Functions

 QwtText (const QString &=QString::null, TextFormat textFormat=AutoText)
 QwtText (const QwtText &)
 Copy constructor.
 ~QwtText ()
 Destructor.
QwtTextoperator= (const QwtText &)
 Assignment operator.
bool operator== (const QwtText &) const
 Relational operator.
bool operator!= (const QwtText &) const
 Relational operator.
void setText (const QString &, QwtText::TextFormat textFormat=AutoText)
QString text () const
bool isNull () const
bool isEmpty () const
void setFont (const QFont &)
QFont font () const
 Return the font.
QFont usedFont (const QFont &) const
void setRenderFlags (int flags)
 Change the render flags.
int renderFlags () const
void setColor (const QColor &)
QColor color () const
 Return the pen color, used for painting the text.
QColor usedColor (const QColor &) const
void setBorderRadius (double)
double borderRadius () const
void setBorderPen (const QPen &)
QPen borderPen () const
void setBackgroundBrush (const QBrush &)
QBrush backgroundBrush () const
void setPaintAttribute (PaintAttribute, bool on=true)
bool testPaintAttribute (PaintAttribute) const
void setLayoutAttribute (LayoutAttribute, bool on=true)
bool testLayoutAttribute (LayoutAttribute) const
double heightForWidth (double width, const QFont &=QFont()) const
QSizeF textSize (const QFont &=QFont()) const
void draw (QPainter *painter, const QRectF &rect) const

Static Public Member Functions

static const QwtTextEnginetextEngine (const QString &text, QwtText::TextFormat=AutoText)
static const QwtTextEnginetextEngine (QwtText::TextFormat)
 Find the text engine for a text format.
static void setTextEngine (QwtText::TextFormat, QwtTextEngine *)

Detailed Description

A class representing a text.

A QwtText is a text including a set of attributes how to render it.

  • Format
    A text might include control sequences (f.e tags) describing how to render it. Each format (f.e MathML, TeX, Qt Rich Text) has its own set of control sequences, that can be handles by a special QwtTextEngine for this format.
  • Background
    A text might have a background, defined by a QPen and QBrush to improve its visibility. The corners of the background might be rounded.
  • Font
    A text might have an individual font.
  • Color
    A text might have an individual color.
  • Render Flags
    Flags from Qt::AlignmentFlag and Qt::TextFlag used like in QPainter::drawText().
See also:
QwtTextEngine, QwtTextLabel

Member Enumeration Documentation

Layout Attributes The layout attributes affects some aspects of the layout of the text.

Enumerator:
MinimumLayout 

Layout the text without its margins. This mode is useful if a text needs to be aligned accurately, like the tick labels of a scale. If QwtTextEngine::textMargins is not implemented for the format of the text, MinimumLayout has no effect.

Paint Attributes.

Font and color and background are optional attributes of a QwtText. The paint attributes hold the information, if they are set.

Enumerator:
PaintUsingTextFont 

The text has an individual font.

PaintUsingTextColor 

The text has an individual color.

PaintBackground 

The text has an individual background.

Text format.

The text format defines the QwtTextEngine, that is used to render the text.

See also:
QwtTextEngine, setTextEngine()
Enumerator:
AutoText 

The text format is determined using QwtTextEngine::mightRender() for all available text engines in increasing order > PlainText. If none of the text engines can render the text is rendered like QwtText::PlainText.

PlainText 

Draw the text as it is, using a QwtPlainTextEngine.

RichText 

Use the Scribe framework (Qt Rich Text) to render the text.

MathMLText 

Use a MathML (http://en.wikipedia.org/wiki/MathML) render engine to display the text. The Qwt MathML extension offers such an engine based on the MathML renderer of the Qt solutions package. To enable MathML support the following code needs to be added to the application:

QwtText::setTextEngine(QwtText::MathMLText, new QwtMathMLTextEngine()); 
TeXText 

Use a TeX (http://en.wikipedia.org/wiki/TeX) render engine to display the text ( not implemented yet ).

OtherFormat 

The number of text formats can be extended using setTextEngine. Formats >= QwtText::OtherFormat are not used by Qwt.


Constructor & Destructor Documentation

QwtText::QwtText ( const QString &  text = QString::null,
QwtText::TextFormat  textFormat = AutoText 
)

Constructor

Parameters:
textText content
textFormatText format

Member Function Documentation

QBrush QwtText::backgroundBrush ( ) const
Returns:
Background brush
See also:
setBackgroundBrush(), borderPen()
QPen QwtText::borderPen ( ) const
Returns:
Background pen
See also:
setBorderPen(), backgroundBrush()
double QwtText::borderRadius ( ) const
Returns:
Radius for the corners of the border frame
See also:
setBorderRadius(), borderPen(), backgroundBrush()
void QwtText::draw ( QPainter *  painter,
const QRectF &  rect 
) const

Draw a text into a rectangle

Parameters:
painterPainter
rectRectangle
double QwtText::heightForWidth ( double  width,
const QFont &  defaultFont = QFont() 
) const

Find the height for a given width

Parameters:
defaultFontFont, used for the calculation if the text has no font
widthWidth
Returns:
Calculated height
bool QwtText::isEmpty ( ) const [inline]
Returns:
text().isEmpty()
bool QwtText::isNull ( ) const [inline]
Returns:
text().isNull()
int QwtText::renderFlags ( ) const
Returns:
Render flags
See also:
setRenderFlags()
void QwtText::setBackgroundBrush ( const QBrush &  brush)

Set the background brush

Parameters:
brushBackground brush
See also:
backgroundBrush(), setBorderPen()
void QwtText::setBorderPen ( const QPen &  pen)

Set the background pen

Parameters:
penBackground pen
See also:
borderPen(), setBackgroundBrush()
void QwtText::setBorderRadius ( double  radius)

Set the radius for the corners of the border frame

Parameters:
radiusRadius of a rounded corner
See also:
borderRadius(), setBorderPen(), setBackgroundBrush()
void QwtText::setColor ( const QColor &  color)

Set the pen color used for drawing the text.

Parameters:
colorColor
Note:
Setting the color might have no effect, when the text contains control sequences for setting colors.
void QwtText::setFont ( const QFont &  font)

Set the font.

Parameters:
fontFont
Note:
Setting the font might have no effect, when the text contains control sequences for setting fonts.
void QwtText::setLayoutAttribute ( LayoutAttribute  attribute,
bool  on = true 
)

Change a layout attribute

Parameters:
attributeLayout attribute
onOn/Off
See also:
testLayoutAttribute()
void QwtText::setPaintAttribute ( PaintAttribute  attribute,
bool  on = true 
)

Change a paint attribute

Parameters:
attributePaint attribute
onOn/Off
Note:
Used by setFont(), setColor(), setBorderPen() and setBackgroundBrush()
See also:
testPaintAttribute()
void QwtText::setRenderFlags ( int  renderFlags)

Change the render flags.

The default setting is Qt::AlignCenter

Parameters:
renderFlagsBitwise OR of the flags used like in QPainter::drawText()
See also:
renderFlags(), QwtTextEngine::draw()
Note:
Some renderFlags might have no effect, depending on the text format.
void QwtText::setText ( const QString &  text,
QwtText::TextFormat  textFormat = AutoText 
)

Assign a new text content

Parameters:
textText content
textFormatText format
See also:
text()
void QwtText::setTextEngine ( QwtText::TextFormat  format,
QwtTextEngine engine 
) [static]

Assign/Replace a text engine for a text format

With setTextEngine it is possible to extend Qwt with other types of text formats.

For QwtText::PlainText it is not allowed to assign a engine == NULL.

Parameters:
formatText format
engineText engine
See also:
QwtMathMLTextEngine
Warning:
Using QwtText::AutoText does nothing.
bool QwtText::testLayoutAttribute ( LayoutAttribute  attribute) const

Test a layout attribute

Parameters:
attributeLayout attribute
Returns:
true, if attribute is enabled
See also:
setLayoutAttribute()
bool QwtText::testPaintAttribute ( PaintAttribute  attribute) const

Test a paint attribute

Parameters:
attributePaint attribute
Returns:
true, if attribute is enabled
See also:
setPaintAttribute()
QString QwtText::text ( ) const
Returns:
Text as QString.
See also:
setText()
const QwtTextEngine * QwtText::textEngine ( const QString &  text,
QwtText::TextFormat  format = AutoText 
) [static]

Find the text engine for a text format

In case of QwtText::AutoText the first text engine (beside QwtPlainTextEngine) is returned, where QwtTextEngine::mightRender returns true. If there is none QwtPlainTextEngine is returned.

If no text engine is registered for the format QwtPlainTextEngine is returnd.

Parameters:
textText, needed in case of AutoText
formatText format
Returns:
Corresponding text engine

Find the text engine for a text format.

textEngine can be used to find out if a text format is supported.

Parameters:
formatText format
Returns:
The text engine, or NULL if no engine is available.
QSizeF QwtText::textSize ( const QFont &  defaultFont = QFont()) const

Returns the size, that is needed to render text

Parameters:
defaultFontFont of the text
Returns:
Calculated size
QColor QwtText::usedColor ( const QColor &  defaultColor) const

Return the color of the text, if it has one. Otherwise return defaultColor.

Parameters:
defaultColorDefault color
Returns:
Color used for drawing the text
See also:
setColor(), color(), PaintAttributes
QFont QwtText::usedFont ( const QFont &  defaultFont) const

Return the font of the text, if it has one. Otherwise return defaultFont.

Parameters:
defaultFontDefault font
Returns:
Font used for drawing the text
See also:
setFont(), font(), PaintAttributes

List of all members.

 All Classes Functions Variables Typedefs Enumerations Enumerator