16 #ifndef QGSSYMBOLLAYERREFERENCE_H
17 #define QGSSYMBOLLAYERREFERENCE_H
20 #include "qgis_core.h"
62 : mSymbolKey( key ), mIndexPath( { index } )
69 : mSymbolKey( key ), mIndexPath( { indexPath } )
91 return ( mSymbolKey == other.mSymbolKey && mIndexPath == other.mIndexPath );
97 return ( mSymbolKey == other.mSymbolKey ) ?
98 mIndexPath < other.mIndexPath
99 : mSymbolKey < other.mSymbolKey;
103 SIP_PYOBJECT __repr__();
106 QStringList pathString;
107 for (
int path : sipCpp->symbolLayerIndexPath() )
109 pathString.append( QString::number( path ) );
111 QString
str = QStringLiteral(
"<QgsSymbolLayerId: %1 (%2)>" ).arg( sipCpp->symbolKey(), pathString.join(
',' ) );
112 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
121 QVector<int> mIndexPath;
139 : mLayerId( layerId ), mSymbolLayerId( symbolLayer )
155 return mLayerId == other.mLayerId &&
156 mSymbolLayerId == other.mSymbolLayerId;
160 SIP_PYOBJECT __repr__();
163 QStringList pathString;
164 for (
int path : sipCpp->symbolLayerId().symbolLayerIndexPath() )
166 pathString.append( QString::number( path ) );
168 QString
str = QStringLiteral(
"<QgsSymbolLayerReference: %1 - %2 (%3)>" ).arg( sipCpp->layerId(), sipCpp->symbolLayerId().symbolKey(), pathString.join(
',' ) );
169 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
180 return qHash(
id.symbolKey() ) ^
qHash(
id.symbolLayerIndexPath() );
We may need stable references to symbol layers, when pointers to symbol layers is not usable (when a ...
bool operator<(const QgsSymbolLayerId &other) const
Comparison operator, for storage in a QSet or QMap.
bool operator==(const QgsSymbolLayerId &other) const
Equality operator.
QVector< int > symbolLayerIndexPath() const
Returns the symbol layer index path inside the symbol.
QgsSymbolLayerId(const QgsSymbolLayerId &other)=default
Default copy constructor.
QgsSymbolLayerId & operator=(const QgsSymbolLayerId &other)=default
Default assignment operator.
QgsSymbolLayerId(const QString &key, int index)
QgsSymbolLayerId constructor with a symbol key and a unique symbol layer index.
QString symbolKey() const
Returns the key associated to the symbol.
QgsSymbolLayerId(const QString &key, const QVector< int > &indexPath)
QgsSymbolLayerId constructor with a symbol key and an index path.
Type used to refer to a specific symbol layer in a symbol of a layer.
QgsSymbolLayerReference(const QString &layerId, const QgsSymbolLayerId &symbolLayer)
Constructor.
bool operator==(const QgsSymbolLayerReference &other) const
Comparison operator.
QgsSymbolLayerId symbolLayerId() const
The symbol layer's id.
QString layerId() const
The referenced vector layer / feature renderer.
QgsSymbolLayerReference()=default
Default constructor.
Represents a vector layer which manages a vector based data sets.
QList< QgsSymbolLayerReference > QgsSymbolLayerReferenceList
CORE_EXPORT QString symbolLayerReferenceListToString(const QgsSymbolLayerReferenceList &)
Utilitary function to turn a QgsSymbolLayerReferenceList into a string.
CORE_EXPORT QgsSymbolLayerReferenceList stringToSymbolLayerReferenceList(const QString &)
Utilitary function to parse a string originated from symbolLayerReferenceListToString into a QgsSymbo...
uint qHash(const QgsSymbolLayerId &id)