QGIS API Documentation  master-6227475
QgsComposerLabel Class Reference

A label that can be placed onto a map composition. More...

#include <qgscomposerlabel.h>

+ Inheritance diagram for QgsComposerLabel:
+ Collaboration diagram for QgsComposerLabel:

List of all members.

Public Slots

virtual void setRotation (double r)

Public Member Functions

 QgsComposerLabel (QgsComposition *composition)
 ~QgsComposerLabel ()
void adjustSizeToText ()
 resizes the widget such that the text fits to the item.
QString displayText () const
 Returns the text as it appears on screen (with replaced data field)
QFont font () const
QColor fontColor () const
 Get font color.
Qt::AlignmentFlag hAlign () const
 Accessor for the horizontal alignment of the label.
int htmlSate ()
double margin ()
 brief Accessor for the margin of the label
void paint (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget)
 Reimplementation of QCanvasItem::paint.
bool readXML (const QDomElement &itemElem, const QDomDocument &doc)
 sets state from Dom document
void setExpressionContext (QgsFeature *feature, QgsVectorLayer *layer, QMap< QString, QVariant > substitutions=(QMap< QString, QVariant >()))
 Sets the current feature, the current layer and a list of local variable substitutions for evaluating expressions.
void setFont (const QFont &f)
void setFontColor (const QColor &c)
 Sets text color.
void setHAlign (Qt::AlignmentFlag a)
 Mutator for the horizontal alignment of the label.
void setHtmlSate (int state)
void setMargin (double m)
 brief Mutator for the margin of the label
void setSceneRect (const QRectF &rectangle)
 Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit.
void setText (const QString &text)
void setVAlign (Qt::AlignmentFlag a)
 Mutator for the vertical alignment of the label.
QString text ()
virtual int type () const
 return correct graphics item type.
Qt::AlignmentFlag vAlign () const
 Accessor for the vertical alignment of the label.
bool writeXML (QDomElement &elem, QDomDocument &doc) const
 stores state in Dom element

Private Slots

void loadingHtmlFinished (bool)

Private Member Functions

double htmlUnitsToMM ()
void itemShiftAdjustSize (double newWidth, double newHeight, double &xShift, double &yShift) const
 Helper function to calculate x/y shift for adjustSizeToText() depending on rotation, current size and alignment.
void replaceDateText (QString &text) const
 Replaces replace '$CURRENT_DATE<(FORMAT)>' with the current date (e.g.

Private Attributes

QgsFeaturemExpressionFeature
QgsVectorLayermExpressionLayer
QFont mFont
QColor mFontColor
Qt::AlignmentFlag mHAlignment
bool mHtmlLoaded
int mHtmlState
double mHtmlUnitsToMM
double mMargin
QMap< QString, QVariant > mSubstitutions
QString mText
double mTextBoxHeight
 Height of the text box.
double mTextBoxWidth
 Width of the text box.
Qt::AlignmentFlag mVAlignment

Detailed Description

A label that can be placed onto a map composition.

Definition at line 29 of file qgscomposerlabel.h.


Constructor & Destructor Documentation

Definition at line 29 of file qgscomposerlabel.cpp.

References htmlUnitsToMM(), mFont, and mHtmlUnitsToMM.


Member Function Documentation

QString QgsComposerLabel::displayText ( ) const

Returns the text as it appears on screen (with replaced data field)

Note:
this function was added in version 1.2

Definition at line 173 of file qgscomposerlabel.cpp.

References QgsComposition::itemPageNumber(), QgsComposerItem::mComposition, mExpressionFeature, mExpressionLayer, mSubstitutions, mText, replaceDateText(), and QgsExpression::replaceExpressionText().

Referenced by adjustSizeToText(), and paint().

QFont QgsComposerLabel::font ( ) const

Definition at line 233 of file qgscomposerlabel.cpp.

References mFont.

QColor QgsComposerLabel::fontColor ( ) const [inline]

Get font color.

Note:
: this function was added in version 1.4

Definition at line 88 of file qgscomposerlabel.h.

Qt::AlignmentFlag QgsComposerLabel::hAlign ( ) const [inline]

Accessor for the horizontal alignment of the label.

Returns:
Qt::AlignmentFlag

Definition at line 67 of file qgscomposerlabel.h.

int QgsComposerLabel::htmlSate ( ) [inline]

Definition at line 48 of file qgscomposerlabel.h.

void QgsComposerLabel::itemShiftAdjustSize ( double  newWidth,
double  newHeight,
double &  xShift,
double &  yShift 
) const [private]

Helper function to calculate x/y shift for adjustSizeToText() depending on rotation, current size and alignment.

Definition at line 358 of file qgscomposerlabel.cpp.

References mHAlignment, QgsComposerItem::mRotation, and mVAlignment.

Referenced by adjustSizeToText().

void QgsComposerLabel::loadingHtmlFinished ( bool  result) [private, slot]

Definition at line 141 of file qgscomposerlabel.cpp.

References mHtmlLoaded.

Referenced by paint().

double QgsComposerLabel::margin ( ) [inline]

brief Accessor for the margin of the label

Definition at line 79 of file qgscomposerlabel.h.

bool QgsComposerLabel::readXML ( const QDomElement &  itemElem,
const QDomDocument &  doc 
) [virtual]

sets state from Dom document

Parameters:
itemElemis Dom element corresponding to 'ComposerLabel' tag
docdocument

Implements QgsComposerItem.

Definition at line 298 of file qgscomposerlabel.cpp.

References QgsComposerItem::_readXML(), QgsComposerItem::itemChanged(), mFont, mFontColor, mHAlignment, mHtmlState, mMargin, mText, and mVAlignment.

Referenced by QgsComposition::addItemsFromXML().

void QgsComposerLabel::replaceDateText ( QString &  text) const [private]

Replaces replace '$CURRENT_DATE<(FORMAT)>' with the current date (e.g.

$CURRENT_DATE(d 'June' yyyy)

Definition at line 182 of file qgscomposerlabel.cpp.

Referenced by displayText().

void QgsComposerLabel::setExpressionContext ( QgsFeature feature,
QgsVectorLayer layer,
QMap< QString, QVariant >  substitutions = ( QMap<QString, QVariant>() ) 
)

Sets the current feature, the current layer and a list of local variable substitutions for evaluating expressions.

Definition at line 164 of file qgscomposerlabel.cpp.

References mExpressionFeature, mExpressionLayer, and mSubstitutions.

void QgsComposerLabel::setFont ( const QFont &  f)

Definition at line 207 of file qgscomposerlabel.cpp.

References mFont.

void QgsComposerLabel::setFontColor ( const QColor &  c) [inline]

Sets text color.

Note:
: this function was added in version 1.4

Definition at line 85 of file qgscomposerlabel.h.

void QgsComposerLabel::setHAlign ( Qt::AlignmentFlag  a) [inline]

Mutator for the horizontal alignment of the label.

Parameters:
aalignment
Returns:
void

Definition at line 72 of file qgscomposerlabel.h.

void QgsComposerLabel::setHtmlSate ( int  state) [inline]

Definition at line 49 of file qgscomposerlabel.h.

void QgsComposerLabel::setMargin ( double  m) [inline]

brief Mutator for the margin of the label

Definition at line 81 of file qgscomposerlabel.h.

void QgsComposerLabel::setRotation ( double  r) [virtual, slot]
void QgsComposerLabel::setSceneRect ( const QRectF &  rectangle) [virtual]

Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit.

Reimplemented from QgsComposerItem.

Definition at line 250 of file qgscomposerlabel.cpp.

References QgsComposerItem::imageSizeConsideringRotation(), mTextBoxHeight, and mTextBoxWidth.

Referenced by adjustSizeToText(), QgsComposerView::mousePressEvent(), and setRotation().

void QgsComposerLabel::setText ( const QString &  text)

Definition at line 158 of file qgscomposerlabel.cpp.

References QgsComposerItem::itemChanged(), mText, and text().

Referenced by QgsComposerView::mousePressEvent().

void QgsComposerLabel::setVAlign ( Qt::AlignmentFlag  a) [inline]

Mutator for the vertical alignment of the label.

Parameters:
aalignment
Returns:
void

Definition at line 77 of file qgscomposerlabel.h.

QString QgsComposerLabel::text ( void  ) [inline]

Definition at line 45 of file qgscomposerlabel.h.

Referenced by setText().

virtual int QgsComposerLabel::type ( ) const [inline, virtual]

return correct graphics item type.

Added in v1.7

Reimplemented from QgsComposerItem.

Definition at line 37 of file qgscomposerlabel.h.

References QgsComposerItem::ComposerLabel.

Qt::AlignmentFlag QgsComposerLabel::vAlign ( ) const [inline]

Accessor for the vertical alignment of the label.

Returns:
Qt::AlignmentFlag

Definition at line 63 of file qgscomposerlabel.h.

bool QgsComposerLabel::writeXML ( QDomElement &  elem,
QDomDocument &  doc 
) const [virtual]

stores state in Dom element

Parameters:
elemis Dom element corresponding to 'Composer' tag
docdocument

Implements QgsComposerItem.

Definition at line 263 of file qgscomposerlabel.cpp.

References QgsComposerItem::_writeXML(), mFont, mFontColor, mHAlignment, mHtmlState, mMargin, mText, and mVAlignment.


Member Data Documentation

QColor QgsComposerLabel::mFontColor [private]

Definition at line 130 of file qgscomposerlabel.h.

Referenced by paint(), readXML(), and writeXML().

Qt::AlignmentFlag QgsComposerLabel::mHAlignment [private]

Definition at line 133 of file qgscomposerlabel.h.

Referenced by itemShiftAdjustSize(), paint(), readXML(), and writeXML().

Definition at line 118 of file qgscomposerlabel.h.

Referenced by loadingHtmlFinished(), and paint().

Definition at line 115 of file qgscomposerlabel.h.

Referenced by paint(), readXML(), and writeXML().

Definition at line 116 of file qgscomposerlabel.h.

Referenced by paint(), and QgsComposerLabel().

double QgsComposerLabel::mMargin [private]

Definition at line 127 of file qgscomposerlabel.h.

Referenced by adjustSizeToText(), paint(), readXML(), and writeXML().

QMap<QString, QVariant> QgsComposerLabel::mSubstitutions [private]

Definition at line 148 of file qgscomposerlabel.h.

Referenced by displayText(), and setExpressionContext().

QString QgsComposerLabel::mText [private]

Definition at line 112 of file qgscomposerlabel.h.

Referenced by displayText(), readXML(), setText(), and writeXML().

Height of the text box.

This is different to rectangle().height() in case there is rotation

Definition at line 144 of file qgscomposerlabel.h.

Referenced by adjustSizeToText(), paint(), setRotation(), and setSceneRect().

Width of the text box.

This is different to rectangle().width() in case there is rotation

Definition at line 142 of file qgscomposerlabel.h.

Referenced by adjustSizeToText(), paint(), setRotation(), and setSceneRect().

Qt::AlignmentFlag QgsComposerLabel::mVAlignment [private]

Definition at line 136 of file qgscomposerlabel.h.

Referenced by itemShiftAdjustSize(), paint(), readXML(), and writeXML().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines