Qwt User's Guide: QwtText Class Reference

- Main Page
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# QwtText Class Reference

List of all members.

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

Definition at line 51 of file qwt_text.h.

## Public Types
enum | TextFormat { AutoText = 0, PlainText, RichText, MathMLText, TeXText, OtherFormat = 100 }
enum | PaintAttribute { PaintUsingTextFont = 1, PaintUsingTextColor = 2, PaintBackground = 4 }
enum | LayoutAttribute { MinimumLayout = 1 }
## Public Member Functions
| QwtText (const QString &=QString::null, TextFormat textFormat=AutoText)
| QwtText (const QwtText &)
| ~QwtText ()
QwtText & | operator= (const QwtText &)
int | operator== (const QwtText &) const
int | operator!= (const QwtText &) const
void | setText (const QString &, QwtText::TextFormat textFormat=AutoText)
QString | text () const
bool | isNull () const
bool | isEmpty () const
void | setFont (const QFont &)
QFont | font () const
QFont | usedFont (const QFont &) const
void | setRenderFlags (int flags)
int | renderFlags () const
void | setColor (const QColor &)
QColor | color () const
QColor | usedColor (const QColor &) const
void | setBackgroundPen (const QPen &)
QPen | backgroundPen () 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
int | heightForWidth (int width, const QFont &=QFont()) const
QSize | textSize (const QFont &=QFont()) const
void | draw (QPainter *painter, const QRect &rect) const
## Static Public Member Functions
static const QwtTextEngine * | textEngine (const QString &text, QwtText::TextFormat=AutoText)
static const QwtTextEngine * | textEngine (QwtText::TextFormat)
static void | setTextEngine (QwtText::TextFormat, QwtTextEngine *)

## Member Enumeration Documentation

enum QwtText::LayoutAttribute

| Layout Attributes. The layout attributes affects some aspects of the layout of the text. 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. Definition at line 129 of file qwt_text.h.

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. PaintUsingTextFont The text has an individual font. PaintUsingTextColor The text has an individual color. PaintBackground The text has an individual background. Definition at line 111 of file qwt_text.h.

enum QwtText::TextFormat

| Text format. The text format defines the QwtTextEngine, that is used to render the text. 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 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. Unfortunately it is only available for owners of a commercial Qt license. TeXText Use a TeX (http://en.wikipedia.org/wiki/TeX) render engine to display the text. OtherFormat The number of text formats can be extended using setTextEngine. Formats >= OtherFormat are not used by Qwt. See also: QwtTextEngine, setTextEngine Definition at line 85 of file qwt_text.h.

## Constructor & Destructor Documentation

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

  | Constructor Parameters:
  | text | Text content
  | textFormat | Text format
Definition at line 180 of file qwt_text.cpp. References textEngine().

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

| Copy constructor. Definition at line 190 of file qwt_text.cpp. References d_data, and d_layoutCache.

QwtText::~QwtText | ( |  | ) |

| Destructor. Definition at line 200 of file qwt_text.cpp.

## Member Function Documentation

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

| Returns: Background brush See also: setBackgroundBrush, backgroundPen Definition at line 387 of file qwt_text.cpp.

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

| Returns: Background pen See also: setBackgroundPen, backgroundBrush Definition at line 366 of file qwt_text.cpp.

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

| Return the pen color, used for painting the text. Definition at line 330 of file qwt_text.cpp.

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

  | Draw a text into a rectangle Parameters:
  | painter | Painter
  | rect | Rectangle
Definition at line 564 of file qwt_text.cpp. References QwtPainter::drawRect(), font(), QwtPainter::metricsMap(), QwtMetricsMap::screenToLayoutX(), and QwtMetricsMap::screenToLayoutY(). Referenced by QwtLegendItem::drawItem(), QwtScaleDraw::drawLabel(), QwtRoundScaleDraw::drawLabel(), QwtScaleWidget::drawTitle(), and QwtPlot::printTitle().

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

| Return the font. Definition at line 296 of file qwt_text.cpp. Referenced by draw(), heightForWidth(), and textSize().

int QwtText::heightForWidth | ( | int | 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 Definition at line 458 of file qwt_text.cpp. References font(), QwtMetricsMap::layoutToScreenX(), QwtPainter::metricsMap(), QwtMetricsMap::screenToLayoutY(), and usedFont().

bool QwtText::isEmpty | ( |  | ) | const`[inline]`

| Returns: text().isEmpty() Definition at line 152 of file qwt_text.h. Referenced by QwtScaleDraw::drawLabel(), QwtRoundScaleDraw::drawLabel(), QwtRoundScaleDraw::extent(), QwtScaleDraw::labelRect(), and QwtPicker::trackerRect().

bool QwtText::isNull | ( |  | ) | const`[inline]`

| Returns: text().isNull() Definition at line 149 of file qwt_text.h.

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

| Assignement operator. Definition at line 207 of file qwt_text.cpp. References d_data, and d_layoutCache.

int QwtText::renderFlags | ( |  | ) | const

| Returns: Render flags See also: setRenderFlags Definition at line 277 of file qwt_text.cpp. Referenced by QwtScaleWidget::setTitle().

void QwtText::setBackgroundBrush | ( | const QBrush & | brush | ) |

  | Set the background brush Parameters:
  | brush | Background brush
See also: backgroundBrush, setBackgroundPen Definition at line 377 of file qwt_text.cpp. References setPaintAttribute().

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

  | Set the background pen Parameters:
  | pen | Background pen
See also: backgroundPen, setBackgroundBrush Definition at line 356 of file qwt_text.cpp. References setPaintAttribute().

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. Definition at line 323 of file qwt_text.cpp. References setPaintAttribute(). Referenced by QwtPlotPrintFilter::reset().

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. Definition at line 289 of file qwt_text.cpp. References setPaintAttribute().

void QwtText::setLayoutAttribute | ( | LayoutAttribute | attribute,
|  | bool | on = `true`
| ) |

  | Change a layout attribute Parameters:
  | attribute | Layout attribute
  | on | On/Off
See also: testLayoutAttribute Definition at line 429 of file qwt_text.cpp.

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 Definition at line 401 of file qwt_text.cpp. Referenced by setBackgroundBrush(), setBackgroundPen(), setColor(), and setFont().

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. Definition at line 264 of file qwt_text.cpp. Referenced by QwtScaleWidget::drawTitle(), QwtLegendItem::setText(), QwtScaleWidget::setTitle(), and QwtAbstractScaleDraw::tickLabel().

void QwtText::setText | ( | const QString & | text,
|  | QwtText::TextFormat | textFormat = `AutoText`
| ) |

  | Assign a new text content Parameters:
  | text | Text content
  | textFormat | Text format
Definition at line 237 of file qwt_text.cpp. References textEngine().

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. Owner of a commercial Qt license can build the qwtmathml library, that is based on the MathML renderer, that is included in MML Widget component of the Qt solutions package. 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. Definition at line 667 of file qwt_text.cpp.

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

  | Test a layout attribute Parameters:
  | attribute | Layout attribute
Returns: true, if attribute is enabled See also: setLayoutAttribute Definition at line 445 of file qwt_text.cpp.

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

  | Test a paint attribute Parameters:
  | attribute | Paint attribute
Returns: true, if attribute is enabled See also: setPaintAttribute Definition at line 417 of file qwt_text.cpp.

QString QwtText::text | ( |  | ) | const

| Return the text. See also: setText Definition at line 249 of file qwt_text.cpp. Referenced by QwtPlot::grabProperties().

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. F.e, if one wants to use MathML labels, the MathML renderer from the commercial Qt solutions package might be required, that is not available in Qt Open Source Edition environments. Parameters:
  | format | Text format
Returns: The text engine, or NULL if no engine is available. Definition at line 687 of file qwt_text.cpp.

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
Definition at line 640 of file qwt_text.cpp. Referenced by QwtText(), and setText().

QSize QwtText::textSize | ( | const QFont & | defaultFont = `QFont()` | ) | const

  | Returns the size, that is needed to render text Parameters:
  | defaultFont | Font of the text
Returns: Caluclated size Definition at line 510 of file qwt_text.cpp. References font(), and usedFont(). Referenced by QwtScaleDraw::drawLabel(), QwtRoundScaleDraw::drawLabel(), QwtRoundScaleDraw::extent(), QwtScaleDraw::labelRect(), and QwtPicker::trackerRect().

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 Definition at line 342 of file qwt_text.cpp.

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 Definition at line 308 of file qwt_text.cpp. Referenced by heightForWidth(), and textSize().