QGIS API Documentation 3.41.0-Master (af5edcb665c)
Loading...
Searching...
No Matches
qgscolorramplegendnode.h
Go to the documentation of this file.
1/***************************************************************************
2 qgscolorramplegendnode.h
3 --------------------------------------
4 Date : December 2020
5 Copyright : (C) 2020 by Nyall Dawson
6 Email : nyall dot dawson 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#ifndef QGSCOLORRAMPLEGENDNODE_H
17#define QGSCOLORRAMPLEGENDNODE_H
18
19#include "qgis_core.h"
20#include "qgis_sip.h"
23
24class QgsColorRamp;
25
33{
34 Q_OBJECT
35
36
37 public:
38
50 const QString &minimumLabel, const QString &maximumLabel, QObject *parent SIP_TRANSFERTHIS = nullptr,
51 const QString &key = QString(), const QString &parentKey = QString() );
52
65 const QgsColorRampLegendNodeSettings &settings, double minimumValue,
66 double maximumValue, QObject *parent SIP_TRANSFERTHIS = nullptr,
67 const QString &key = QString(), const QString &parentKey = QString() );
68
69
70 QVariant data( int role ) const override;
71 QSizeF drawSymbol( const QgsLegendSettings &settings, ItemContext *ctx, double itemHeight ) const override;
72 QSizeF drawSymbolText( const QgsLegendSettings &settings, ItemContext *ctx, QSizeF symbolSize ) const override;
73 QJsonObject exportSymbolToJson( const QgsLegendSettings &settings, const QgsRenderContext &context ) const override;
74
80 void setIconSize( QSize size ) { mIconSize = size; }
81
87 QSize iconSize() const { return mIconSize; }
88
92 const QgsColorRamp *ramp() const;
93
99 QgsColorRampLegendNodeSettings settings() const;
100
106 void setSettings( const QgsColorRampLegendNodeSettings &settings );
107
108 private:
109 void init( QgsLayerTreeLayer *nodeLayer );
110
111 QString labelForMinimum() const;
112 QString labelForMaximum() const;
113
114 std::unique_ptr< QgsColorRamp > mRamp;
115
116 mutable QPixmap mPixmap; // cached symbol preview
117 QSize mIconSize;
118
120 double mMinimumValue = 0;
121 double mMaximumValue = 0;
122 QString mKey;
123 QString mParentKey;
124};
125
126
127
128#endif // QGSCOLORRAMPLEGENDNODE_H
Settings for a color ramp legend node.
A legend node which renders a color ramp.
QSize iconSize() const
Returns the icon size, which is how large the ramp will render in a layer tree widget.
void setIconSize(QSize size)
Set the icon size, which controls how large the ramp will render in a layer tree widget.
Abstract base class for color ramps.
Layer tree node points to a map layer.
The QgsLegendRendererItem class is abstract interface for legend items returned from QgsMapLayerLegen...
virtual QVariant data(int role) const =0
Returns data associated with the item. Must be implemented in derived class.
virtual QJsonObject exportSymbolToJson(const QgsLegendSettings &settings, const QgsRenderContext &context) const
Adds a symbol in base64 string within a JSON object with the key "icon".
virtual QSizeF drawSymbol(const QgsLegendSettings &settings, ItemContext *ctx, double itemHeight) const
Draws symbol on the left side of the item.
virtual QSizeF drawSymbolText(const QgsLegendSettings &settings, ItemContext *ctx, QSizeF symbolSize) const
Draws label on the right side of the item.
The QgsLegendSettings class stores the appearance and layout settings for legend drawing with QgsLege...
Contains information about the context of a rendering operation.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53
#define SIP_TRANSFER
Definition qgis_sip.h:36