QGIS API Documentation 3.29.0-Master (ade4f0cf0f)
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
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#include "qgsreadwritecontext.h"
30
35class CORE_EXPORT QgsLegendStyle
36{
37 public:
38
40 enum Style
41 {
49 };
50
51 // TODO QGIS 4.0 - use Qt enum instead
52
54 enum Side
55 {
56 Top = 0,
57 Bottom = 1,
58 Left = 2,
59 Right = 3,
60 };
61
63
68 QFont font() const { return mFont; }
69
74 void setFont( const QFont &font ) { mFont = font; }
75
82 SIP_SKIP QFont &rfont() { return mFont; }
83
91 double margin( Side side ) { return mMarginMap.value( side ); }
92
100 void setMargin( Side side, double margin ) { mMarginMap[side] = margin; }
101
106 void setMargin( double margin );
107
114 Qt::Alignment alignment() const { return mAlignment; }
115
122 void setAlignment( Qt::Alignment alignment ) { mAlignment = alignment; }
123
130 double indent() const { return mIndent; }
131
138 void setIndent( double indent ) { mIndent = indent; }
139
144 void writeXml( const QString &name, QDomElement &elem, QDomDocument &doc, const QgsReadWriteContext &context = QgsReadWriteContext() ) const;
145
150 void readXml( const QDomElement &elem, const QDomDocument &doc, const QgsReadWriteContext &context = QgsReadWriteContext() );
151
160 static QString styleName( Style s );
161
166 static Style styleFromName( const QString &styleName );
167
172 static QString styleLabel( Style s );
173
174 private:
175 QFont mFont;
176 QMap<Side, double> mMarginMap;
177 Qt::Alignment mAlignment = Qt::AlignLeft;
178 double mIndent = 0;
179};
180
181#endif
Contains detailed styling information relating to how a layout legend should be rendered.
double margin(Side side)
Returns the margin (in mm) for the specified side of the component.
void setIndent(double indent)
Sets the indent (in mm) of a group or subgroup.
Qt::Alignment alignment() const
Returns the alignment for the legend component.
void setAlignment(Qt::Alignment alignment)
Sets the alignment for the legend component.
QFont font() const
Returns the font used for rendering this legend component.
void setMargin(Side side, double margin)
Sets the margin (in mm) for the specified side of the component.
Side
Margin sides.
Style
Component of legends which can be styled.
@ Group
Legend group title.
@ Symbol
Symbol icon (excluding label)
@ Undefined
Should not happen, only if corrupted project file.
@ Subgroup
Legend subgroup title.
@ Title
Legend title.
@ Hidden
Special style, item is hidden including margins around.
@ SymbolLabel
Symbol label (excluding icon)
void setFont(const QFont &font)
Sets the font used for rendering this legend component.
double indent() const
Returns the indent (in mm) of a group or subgroup.
QFont & rfont()
Returns a modifiable reference to the component's font.
The class is used as a container of context for various read/write operations on other objects.
#define SIP_SKIP
Definition: qgis_sip.h:126