# QwtText Class Reference

A class representing a text. More...

`#include <qwt_text.h>`

List of all members.

## Public Types

enum | LayoutAttribute { MinimumLayout = 0x01 }
typedef QFlags< LayoutAttribute > | LayoutAttributes
enum | PaintAttribute { PaintUsingTextFont = 0x01, PaintUsingTextColor = 0x02, PaintBackground = 0x04 }
typedef QFlags< PaintAttribute > | PaintAttributes
enum | TextFormat { AutoText = 0, PlainText, RichText, MathMLText, TeXText, OtherFormat = 100 }

## Public Member Functions

QBrush | backgroundBrush () const
QPen | backgroundPen () const
QColor | color () const
void | draw (QPainter *painter, const QRectF &rect) const
QFont | font () const
double | heightForWidth (double width, const QFont &=QFont()) const
bool | isEmpty () const
bool | isNull () const
bool | operator!= (const QwtText &) const
QwtText & | operator= (const QwtText &)
bool | operator== (const QwtText &) const
| QwtText (const QwtText &)
| QwtText (const QString &=QString::null, TextFormat textFormat=AutoText)
int | renderFlags () const
void | setBackgroundBrush (const QBrush &)
void | setBackgroundPen (const QPen &)
void | setColor (const QColor &)
void | setFont (const QFont &)
void | setLayoutAttribute (LayoutAttribute, bool on=true)
void | setPaintAttribute (PaintAttribute, bool on=true)
void | setRenderFlags (int flags)
void | setText (const QString &, QwtText::TextFormat textFormat=AutoText)
bool | testLayoutAttribute (LayoutAttribute) const
bool | testPaintAttribute (PaintAttribute) const
QString | text () const
QSizeF | textSize (const QFont &=QFont()) const
QColor | usedColor (const QColor &) const
QFont | usedFont (const QFont &) const
| ~QwtText ()

## Static Public Member Functions

static void | setTextEngine (QwtText::TextFormat, QwtTextEngine *)
static const QwtTextEngine * | textEngine (const QString &text, QwtText::TextFormat=AutoText)
static const QwtTextEngine * | textEngine (QwtText::TextFormat)

## 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 QwtTextEngine for this format.
- Background
  A text might have a background, defined by a QPen and QBrush to improve its visibility.
- 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 Typedef Documentation

typedef QFlags<LayoutAttribute> QwtText::LayoutAttributes

Layout attributes.

typedef QFlags<PaintAttribute> QwtText::PaintAttributes

Paint attributes.

## 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

QwtText::QwtText | ( | const QwtText & | other | ) |

Copy constructor.

QwtText::~QwtText | ( |  | ) |

Destructor.

## Member Function Documentation

QBrush QwtText::backgroundBrush | ( |  | ) | const

Returns:
  Background brush

See also:
  setBackgroundBrush(), backgroundPen()

QPen QwtText::backgroundPen | ( |  | ) | const

Returns:
  Background pen

See also:
  setBackgroundPen(), backgroundBrush()

QColor QwtText::color | ( |  | ) | const

Return the pen color, used for painting the text.

void QwtText::draw | ( | QPainter * | painter,
|  | const QRectF & | rect
| ) |  | const

Draw a text into a rectangle

Parameters:

  painter | Painter
  rect | Rectangle

QFont QwtText::font | ( |  | ) | const

Return the font.

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()

bool QwtText::operator!= | ( | const QwtText & | other | ) | const

Relational operator.

QwtText & QwtText::operator= | ( | const QwtText & | other | ) |

Assignment operator.

bool QwtText::operator== | ( | const QwtText & | other | ) | const

Relational operator.

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(), setBackgroundPen()

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

Set the background pen

Parameters:

  pen | Background pen

See also:
  backgroundPen(), setBackgroundBrush()

void QwtText::setColor | ( | const QColor & | color | ) |

Set the pen color used for painting 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(), setBackgroundPen() 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

Return the text.

See also:
  setText()

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.

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 returnd.

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

Parameters:

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

QSizeF QwtText::textSize | ( | 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

Returns:
  Calculated height

Returns the size, that is needed to render text

Parameters:

  defaultFont | Font of the text

Returns:
  Caluclated 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

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

See also:
  setFont(), font(), PaintAttributes