Quantum GIS API Documentation  1.7.5-Wroclaw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
qgscomposerlabel.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgscomposerlabel.h
3  -------------------
4  begin : January 2005
5  copyright : (C) 2005 by Radim Blazek
6  email : blazek@itc.it
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 #ifndef QGSCOMPOSERLABEL_H
18 #define QGSCOMPOSERLABEL_H
19 
20 #include "qgscomposeritem.h"
21 
25 class CORE_EXPORT QgsComposerLabel: public QgsComposerItem
26 {
27  public:
28  QgsComposerLabel( QgsComposition *composition );
30 
32  virtual int type() const { return ComposerLabel; }
33 
35  void paint( QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget );
36 
38  void adjustSizeToText();
39 
40  QString text() {return mText;}
41  void setText( const QString& text );
42 
45  QString displayText() const;
46 
47  QFont font() const;
48  void setFont( const QFont& f );
49  Qt::AlignmentFlag vAlign() const { return mVAlignment; }
50  Qt::AlignmentFlag hAlign() const { return mHAlignment; }
51  void setHAlign( Qt::AlignmentFlag a ) {mHAlignment = a;}
52  void setVAlign( Qt::AlignmentFlag a ) {mVAlignment = a;}
53  double margin() {return mMargin;}
54  void setMargin( double m ) {mMargin = m;}
55 
58  void setFontColor( const QColor& c ) {mFontColor = c;}
61  QColor fontColor() const {return mFontColor;}
62 
67  bool writeXML( QDomElement& elem, QDomDocument & doc ) const;
68 
73  bool readXML( const QDomElement& itemElem, const QDomDocument& doc );
74 
77  QString id() const { return mId; }
78 
81  void setId( const QString& id ) { mId = id; }
82 
83  private:
84  // Text
85  QString mText;
86 
87  // Font
88  QFont mFont;
89 
90  // Border between text and fram (in mm)
91  double mMargin;
92 
93  // Font color
94  QColor mFontColor;
95 
96  // Horizontal Alignment
97  Qt::AlignmentFlag mHAlignment;
98 
99  // Vertical Alignment
100  Qt::AlignmentFlag mVAlignment;
101 
102  // Label id (unique within the same composition)
103  QString mId;
104 
106  void replaceDateText( QString& text ) const;
107 };
108 
109 #endif
110 
111