QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
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
48 const QString &minimumLabel, const QString &maximumLabel, QObject *parent SIP_TRANSFERTHIS = nullptr );
49
60 const QgsColorRampLegendNodeSettings &settings, double minimumValue,
61 double maximumValue, QObject *parent SIP_TRANSFERTHIS = nullptr );
62
63
64 QVariant data( int role ) const override;
65 QSizeF drawSymbol( const QgsLegendSettings &settings, ItemContext *ctx, double itemHeight ) const override;
66 QSizeF drawSymbolText( const QgsLegendSettings &settings, ItemContext *ctx, QSizeF symbolSize ) const override;
67 QJsonObject exportSymbolToJson( const QgsLegendSettings &settings, const QgsRenderContext &context ) const override;
68
74 void setIconSize( QSize size ) { mIconSize = size; }
75
81 QSize iconSize() const { return mIconSize; }
82
86 const QgsColorRamp *ramp() const;
87
93 QgsColorRampLegendNodeSettings settings() const;
94
100 void setSettings( const QgsColorRampLegendNodeSettings &settings );
101
102 private:
103 void init( QgsLayerTreeLayer *nodeLayer );
104
105 QString labelForMinimum() const;
106 QString labelForMaximum() const;
107
108 std::unique_ptr< QgsColorRamp > mRamp;
109
110 mutable QPixmap mPixmap; // cached symbol preview
111 QSize mIconSize;
112
114 double mMinimumValue = 0;
115 double mMaximumValue = 0;
116
117};
118
119
120
121#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.
Definition: qgscolorramp.h:29
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