QGIS API Documentation
2.12.0-Lyon
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
core
composer
qgscomposerobject.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgscomposerobject.h
3
-------------------
4
begin : July 2014
5
copyright : (C) 2014 by Nyall Dawson,Radim Blazek
6
email : nyall dot dawson at gmail dot com
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 QGSCOMPOSEROBJECT_H
18
#define QGSCOMPOSEROBJECT_H
19
20
#include "
qgsobjectcustomproperties.h
"
21
#include "
qgsexpressioncontext.h
"
22
#include <QObject>
23
#include <QDomNode>
24
#include <QMap>
25
26
class
QgsComposition
;
27
class
QPainter
;
28
class
QgsDataDefined
;
29
33
class
CORE_EXPORT
QgsComposerObject
:
public
QObject
34
{
35
Q_OBJECT
36
public
:
37
40
enum
DataDefinedProperty
41
{
42
NoProperty = 0,
43
AllProperties
,
44
TestProperty
,
45
//composer page properties
46
PresetPaperSize
,
47
PaperWidth
,
48
PaperHeight
,
49
NumPages
,
50
PaperOrientation
,
51
//general composer item properties
52
PageNumber
,
53
PositionX
,
54
PositionY
,
55
ItemWidth
,
56
ItemHeight
,
57
ItemRotation
,
58
Transparency
,
59
BlendMode
,
60
ExcludeFromExports
,
61
//composer map
62
MapRotation
,
63
MapScale
,
64
MapXMin
,
65
MapYMin
,
66
MapXMax
,
67
MapYMax
,
68
MapAtlasMargin
,
69
MapLayers
,
70
MapStylePreset
,
71
//composer picture
72
PictureSource
,
73
//html item
74
SourceUrl
75
};
76
81
enum
PropertyValueType
82
{
83
EvaluatedValue = 0,
84
OriginalValue
85
};
86
90
QgsComposerObject
(
QgsComposition
* composition );
91
virtual
~
QgsComposerObject
();
92
96
const
QgsComposition
*
composition
()
const
{
return
mComposition; }
97
QgsComposition
*
composition
() {
return
mComposition; }
98
103
virtual
bool
writeXML(
QDomElement
& elem,
QDomDocument
& doc )
const
;
104
109
virtual
bool
readXML(
const
QDomElement
& itemElem,
const
QDomDocument
& doc );
110
115
QgsDataDefined
* dataDefinedProperty(
const
DataDefinedProperty property )
const
;
116
125
void
setDataDefinedProperty(
const
DataDefinedProperty property,
const
bool
active,
const
bool
useExpression,
const
QString
&expression,
const
QString
&field );
126
135
void
setCustomProperty(
const
QString
&key,
const
QVariant
&value );
136
146
QVariant
customProperty(
const
QString
&key,
const
QVariant
&defaultValue =
QVariant
() )
const
;
147
155
void
removeCustomProperty(
const
QString
&key );
156
163
QStringList
customProperties()
const
;
164
169
virtual
QgsExpressionContext
* createExpressionContext()
const
;
170
171
public
slots:
172
174
virtual
void
repaint();
175
184
virtual
void
refreshDataDefinedProperty(
const
DataDefinedProperty property = AllProperties,
const
QgsExpressionContext
* context = 0 );
185
186
protected
:
187
188
QgsComposition
*
mComposition
;
189
191
QMap< QgsComposerObject::DataDefinedProperty, QString >
mDataDefinedNames
;
192
194
QgsObjectCustomProperties
mCustomProperties
;
195
204
bool
dataDefinedEvaluate(
const
QgsComposerObject::DataDefinedProperty
property,
QVariant
&expressionValue,
const
QgsExpressionContext
& context =
QgsExpressionContext
() )
const
;
205
206
signals:
210
void
itemChanged();
211
212
private
slots:
216
void
prepareDataDefinedExpressions()
const
;
217
218
private
:
219
221
//mutable since expressions in data defineds need to be preparable
222
mutable
QMap< QgsComposerObject::DataDefinedProperty, QgsDataDefined* >
mDataDefinedProperties;
223
224
friend
class
TestQgsComposerObject;
225
};
226
227
#endif
QgsComposerObject::Transparency
Definition:
qgscomposerobject.h:58
QgsComposerObject::MapRotation
Definition:
qgscomposerobject.h:62
QgsComposerObject
A base class for objects which belong to a map composition.
Definition:
qgscomposerobject.h:33
QgsComposerObject::MapXMax
Definition:
qgscomposerobject.h:66
QgsDataDefined
A container class for data source field mapping or expression.
Definition:
qgsdatadefined.h:37
QgsComposerObject::PageNumber
Definition:
qgscomposerobject.h:52
QgsComposerObject::mCustomProperties
QgsObjectCustomProperties mCustomProperties
Custom properties for object.
Definition:
qgscomposerobject.h:194
QgsComposerObject::PositionY
Definition:
qgscomposerobject.h:54
QMap< QgsComposerObject::DataDefinedProperty, QString >
QgsComposerObject::mDataDefinedNames
QMap< QgsComposerObject::DataDefinedProperty, QString > mDataDefinedNames
Map of data defined properties for the item to string name to use when exporting item to xml...
Definition:
qgscomposerobject.h:191
qgsexpressioncontext.h
QgsComposerObject::MapScale
Definition:
qgscomposerobject.h:63
QgsComposerObject::DataDefinedProperty
DataDefinedProperty
Data defined properties for different item types.
Definition:
qgscomposerobject.h:40
QgsComposerObject::MapLayers
Definition:
qgscomposerobject.h:69
QgsComposerObject::ItemRotation
Definition:
qgscomposerobject.h:57
QgsComposerObject::ExcludeFromExports
Definition:
qgscomposerobject.h:60
QgsComposerObject::AllProperties
Definition:
qgscomposerobject.h:43
QgsComposerObject::TestProperty
Definition:
qgscomposerobject.h:44
QgsComposerObject::PaperHeight
Definition:
qgscomposerobject.h:48
QgsComposerObject::ItemHeight
Definition:
qgscomposerobject.h:56
QgsComposerObject::PictureSource
Definition:
qgscomposerobject.h:72
QgsComposerObject::MapYMax
Definition:
qgscomposerobject.h:67
QObject
QgsComposerObject::composition
const QgsComposition * composition() const
Returns the composition the item is attached to.
Definition:
qgscomposerobject.h:96
QgsExpressionContext
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Definition:
qgsexpressioncontext.h:239
QPainter
QgsComposerObject::composition
QgsComposition * composition()
Definition:
qgscomposerobject.h:97
QgsComposerObject::MapYMin
Definition:
qgscomposerobject.h:65
QgsComposerObject::PropertyValueType
PropertyValueType
Specifies whether the value returned by a function should be the original, user set value...
Definition:
qgscomposerobject.h:81
QString
QStringList
QgsComposition
Graphics scene for map printing.
Definition:
qgscomposition.h:74
QgsComposerObject::MapAtlasMargin
Definition:
qgscomposerobject.h:68
QgsComposerObject::MapXMin
Definition:
qgscomposerobject.h:64
QDomDocument
QgsComposerObject::PresetPaperSize
Definition:
qgscomposerobject.h:46
QgsComposerObject::mComposition
QgsComposition * mComposition
Definition:
qgscomposerobject.h:188
QgsComposerObject::BlendMode
Definition:
qgscomposerobject.h:59
qgsobjectcustomproperties.h
QgsComposerObject::PositionX
Definition:
qgscomposerobject.h:53
QgsObjectCustomProperties
Simple key-value store (keys = strings, values = variants) that supports loading/saving to/from XML i...
Definition:
qgsobjectcustomproperties.h:33
QgsComposerObject::PaperOrientation
Definition:
qgscomposerobject.h:50
QgsComposerObject::ItemWidth
Definition:
qgscomposerobject.h:55
QDomElement
QgsComposerObject::MapStylePreset
Definition:
qgscomposerobject.h:70
QgsComposerObject::NumPages
Definition:
qgscomposerobject.h:49
QgsComposerObject::PaperWidth
Definition:
qgscomposerobject.h:47
QVariant
Generated on Sat Oct 24 2015 04:11:22 for QGIS API Documentation by
1.8.9.1