QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
layout
qgslayoutaligner.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgslayoutaligner.h
3
------------------
4
begin : October 2017
5
copyright : (C) 2017 by Nyall Dawson
6
email : nyall dot dawson at gmail dot com
7
***************************************************************************/
8
/***************************************************************************
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
***************************************************************************/
16
#ifndef QGSLAYOUTALIGNER_H
17
#define QGSLAYOUTALIGNER_H
18
19
#include "qgis_core.h"
20
21
#include <QList>
22
#include <QRectF>
23
24
class
QgsLayoutItem
;
25
class
QgsLayout
;
26
36
class
CORE_EXPORT
QgsLayoutAligner
37
{
38
public
:
40
enum
Alignment
41
{
42
AlignLeft
,
43
AlignHCenter
,
44
AlignRight
,
45
AlignTop
,
46
AlignVCenter
,
47
AlignBottom
,
48
};
49
51
enum
Distribution
52
{
53
DistributeLeft
,
54
DistributeHCenter
,
55
DistributeHSpace
,
56
DistributeRight
,
57
DistributeTop
,
58
DistributeVCenter
,
59
DistributeVSpace
,
60
DistributeBottom
,
61
};
62
64
enum
Resize
65
{
66
ResizeNarrowest
,
67
ResizeWidest
,
68
ResizeShortest
,
69
ResizeTallest
,
70
ResizeToSquare
,
71
};
72
78
static
void
alignItems(
QgsLayout
*layout,
const
QList< QgsLayoutItem * > &items, Alignment alignment );
79
85
static
void
distributeItems(
QgsLayout
*layout,
const
QList< QgsLayoutItem * > &items, Distribution distribution );
86
92
static
void
resizeItems(
QgsLayout
*layout,
const
QList< QgsLayoutItem * > &items, Resize resize );
93
94
private
:
99
static
QRectF boundingRectOfItems(
const
QList< QgsLayoutItem * > &items );
100
101
static
QString undoText( Alignment alignment );
102
static
QString undoText( Distribution distribution );
103
static
QString undoText( Resize resize );
104
111
static
void
distributeEquispacedItems(
QgsLayout
*layout,
const
QList<QgsLayoutItem *> &items,
QgsLayoutAligner::Distribution
distribution );
112
};
113
114
#endif
//QGSLAYOUTALIGNER_H
QgsLayoutAligner
Handles aligning and distributing sets of layout items.
Definition
qgslayoutaligner.h:37
QgsLayoutAligner::Alignment
Alignment
Alignment options.
Definition
qgslayoutaligner.h:41
QgsLayoutAligner::AlignVCenter
@ AlignVCenter
Align vertical centers.
Definition
qgslayoutaligner.h:46
QgsLayoutAligner::AlignLeft
@ AlignLeft
Align left edges.
Definition
qgslayoutaligner.h:42
QgsLayoutAligner::AlignBottom
@ AlignBottom
Align bottom edges.
Definition
qgslayoutaligner.h:47
QgsLayoutAligner::AlignRight
@ AlignRight
Align right edges.
Definition
qgslayoutaligner.h:44
QgsLayoutAligner::AlignTop
@ AlignTop
Align top edges.
Definition
qgslayoutaligner.h:45
QgsLayoutAligner::AlignHCenter
@ AlignHCenter
Align horizontal centers.
Definition
qgslayoutaligner.h:43
QgsLayoutAligner::Resize
Resize
Resize options.
Definition
qgslayoutaligner.h:65
QgsLayoutAligner::ResizeNarrowest
@ ResizeNarrowest
Resize width to match narrowest width.
Definition
qgslayoutaligner.h:66
QgsLayoutAligner::ResizeShortest
@ ResizeShortest
Resize height to match shortest height.
Definition
qgslayoutaligner.h:68
QgsLayoutAligner::ResizeTallest
@ ResizeTallest
Resize height to match tallest height.
Definition
qgslayoutaligner.h:69
QgsLayoutAligner::ResizeToSquare
@ ResizeToSquare
Resize items to square.
Definition
qgslayoutaligner.h:70
QgsLayoutAligner::ResizeWidest
@ ResizeWidest
Resize width to match widest width.
Definition
qgslayoutaligner.h:67
QgsLayoutAligner::Distribution
Distribution
Distribution options.
Definition
qgslayoutaligner.h:52
QgsLayoutAligner::DistributeHSpace
@ DistributeHSpace
Distribute horizontal equispaced.
Definition
qgslayoutaligner.h:55
QgsLayoutAligner::DistributeVCenter
@ DistributeVCenter
Distribute vertical centers.
Definition
qgslayoutaligner.h:58
QgsLayoutAligner::DistributeBottom
@ DistributeBottom
Distribute bottom edges.
Definition
qgslayoutaligner.h:60
QgsLayoutAligner::DistributeLeft
@ DistributeLeft
Distribute left edges.
Definition
qgslayoutaligner.h:53
QgsLayoutAligner::DistributeHCenter
@ DistributeHCenter
Distribute horizontal centers.
Definition
qgslayoutaligner.h:54
QgsLayoutAligner::DistributeRight
@ DistributeRight
Distribute right edges.
Definition
qgslayoutaligner.h:56
QgsLayoutAligner::DistributeVSpace
@ DistributeVSpace
Distribute vertical equispaced.
Definition
qgslayoutaligner.h:59
QgsLayoutAligner::DistributeTop
@ DistributeTop
Distribute top edges.
Definition
qgslayoutaligner.h:57
QgsLayoutItem
Base class for graphical items within a QgsLayout.
Definition
qgslayoutitem.h:106
QgsLayout
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
Definition
qgslayout.h:51
Generated on
for QGIS API Documentation by
1.17.0