QwtText Class Reference

A class representing a text. More...

#include <qwt_text.h>

List of all members.

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 ()
QwtTextoperator= (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 QwtTextEnginetextEngine (const QString &text, QwtText::TextFormat=AutoText)
static const QwtTextEnginetextEngine (QwtText::TextFormat)
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.

See also:
QwtTextEngine, QwtTextLabel

Member Enumeration Documentation

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.

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.

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

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 QRect &  rect 
) const

Draw a text into a rectangle

Parameters:
painter Painter
rect Rectangle
QFont QwtText::font (  )  const

Return the font.

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
bool QwtText::isEmpty (  )  const [inline]
Returns:
text().isEmpty()
bool QwtText::isNull (  )  const [inline]
Returns:
text().isNull()
int QwtText::operator!= ( const QwtText other  )  const

Relational operator.

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

Assignment operator.

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

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.
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. 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.
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
QSize 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
Generated on Sun Apr 11 11:56:25 2010 for Qwt User's Guide by  doxygen 1.6.3