QGIS API Documentation 3.99.0-Master (d270888f95f)
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
113 void setMinimum( double minimum ) { mMinimumValue = minimum; };
114
120 void setMaximum( double maximum ) { mMaximumValue = maximum; };
121
127 double minimum() const { return mMinimumValue; };
128
134 double maximum() const { return mMaximumValue; };
135
136 private:
137 void init( QgsLayerTreeLayer *nodeLayer );
138
139 QString labelForMinimum() const;
140 QString labelForMaximum() const;
141
142 std::unique_ptr< QgsColorRamp > mRamp;
143
144 mutable QPixmap mPixmap; // cached symbol preview
145 QSize mIconSize;
146
148 double mMinimumValue = 0;
149 double mMaximumValue = 0;
150 QString mKey;
151 QString mParentKey;
152};
153
154
155
156#endif // QGSCOLORRAMPLEGENDNODE_H
Settings for a color ramp legend node.
const QgsColorRamp * ramp() const
Returns the color ramp used by the node.
QSize iconSize() const
Returns the icon size, which is how large the ramp will render in a layer tree widget.
QgsColorRampLegendNode(QgsLayerTreeLayer *nodeLayer, QgsColorRamp *ramp, const QString &minimumLabel, const QString &maximumLabel, QObject *parent=nullptr, const QString &key=QString(), const QString &parentKey=QString())
Constructor for QgsColorRampLegendNode.
double maximum() const
Returns the node's maximum value.
double minimum() const
Returns the node's minimum value.
QgsColorRampLegendNodeSettings settings() const
Returns the node's settings.
void setIconSize(QSize size)
Set the icon size, which controls how large the ramp will render in a layer tree widget.
void setMinimum(double minimum)
Sets the node's minimum value.
void setMaximum(double maximum)
Sets the node's maximum value.
Abstract base class for color ramps.
Layer tree node points to a map layer.
virtual QVariant data(int role) const =0
Returns data associated with the item. Must be implemented in derived class.
QgsLayerTreeModelLegendNode(QgsLayerTreeLayer *nodeL, QObject *parent=nullptr)
Construct the node with pointer to its parent layer node.
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