QwtText(3)

NAME
QwtText -

SYNOPSIS

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 { PaintCached = 1, PaintPacked = 2, PaintFiltered = 1, ClipPolygons = 2, 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::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.

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

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

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

Assignement operator.

Definition at line 207 of file qwt_text.cpp.

References d_data, and d_layoutCache.

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

  QString QwtText::text () const

Return the text.

See also:
    setText

Definition at line 249 of file qwt_text.cpp.

Referenced by QwtPlot::grabProperties().

  bool QwtText::isNull () const [inline]

Returns:
    text().isNull()

Definition at line 149 of file qwt_text.h.

  bool QwtText::isEmpty () const [inline]

Returns:
    text().isEmpty()

Definition at line 152 of file qwt_text.h.

Referenced by QwtScaleDraw::boundingLabelRect(), QwtScaleDraw::drawLabel(), QwtRoundScaleDraw::drawLabel(), QwtPicker::drawTracker(), QwtRoundScaleDraw::extent(), QwtScaleDraw::labelRect(), and QwtPicker::trackerRect().

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

Referenced by QwtPlotPrintFilter::apply(), and QwtPicker::drawTracker().

  QFont QwtText::font () const

Return the font.

Definition at line 296 of file qwt_text.cpp.

Referenced by QwtPlotPrintFilter::apply(), draw(), heightForWidth(), and textSize().

  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 QwtPicker::drawTracker(), heightForWidth(), and textSize().

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

  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::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::apply(), and QwtPlotPrintFilter::reset().

  QColor QwtText::color () const

Return the pen color, used for painting the text.

Definition at line 330 of file qwt_text.cpp.

Referenced by QwtPlotPrintFilter::apply().

  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.

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

  QPen QwtText::backgroundPen () const

Returns:
    Background pen

See also:
    setBackgroundPen, backgroundBrush

Definition at line 366 of file qwt_text.cpp.

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

  QBrush QwtText::backgroundBrush () const

Returns:
    Background brush

See also:
    setBackgroundBrush, backgroundPen

Definition at line 387 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().

  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.

Referenced by QwtPlotPrintFilter::apply().

  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.

  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.

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

  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(), QwtMetricsMap::isIdentity(), QwtPainter::metricsMap(), QwtMetricsMap::screenToLayout(), and usedFont().

Referenced by QwtScaleDraw::boundingLabelRect(), QwtScaleDraw::drawLabel(), QwtRoundScaleDraw::drawLabel(), QwtRoundScaleDraw::extent(), QwtScaleDraw::labelRect(), and QwtPicker::trackerRect().

  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(), QwtPicker::drawTracker(), and QwtPlot::printTitle().

  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 646 of file qwt_text.cpp.

Referenced by QwtText(), and 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. 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 701 of file qwt_text.cpp.

  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 681 of file qwt_text.cpp.

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.