Add repr for layer tree legend nodes

This commit is contained in:
Nyall Dawson 2023-03-27 10:03:49 +10:00
parent 1ce4453157
commit deb12464b5
2 changed files with 116 additions and 0 deletions

View File

@ -233,6 +233,12 @@ Draws label on the right side of the item
:return: Size of the label (may span multiple lines)
%End
SIP_PYOBJECT __repr__();
%MethodCode
QString str = QStringLiteral( "<QgsLayerTreeModelLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
%End
public slots:
void checkAllItems();
@ -488,6 +494,14 @@ Evaluates and returns the text label of the current node
.. versionadded:: 3.10
%End
SIP_PYOBJECT __repr__();
%MethodCode
QString str = QStringLiteral( "<QgsSymbolLegendNode: %1 \"%2\"" ).arg(
sipCpp->data( QgsLayerTreeModelLegendNode::RuleKeyRole ).toString(),
sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
%End
};
@ -518,6 +532,12 @@ Constructor for QgsSimpleLegendNode.
virtual QVariant data( int role ) const;
SIP_PYOBJECT __repr__();
%MethodCode
QString str = QStringLiteral( "<QgsSimpleLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
%End
};
@ -552,6 +572,12 @@ Constructor for QgsImageLegendNode.
virtual QJsonObject exportSymbolToJson( const QgsLegendSettings &settings, const QgsRenderContext &context ) const;
SIP_PYOBJECT __repr__();
%MethodCode
QString str = QStringLiteral( "<QgsImageLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
%End
};
class QgsRasterSymbolLegendNode : QgsLayerTreeModelLegendNode
@ -604,6 +630,12 @@ Returns whether the item is user-checkable - whether renderer supports enabling/
.. versionadded:: 3.18
%End
SIP_PYOBJECT __repr__();
%MethodCode
QString str = QStringLiteral( "<QgsRasterSymbolLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
%End
};
@ -642,6 +674,12 @@ Constructor for QgsWmsLegendNode.
virtual void invalidateMapBasedData();
SIP_PYOBJECT __repr__();
%MethodCode
QString str = QStringLiteral( "<QgsWmsLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
%End
};
@ -669,6 +707,12 @@ Construct the node using :py:class:`QgsDataDefinedSizeLegend` as definition of t
virtual ItemMetrics draw( const QgsLegendSettings &settings, ItemContext *ctx );
SIP_PYOBJECT __repr__();
%MethodCode
QString str = QStringLiteral( "<QgsDataDefinedSizeLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
%End
};
class QgsVectorLabelLegendNode : QgsLayerTreeModelLegendNode
@ -727,6 +771,12 @@ exportSymbolToJson
:return: the json object
%End
SIP_PYOBJECT __repr__();
%MethodCode
QString str = QStringLiteral( "<QgsVectorLabelLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
%End
};

View File

@ -301,6 +301,14 @@ class CORE_EXPORT QgsLayerTreeModelLegendNode : public QObject
*/
virtual QSizeF drawSymbolText( const QgsLegendSettings &settings, ItemContext *ctx, QSizeF symbolSize ) const;
#ifdef SIP_RUN
SIP_PYOBJECT __repr__();
% MethodCode
QString str = QStringLiteral( "<QgsLayerTreeModelLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
% End
#endif
public slots:
/**
@ -526,6 +534,16 @@ class CORE_EXPORT QgsSymbolLegendNode : public QgsLayerTreeModelLegendNode
*/
QString evaluateLabel( const QgsExpressionContext &context = QgsExpressionContext(), const QString &label = QString() );
#ifdef SIP_RUN
SIP_PYOBJECT __repr__();
% MethodCode
QString str = QStringLiteral( "<QgsSymbolLegendNode: %1 \"%2\"" ).arg(
sipCpp->data( QgsLayerTreeModelLegendNode::RuleKeyRole ).toString(),
sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
% End
#endif
private:
void updateLabel();
@ -578,6 +596,14 @@ class CORE_EXPORT QgsSimpleLegendNode : public QgsLayerTreeModelLegendNode
QVariant data( int role ) const override;
#ifdef SIP_RUN
SIP_PYOBJECT __repr__();
% MethodCode
QString str = QStringLiteral( "<QgsSimpleLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
% End
#endif
private:
QString mLabel;
QString mId;
@ -612,6 +638,14 @@ class CORE_EXPORT QgsImageLegendNode : public QgsLayerTreeModelLegendNode
QJsonObject exportSymbolToJson( const QgsLegendSettings &settings, const QgsRenderContext &context ) const override;
#ifdef SIP_RUN
SIP_PYOBJECT __repr__();
% MethodCode
QString str = QStringLiteral( "<QgsImageLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
% End
#endif
private:
QImage mImage;
};
@ -659,6 +693,14 @@ class CORE_EXPORT QgsRasterSymbolLegendNode : public QgsLayerTreeModelLegendNode
*/
bool isCheckable() const { return mCheckable; }
#ifdef SIP_RUN
SIP_PYOBJECT __repr__();
% MethodCode
QString str = QStringLiteral( "<QgsRasterSymbolLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
% End
#endif
private:
QColor mColor;
QString mLabel;
@ -697,6 +739,14 @@ class CORE_EXPORT QgsWmsLegendNode : public QgsLayerTreeModelLegendNode
void invalidateMapBasedData() override;
#ifdef SIP_RUN
SIP_PYOBJECT __repr__();
% MethodCode
QString str = QStringLiteral( "<QgsWmsLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
% End
#endif
private slots:
void getLegendGraphicFinished( const QImage & );
@ -736,6 +786,14 @@ class CORE_EXPORT QgsDataDefinedSizeLegendNode : public QgsLayerTreeModelLegendN
ItemMetrics draw( const QgsLegendSettings &settings, ItemContext *ctx ) override;
#ifdef SIP_RUN
SIP_PYOBJECT __repr__();
% MethodCode
QString str = QStringLiteral( "<QgsDataDefinedSizeLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
% End
#endif
private:
void cacheImage() const;
QgsDataDefinedSizeLegend *mSettings = nullptr;
@ -785,6 +843,14 @@ class CORE_EXPORT QgsVectorLabelLegendNode : public QgsLayerTreeModelLegendNode
*/
QJsonObject exportSymbolToJson( const QgsLegendSettings &settings, const QgsRenderContext &context ) const override;
#ifdef SIP_RUN
SIP_PYOBJECT __repr__();
% MethodCode
QString str = QStringLiteral( "<QgsVectorLabelLegendNode: \"%1\">" ).arg( sipCpp->data( Qt::DisplayRole ).toString() );
sipRes = PyUnicode_FromString( str.toUtf8().constData() );
% End
#endif
private:
QgsPalLayerSettings mLabelSettings;
QSizeF drawSymbol( const QgsLegendSettings &settings, const QgsRenderContext &renderContext, double xOffset = 0.0, double yOffset = 0.0 ) const;