QGIS API Documentation 3.43.0-Master (c67cf405802)
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.
An abstract interface for legend items returned from QgsMapLayerLegend implementation.
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.
Stores the appearance and layout settings for legend drawing with QgsLegendRenderer.
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