QGIS API Documentation  3.10.0-A Coruña (6c816b4204)
qgslegendstyle.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgslegendstyle.h
3  -------------------
4  begin : March 2013
5  copyright : (C) 2013 by Radim Blazek
6  email : [email protected]
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 
18 #ifndef QGSLEGENDSTYLE_H
19 #define QGSLEGENDSTYLE_H
20 
21 #include <QFont>
22 #include <QMap>
23 #include <QString>
24 #include <QDomElement>
25 #include <QDomDocument>
26 
27 #include "qgis_core.h"
28 #include "qgis_sip.h"
29 
34 class CORE_EXPORT QgsLegendStyle
35 {
36  public:
37 
39  enum Style
40  {
48  };
49 
50  // TODO QGIS 4.0 - use Qt enum instead
51 
53  enum Side
54  {
55  Top = 0,
56  Bottom = 1,
57  Left = 2,
58  Right = 3,
59  };
60 
62 
67  QFont font() const { return mFont; }
68 
73  void setFont( const QFont &font ) { mFont = font; }
74 
81  SIP_SKIP QFont &rfont() { return mFont; }
82 
90  double margin( Side side ) { return mMarginMap.value( side ); }
91 
99  void setMargin( Side side, double margin ) { mMarginMap[side] = margin; }
100 
105  void setMargin( double margin );
106 
113  Qt::Alignment alignment() const { return mAlignment; }
114 
121  void setAlignment( Qt::Alignment alignment ) { mAlignment = alignment; }
122 
127  void writeXml( const QString &name, QDomElement &elem, QDomDocument &doc ) const;
128 
133  void readXml( const QDomElement &elem, const QDomDocument &doc );
134 
143  static QString styleName( Style s );
144 
149  static Style styleFromName( const QString &styleName );
150 
155  static QString styleLabel( Style s );
156 
157  private:
158  QFont mFont;
159  QMap<Side, double> mMarginMap;
160  Qt::Alignment mAlignment = Qt::AlignLeft;
161 };
162 
163 #endif
double margin(Side side)
Returns the margin (in mm) for the specified side of the component.
QFont font() const
Returns the font used for rendering this legend component.
void setAlignment(Qt::Alignment alignment)
Sets the alignment for the legend component.
Contains detailed styling information relating to how a layout legend should be rendered.
Should not happen, only if corrupted project file.
void setFont(const QFont &font)
Sets the font used for rendering this legend component.
#define SIP_SKIP
Definition: qgis_sip.h:126
Symbol icon (excluding label)
Legend subgroup title.
void setMargin(Side side, double margin)
Sets the margin (in mm) for the specified side of the component.
Side
Margin sides.
Qt::Alignment alignment() const
Returns the alignment for the legend component.
Style
Component of legends which can be styled.
Special style, item is hidden including margins around.
QFont & rfont()
Returns a modifiable reference to the component&#39;s font.
Symbol label (excluding icon)
Legend group title.