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< PaintAttribute > | PaintAttributes
| Paint attributes.
typedef QFlags< LayoutAttribute > | LayoutAttributes
| Layout attributes.

## Public Member Functions

| QwtText (const QString &=QString::null, TextFormat textFormat=AutoText)
| QwtText (const QwtText &)
| Copy constructor.
| ~QwtText ()
| Destructor.
QwtText & | operator= (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. More...
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 QwtTextEngine * | textEngine (const QString &text, QwtText::TextFormat=AutoText)
static const QwtTextEngine * | textEngine (QwtText::TextFormat)
| Find the text engine for a text format. More...
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

enum QwtText::LayoutAttribute

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.

enum QwtText::PaintAttribute

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.

enum QwtText::TextFormat

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

  text | Text content
  textFormat | Text 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

  painter | Painter
  rect | Rectangle

double QwtText::heightForWidth | ( | double | width,
|  | const QFont & | defaultFont = `QFont()`
| ) |  | const

Find the height for a given width

Parameters

  defaultFont | Font, used for the calculation if the text has no font
  width | Width

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

  brush | Background brush

See also
  backgroundBrush(), setBorderPen()

void QwtText::setBorderPen | ( | const QPen & | pen | ) |

Set the background pen

Parameters

  pen | Background pen

See also
  borderPen(), setBackgroundBrush()

void QwtText::setBorderRadius | ( | double | radius | ) |

Set the radius for the corners of the border frame

Parameters

  radius | Radius 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

  color | Color

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

  font | Font

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

  attribute | Layout attribute
  on | On/Off

See also
  testLayoutAttribute()

void QwtText::setPaintAttribute | ( | PaintAttribute | attribute,
|  | bool | on = `true`
| ) |  |

Change a paint attribute

Parameters

  attribute | Paint attribute
  on | On/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

  renderFlags | Bitwise 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

  text | Text content
  textFormat | Text 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

  format | Text format
  engine | Text engine

See also
  QwtMathMLTextEngine

Warning
  Using QwtText::AutoText does nothing.

bool QwtText::testLayoutAttribute | ( | LayoutAttribute | attribute | ) | const

Test a layout attribute

Parameters

  attribute | Layout attribute

Returns
  true, if attribute is enabled

See also
  setLayoutAttribute()

bool QwtText::testPaintAttribute | ( | PaintAttribute | attribute | ) | const

Test a paint attribute

Parameters

  attribute | Paint 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

  text | Text, needed in case of AutoText
  format | Text format

Returns
  Corresponding text engine

const QwtTextEngine * QwtText::textEngine | ( | QwtText::TextFormat | format | ) |

static

Find the text engine for a text format.

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

Parameters

  format | Text 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

  defaultFont | Font 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

  defaultColor | Default 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

  defaultFont | Default font

Returns
  Font used for drawing the text

See also
  setFont(), font(), PaintAttributes