Skip to content

Commit

Permalink
Add repr for layer tree legend nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Mar 31, 2023
1 parent 1ce4453 commit deb1246
Show file tree
Hide file tree
Showing 2 changed files with 116 additions and 0 deletions.
Expand Up @@ -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();
Expand Down Expand Up @@ -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

};


Expand Down Expand Up @@ -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

};


Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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

};


Expand Down Expand Up @@ -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

};


Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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

};


Expand Down
66 changes: 66 additions & 0 deletions src/core/layertree/qgslayertreemodellegendnode.h
Expand Up @@ -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:

/**
Expand Down Expand Up @@ -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();

Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
};
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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 & );
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit deb1246

Please sign in to comment.