Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add read/write context to diagram serialization
  • Loading branch information
nyalldawson committed Nov 23, 2019
1 parent bfd925d commit 249d38a
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 8 deletions.
4 changes: 2 additions & 2 deletions python/core/auto_generated/qgsdiagramrenderer.sip.in
Expand Up @@ -513,11 +513,11 @@ Sets the chart's angular ``direction``.
.. versionadded:: 3.12
%End

void readXml( const QDomElement &elem );
void readXml( const QDomElement &elem, const QgsReadWriteContext &context = QgsReadWriteContext() );
%Docstring
Reads diagram settings from XML
%End
void writeXml( QDomElement &rendererElem, QDomDocument &doc ) const;
void writeXml( QDomElement &rendererElem, QDomDocument &doc, const QgsReadWriteContext &context = QgsReadWriteContext() ) const;
%Docstring
Writes diagram settings to XML
%End
Expand Down
8 changes: 4 additions & 4 deletions src/core/qgsdiagramrenderer.cpp
Expand Up @@ -167,7 +167,7 @@ QSet<QString> QgsDiagramLayerSettings::referencedFields( const QgsExpressionCont
return referenced;
}

void QgsDiagramSettings::readXml( const QDomElement &elem )
void QgsDiagramSettings::readXml( const QDomElement &elem, const QgsReadWriteContext &context )
{
enabled = ( elem.attribute( QStringLiteral( "enabled" ), QStringLiteral( "1" ) ) != QLatin1String( "0" ) );
if ( !QgsFontUtils::setFromXmlChildNode( font, elem, QStringLiteral( "fontProperties" ) ) )
Expand Down Expand Up @@ -317,7 +317,7 @@ void QgsDiagramSettings::readXml( const QDomElement &elem )
}
}

void QgsDiagramSettings::writeXml( QDomElement &rendererElem, QDomDocument &doc ) const
void QgsDiagramSettings::writeXml( QDomElement &rendererElem, QDomDocument &doc, const QgsReadWriteContext &context ) const
{
QDomElement categoryElem = doc.createElement( QStringLiteral( "DiagramCategory" ) );
categoryElem.setAttribute( QStringLiteral( "enabled" ), enabled );
Expand Down Expand Up @@ -583,14 +583,14 @@ void QgsSingleCategoryDiagramRenderer::readXml( const QDomElement &elem, const Q
return;
}

mSettings.readXml( categoryElem );
mSettings.readXml( categoryElem, context );
_readXml( elem, context );
}

void QgsSingleCategoryDiagramRenderer::writeXml( QDomElement &layerElem, QDomDocument &doc, const QgsReadWriteContext &context ) const
{
QDomElement rendererElem = doc.createElement( QStringLiteral( "SingleCategoryDiagramRenderer" ) );
mSettings.writeXml( rendererElem, doc );
mSettings.writeXml( rendererElem, doc, context );
_writeXml( rendererElem, doc, context );
layerElem.appendChild( rendererElem );
}
Expand Down
5 changes: 3 additions & 2 deletions src/core/qgsdiagramrenderer.h
Expand Up @@ -33,6 +33,7 @@
#include "qgsdatadefinedsizelegend.h"

#include "diagram/qgsdiagram.h"
#include "qgsreadwritecontext.h"

class QgsDiagramRenderer;
class QgsFeature;
Expand Down Expand Up @@ -559,9 +560,9 @@ class CORE_EXPORT QgsDiagramSettings
void setDirection( Direction direction );

//! Reads diagram settings from XML
void readXml( const QDomElement &elem );
void readXml( const QDomElement &elem, const QgsReadWriteContext &context = QgsReadWriteContext() );
//! Writes diagram settings to XML
void writeXml( QDomElement &rendererElem, QDomDocument &doc ) const;
void writeXml( QDomElement &rendererElem, QDomDocument &doc, const QgsReadWriteContext &context = QgsReadWriteContext() ) const;

/**
* Returns list of legend nodes for the diagram
Expand Down

0 comments on commit 249d38a

Please sign in to comment.