QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
symbology
qgslegendsymbolitem.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgslegendsymbolitem.cpp
3
--------------------------------------
4
Date : August 2014
5
Copyright : (C) 2014 by Martin Dobias
6
Email : wonder dot sk at gmail dot com
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
16
#include "
qgslegendsymbolitem.h
"
17
18
#include "
qgsdatadefinedsizelegend.h
"
19
#include "
qgssymbol.h
"
20
21
QgsLegendSymbolItem::QgsLegendSymbolItem
() =
default
;
22
23
QgsLegendSymbolItem::QgsLegendSymbolItem
(
QgsSymbol
*
symbol
,
const
QString &
label
,
const
QString &
ruleKey
,
bool
checkable,
int
scaleMinDenom
,
int
scaleMaxDenom
,
int
level
,
const
QString &
parentRuleKey
)
24
: mSymbol(
symbol
?
symbol
->clone() : nullptr )
25
, mLabel(
label
)
26
, mKey(
ruleKey
)
27
, mCheckable( checkable )
28
, mOriginalSymbolPointer(
symbol
)
29
, mScaleMinDenom(
scaleMinDenom
)
30
, mScaleMaxDenom(
scaleMaxDenom
)
31
, mLevel(
level
)
32
, mParentKey(
parentRuleKey
)
33
{}
34
35
QgsLegendSymbolItem::QgsLegendSymbolItem
(
const
QgsLegendSymbolItem
&other )
36
{
37
*
this
= other;
38
}
39
40
QgsLegendSymbolItem::~QgsLegendSymbolItem
()
41
{}
42
43
QgsLegendSymbolItem
&
QgsLegendSymbolItem::operator=
(
const
QgsLegendSymbolItem
&other )
44
{
45
if
(
this
== &other )
46
return
*
this
;
47
48
mSymbol.reset( other.mSymbol ? other.mSymbol->clone() :
nullptr
);
49
mLabel = other.mLabel;
50
mKey = other.mKey;
51
mCheckable = other.mCheckable;
52
mDataDefinedSizeLegendSettings.reset( other.mDataDefinedSizeLegendSettings ?
new
QgsDataDefinedSizeLegend
( *other.mDataDefinedSizeLegendSettings ) :
nullptr
);
53
mOriginalSymbolPointer = other.mOriginalSymbolPointer;
54
mScaleMinDenom = other.mScaleMinDenom;
55
mScaleMaxDenom = other.mScaleMaxDenom;
56
mLevel = other.mLevel;
57
mParentKey = other.mParentKey;
58
mUserData = other.mUserData;
59
60
return
*
this
;
61
}
62
63
bool
QgsLegendSymbolItem::isScaleOK
(
double
scale )
const
64
{
65
if
( scale <= 0 )
66
return
true
;
67
if
( mScaleMinDenom <= 0 && mScaleMaxDenom <= 0 )
68
return
true
;
69
if
( mScaleMinDenom > 0 && mScaleMinDenom > scale )
70
return
false
;
71
if
( mScaleMaxDenom > 0 && mScaleMaxDenom < scale )
72
return
false
;
73
return
true
;
74
}
75
76
void
QgsLegendSymbolItem::setSymbol
(
QgsSymbol
*s )
77
{
78
mSymbol.reset( s ? s->
clone
() :
nullptr
);
79
mOriginalSymbolPointer = s;
80
}
81
82
void
QgsLegendSymbolItem::setDataDefinedSizeLegendSettings
(
QgsDataDefinedSizeLegend
*settings )
83
{
84
mDataDefinedSizeLegendSettings.reset( settings );
85
}
86
87
QgsDataDefinedSizeLegend
*
QgsLegendSymbolItem::dataDefinedSizeLegendSettings
()
const
88
{
89
return
mDataDefinedSizeLegendSettings.get();
90
}
91
92
void
QgsLegendSymbolItem::setUserData
(
int
key, QVariant &value )
93
{
94
mUserData.insert( key, value );
95
}
96
97
QVariant
QgsLegendSymbolItem::userData
(
int
key )
const
98
{
99
return
mUserData.value( key, QVariant() );
100
}
QgsDataDefinedSizeLegend
Object that keeps configuration of appearance of marker symbol's data-defined size in legend.
Definition
qgsdatadefinedsizelegend.h:42
QgsLegendSymbolItem::dataDefinedSizeLegendSettings
QgsDataDefinedSizeLegend * dataDefinedSizeLegendSettings() const
Returns extra information for data-defined size legend rendering.
Definition
qgslegendsymbolitem.cpp:87
QgsLegendSymbolItem::userData
QVariant userData(int key) const
Retrieves the item's user data with the specified key.
Definition
qgslegendsymbolitem.cpp:97
QgsLegendSymbolItem::parentRuleKey
QString parentRuleKey() const
Key of the parent legend node.
Definition
qgslegendsymbolitem.h:86
QgsLegendSymbolItem::level
int level() const
Indentation level that tells how deep the item is in a hierarchy of items. For flat lists level is 0.
Definition
qgslegendsymbolitem.h:80
QgsLegendSymbolItem::setUserData
void setUserData(int key, QVariant &value)
Adds a key - value pair to the item's user data.
Definition
qgslegendsymbolitem.cpp:92
QgsLegendSymbolItem::scaleMaxDenom
int scaleMaxDenom() const
Max scale denominator of the scale range.
Definition
qgslegendsymbolitem.h:77
QgsLegendSymbolItem::setDataDefinedSizeLegendSettings
void setDataDefinedSizeLegendSettings(QgsDataDefinedSizeLegend *settings)
Sets extra information about data-defined size.
Definition
qgslegendsymbolitem.cpp:82
QgsLegendSymbolItem::setSymbol
void setSymbol(QgsSymbol *s)
Sets the symbol of the item.
Definition
qgslegendsymbolitem.cpp:76
QgsLegendSymbolItem::scaleMinDenom
int scaleMinDenom() const
Min scale denominator of the scale range.
Definition
qgslegendsymbolitem.h:71
QgsLegendSymbolItem::operator=
QgsLegendSymbolItem & operator=(const QgsLegendSymbolItem &other)
Definition
qgslegendsymbolitem.cpp:43
QgsLegendSymbolItem::isScaleOK
bool isScaleOK(double scale) const
Determine whether given scale is within the scale range. Returns true if scale or scale range is inva...
Definition
qgslegendsymbolitem.cpp:63
QgsLegendSymbolItem::symbol
QgsSymbol * symbol() const
Returns associated symbol. May be nullptr.
Definition
qgslegendsymbolitem.h:53
QgsLegendSymbolItem::ruleKey
QString ruleKey() const
Returns unique identifier of the rule for identification of the item within renderer.
Definition
qgslegendsymbolitem.h:57
QgsLegendSymbolItem::~QgsLegendSymbolItem
~QgsLegendSymbolItem()
Definition
qgslegendsymbolitem.cpp:40
QgsLegendSymbolItem::label
QString label() const
Returns text label.
Definition
qgslegendsymbolitem.h:55
QgsLegendSymbolItem::QgsLegendSymbolItem
QgsLegendSymbolItem()
QgsSymbol
Abstract base class for all rendered symbols.
Definition
qgssymbol.h:227
QgsSymbol::clone
virtual QgsSymbol * clone() const =0
Returns a deep copy of this symbol.
qgsdatadefinedsizelegend.h
qgslegendsymbolitem.h
qgssymbol.h
Generated on
for QGIS API Documentation by
1.17.0