/************************************************************************ * This file has been generated automatically from * * * * src/core/qgsdiagramrenderer.h * * * * Do not edit manually ! Edit header and run scripts/sipify.pl again * ************************************************************************/ class QgsDiagramLayerSettings { %Docstring(signature="appended") Stores the settings for rendering of all diagrams for a layer. :py:class:`QgsDiagramSettings` stores the settings related to rendering the individual diagrams themselves, while :py:class:`QgsDiagramLayerSettings` stores settings which control how ALL diagrams within a layer are rendered. %End %TypeHeaderCode #include "qgsdiagramrenderer.h" %End public: enum Placement { AroundPoint, OverPoint, Line, Curved, Horizontal, Free }; enum LinePlacementFlag { OnLine, AboveLine, BelowLine, MapOrientation, }; typedef QFlags LinePlacementFlags; enum Property { BackgroundColor, StrokeColor, StrokeWidth, PositionX, PositionY, Distance, Priority, ZIndex, IsObstacle, Show, AlwaysShow, StartAngle, }; static const QgsPropertiesDefinition &propertyDefinitions(); %Docstring Returns the diagram property definitions. .. versionadded:: 3.0 %End QgsDiagramLayerSettings(); %Docstring Constructor for QgsDiagramLayerSettings. %End QgsDiagramLayerSettings( const QgsDiagramLayerSettings &rh ); %Docstring Copy constructor %End ~QgsDiagramLayerSettings(); Placement placement() const; %Docstring Returns the diagram placement. .. seealso:: :py:func:`setPlacement` .. versionadded:: 2.16 %End void setPlacement( Placement value ); %Docstring Sets the diagram placement. :param value: placement value .. seealso:: :py:func:`placement` .. versionadded:: 2.16 %End LinePlacementFlags linePlacementFlags() const; %Docstring Returns the diagram placement flags. These are only used if the diagram placement is set to a line type. .. seealso:: :py:func:`setLinePlacementFlags` .. versionadded:: 2.16 %End void setLinePlacementFlags( LinePlacementFlags flags ); %Docstring Sets the the diagram placement flags. These are only used if the diagram placement is set to a line type. :param flags: placement value .. seealso:: :py:func:`linePlacementFlags` .. versionadded:: 2.16 %End int priority() const; %Docstring Returns the diagram priority. :return: diagram priority, where 0 = low and 10 = high .. note:: placement priority is shared with labeling, so diagrams with a high priority may displace labels and vice-versa .. seealso:: :py:func:`setPriority` .. versionadded:: 2.16 %End void setPriority( int value ); %Docstring Sets the diagram priority. :param value: priority, where 0 = low and 10 = high .. seealso:: :py:func:`priority` .. versionadded:: 2.16 %End double zIndex() const; %Docstring Returns the diagram z-index. Diagrams (or labels) with a higher z-index are drawn over diagrams with a lower z-index. .. note:: z-index ordering is shared with labeling, so diagrams with a high z-index may be drawn over labels with a low z-index and vice-versa .. seealso:: :py:func:`setZIndex` .. versionadded:: 2.16 %End void setZIndex( double index ); %Docstring Sets the diagram z-index. Diagrams (or labels) with a higher z-index are drawn over diagrams with a lower z-index. :param index: diagram z-index .. seealso:: :py:func:`zIndex` .. versionadded:: 2.16 %End bool isObstacle() const; %Docstring Returns whether the feature associated with a diagram acts as an obstacle for other labels or diagrams. .. seealso:: :py:func:`setIsObstacle` .. versionadded:: 2.16 %End void setIsObstacle( bool isObstacle ); %Docstring Sets whether the feature associated with a diagram acts as an obstacle for other labels or diagrams. :param isObstacle: set to ``True`` for feature to act as obstacle .. seealso:: :py:func:`isObstacle` .. versionadded:: 2.16 %End double distance() const; %Docstring Returns the distance between the diagram and the feature (in mm). .. seealso:: :py:func:`setDistance` .. versionadded:: 2.16 %End void setDistance( double distance ); %Docstring Sets the distance between the diagram and the feature. :param distance: distance in mm .. seealso:: :py:func:`distance` .. versionadded:: 2.16 %End QgsDiagramRenderer *renderer(); %Docstring Returns the diagram renderer associated with the layer. .. seealso:: :py:func:`setRenderer` .. versionadded:: 2.16 %End void setRenderer( QgsDiagramRenderer *diagramRenderer /Transfer/ ); %Docstring Sets the diagram renderer associated with the layer. :param diagramRenderer: diagram renderer. Ownership is transferred to the object. .. seealso:: :py:func:`renderer` .. versionadded:: 2.16 %End QgsCoordinateTransform coordinateTransform() const; %Docstring Returns the coordinate transform associated with the layer, or an invalid transform if no transformation is required. .. seealso:: :py:func:`setCoordinateTransform` .. versionadded:: 2.16 %End void setCoordinateTransform( const QgsCoordinateTransform &transform ); %Docstring Sets the coordinate transform associated with the layer. :param transform: coordinate transform. Ownership is transferred to the object. .. seealso:: :py:func:`coordinateTransform` .. versionadded:: 2.16 %End bool showAllDiagrams() const; %Docstring Returns whether the layer should show all diagrams, including overlapping diagrams .. seealso:: :py:func:`setShowAllDiagrams` .. versionadded:: 2.16 %End void setShowAllDiagrams( bool showAllDiagrams ); %Docstring Sets whether the layer should show all diagrams, including overlapping diagrams :param showAllDiagrams: set to ``True`` to show all diagrams .. seealso:: :py:func:`showAllDiagrams` .. versionadded:: 2.16 %End void readXml( const QDomElement &elem ); %Docstring Reads the diagram settings from a DOM element. .. seealso:: :py:func:`writeXml` %End void writeXml( QDomElement &layerElem, QDomDocument &doc ) const; %Docstring Writes the diagram settings to a DOM element. .. seealso:: :py:func:`readXml` %End bool prepare( const QgsExpressionContext &context = QgsExpressionContext() ) const; %Docstring Prepares the diagrams for a specified expression context. Calling prepare before rendering multiple diagrams allows precalculation of expensive setup tasks such as parsing expressions. Returns ``True`` if preparation was successful. .. versionadded:: 3.0 %End QSet< QString > referencedFields( const QgsExpressionContext &context = QgsExpressionContext() ) const; %Docstring Returns the set of any fields referenced by the layer's diagrams. :param context: expression context the diagrams will be drawn using .. versionadded:: 2.16 %End QgsPropertyCollection &dataDefinedProperties(); %Docstring Returns a reference to the diagram's property collection, used for data defined overrides. .. seealso:: :py:func:`setDataDefinedProperties` .. versionadded:: 3.0 %End void setDataDefinedProperties( const QgsPropertyCollection &collection ); %Docstring Sets the diagram's property collection, used for data defined overrides. :param collection: property collection. Existing properties will be replaced. .. seealso:: :py:func:`dataDefinedProperties` .. seealso:: Property .. versionadded:: 3.0 %End }; class QgsDiagramSettings { %Docstring(signature="appended") Stores the settings for rendering a single diagram. :py:class:`QgsDiagramSettings` stores the settings related to rendering the individual diagrams themselves, while QgsDiagramLayerSettings stores settings which control how ALL diagrams within a layer are rendered. %End %TypeHeaderCode #include "qgsdiagramrenderer.h" %End public: enum LabelPlacementMethod { Height, XHeight }; enum DiagramOrientation { Up, Down, Left, Right }; enum Direction { Clockwise, Counterclockwise, }; QgsDiagramSettings(); %Docstring Constructor for QgsDiagramSettings %End ~QgsDiagramSettings(); QgsDiagramSettings( const QgsDiagramSettings &other ); %Docstring Copy constructor %End bool enabled; QFont font; QList< QColor > categoryColors; QList< QString > categoryAttributes; QList< QString > categoryLabels; QSizeF size; //size QgsUnitTypes::RenderUnit sizeType; QgsMapUnitScale sizeScale; QgsUnitTypes::RenderUnit lineSizeUnit; QgsMapUnitScale lineSizeScale; QColor backgroundColor; QColor penColor; double penWidth; LabelPlacementMethod labelPlacementMethod; DiagramOrientation diagramOrientation; double barWidth; double opacity; bool scaleByArea; double rotationOffset; bool scaleBasedVisibility; double maximumScale; double minimumScale; double minimumSize; double spacing() const; %Docstring Returns the spacing between diagram contents. Spacing units can be retrieved by calling :py:func:`~QgsDiagramSettings.spacingUnit`. .. seealso:: :py:func:`setSpacing` .. seealso:: :py:func:`spacingUnit` .. seealso:: :py:func:`spacingMapUnitScale` .. versionadded:: 3.12 %End void setSpacing( double spacing ); %Docstring Sets the ``spacing`` between diagram contents. Spacing units are set via :py:func:`~QgsDiagramSettings.setSpacingUnit`. .. seealso:: :py:func:`spacing` .. seealso:: :py:func:`setSpacingUnit` .. seealso:: :py:func:`setSpacingMapUnitScale` .. versionadded:: 3.12 %End void setSpacingUnit( QgsUnitTypes::RenderUnit unit ); %Docstring Sets the ``unit`` for the content spacing. .. seealso:: :py:func:`spacingUnit` .. seealso:: :py:func:`setSpacing` .. seealso:: :py:func:`setSpacingMapUnitScale` .. versionadded:: 3.12 %End QgsUnitTypes::RenderUnit spacingUnit() const; %Docstring Returns the units for the content spacing. .. seealso:: :py:func:`setSpacingUnit` .. seealso:: :py:func:`spacing` .. seealso:: :py:func:`spacingMapUnitScale` .. versionadded:: 3.12 %End void setSpacingMapUnitScale( const QgsMapUnitScale &scale ); %Docstring Sets the map unit ``scale`` for the content spacing. .. seealso:: :py:func:`spacingMapUnitScale` .. seealso:: :py:func:`setSpacing` .. seealso:: :py:func:`setSpacingUnit` .. versionadded:: 3.12 %End const QgsMapUnitScale &spacingMapUnitScale() const; %Docstring Returns the map unit scale for the content spacing. .. seealso:: :py:func:`setSpacingMapUnitScale` .. seealso:: :py:func:`spacing` .. seealso:: :py:func:`spacingUnit` .. versionadded:: 3.12 %End Direction direction() const; %Docstring Returns the chart's angular direction. .. seealso:: :py:func:`setDirection` .. versionadded:: 3.12 %End void setDirection( Direction direction ); %Docstring Sets the chart's angular ``direction``. .. seealso:: :py:func:`direction` .. versionadded:: 3.12 %End void readXml( const QDomElement &elem, const QgsReadWriteContext &context = QgsReadWriteContext() ); %Docstring Reads diagram settings from XML %End void writeXml( QDomElement &rendererElem, QDomDocument &doc, const QgsReadWriteContext &context = QgsReadWriteContext() ) const; %Docstring Writes diagram settings to XML %End QList< QgsLayerTreeModelLegendNode * > legendItems( QgsLayerTreeLayer *nodeLayer ) const /Factory/; %Docstring Returns list of legend nodes for the diagram .. note:: caller is responsible for deletion of :py:class:`QgsLayerTreeModelLegendNodes` .. versionadded:: 2.10 %End QgsLineSymbol *axisLineSymbol() const; %Docstring Returns the line symbol to use for rendering axis in diagrams. .. seealso:: :py:func:`setAxisLineSymbol` .. seealso:: :py:func:`showAxis` .. versionadded:: 3.12 %End void setAxisLineSymbol( QgsLineSymbol *symbol /Transfer/ ); %Docstring Sets the line ``symbol`` to use for rendering axis in diagrams. Ownership of ``symbol`` is transferred to the settings. .. seealso:: :py:func:`axisLineSymbol` .. seealso:: :py:func:`setShowAxis` .. versionadded:: 3.12 %End bool showAxis() const; %Docstring Returns ``True`` if the diagram axis should be shown. .. seealso:: :py:func:`setShowAxis` .. seealso:: :py:func:`axisLineSymbol` .. versionadded:: 3.12 %End void setShowAxis( bool showAxis ); %Docstring Sets whether the diagram axis should be shown. .. seealso:: :py:func:`showAxis` .. seealso:: :py:func:`setAxisLineSymbol` .. versionadded:: 3.12 %End QgsPaintEffect *paintEffect() const; %Docstring Returns the paint effect to use while rendering diagrams. .. seealso:: :py:func:`setPaintEffect` .. versionadded:: 3.12 %End void setPaintEffect( QgsPaintEffect *effect /Transfer/ ); %Docstring Sets the paint ``effect`` to use while rendering diagrams. Ownership of ``effect`` is transferred to the settings. .. seealso:: :py:func:`paintEffect` .. versionadded:: 3.12 %End }; class QgsDiagramInterpolationSettings { %Docstring(signature="appended") Additional diagram settings for interpolated size rendering. %End %TypeHeaderCode #include "qgsdiagramrenderer.h" %End public: QSizeF lowerSize; QSizeF upperSize; double lowerValue; double upperValue; QString classificationField; QString classificationAttributeExpression; bool classificationAttributeIsExpression; }; class QgsDiagramRenderer { %Docstring(signature="appended") Evaluates and returns the diagram settings relating to a diagram for a specific feature. %End %TypeHeaderCode #include "qgsdiagramrenderer.h" %End %ConvertToSubClassCode if ( sipCpp->rendererName() == QLatin1String( "SingleCategory" ) ) sipType = sipType_QgsSingleCategoryDiagramRenderer; else if ( sipCpp->rendererName() == QLatin1String( "LinearlyInterpolated" ) ) sipType = sipType_QgsLinearlyInterpolatedDiagramRenderer; else sipType = NULL; %End public: QgsDiagramRenderer(); %Docstring Constructor for QgsDiagramRenderer. %End virtual ~QgsDiagramRenderer(); virtual QgsDiagramRenderer *clone() const = 0 /Factory/; %Docstring Returns new instance that is equivalent to this one .. versionadded:: 2.4 %End virtual QSizeF sizeMapUnits( const QgsFeature &feature, const QgsRenderContext &c ) const; %Docstring Returns size of the diagram for a feature in map units. Returns an invalid QSizeF in case of error %End virtual QString rendererName() const = 0; virtual QList diagramAttributes() const = 0; %Docstring Returns attribute indices needed for diagram rendering %End virtual QSet< QString > referencedFields( const QgsExpressionContext &context = QgsExpressionContext() ) const; %Docstring Returns the set of any fields required for diagram rendering :param context: expression context the diagrams will be drawn using .. versionadded:: 2.16 %End void renderDiagram( const QgsFeature &feature, QgsRenderContext &c, QPointF pos, const QgsPropertyCollection &properties = QgsPropertyCollection() ) const; %Docstring Renders the diagram for a specified feature at a specific position in the passed render context. %End void setDiagram( QgsDiagram *d /Transfer/ ); QgsDiagram *diagram() const; virtual QList diagramSettings() const = 0; %Docstring Returns list with all diagram settings in the renderer %End virtual void readXml( const QDomElement &elem, const QgsReadWriteContext &context ) = 0; %Docstring Reads diagram state from a DOM element. Subclasses should ensure that _readXml() is called by their readXml implementation to restore the general QgsDiagramRenderer settings. .. seealso:: :py:func:`writeXml` %End virtual void writeXml( QDomElement &layerElem, QDomDocument &doc, const QgsReadWriteContext &context ) const = 0; %Docstring Writes diagram state to a DOM element. Subclasses should ensure that _writeXml() is called by their writeXml implementation to save the general QgsDiagramRenderer settings. .. seealso:: :py:func:`readXml` %End virtual QList< QgsLayerTreeModelLegendNode * > legendItems( QgsLayerTreeLayer *nodeLayer ) const /Factory/; %Docstring Returns list of legend nodes for the diagram .. note:: caller is responsible for deletion of :py:class:`QgsLayerTreeModelLegendNodes` .. versionadded:: 2.10 %End bool attributeLegend() const; %Docstring Returns ``True`` if renderer will show legend items for diagram attributes. .. seealso:: :py:func:`setAttributeLegend` .. versionadded:: 2.16 %End void setAttributeLegend( bool enabled ); %Docstring Sets whether the renderer will show legend items for diagram attributes. :param enabled: set to ``True`` to show diagram attribute legend .. seealso:: :py:func:`attributeLegend` .. versionadded:: 2.16 %End protected: QgsDiagramRenderer( const QgsDiagramRenderer &other ); virtual bool diagramSettings( const QgsFeature &feature, const QgsRenderContext &c, QgsDiagramSettings &s ) const = 0; %Docstring Returns diagram settings for a feature (or ``False`` if the diagram for the feature is not to be rendered). Used internally within :py:func:`~QgsDiagramRenderer.renderDiagram` :param feature: the feature :param c: render context :param s: out: diagram settings for the feature %End virtual QSizeF diagramSize( const QgsFeature &features, const QgsRenderContext &c ) const = 0; %Docstring Returns size of the diagram (in painter units) or an invalid size in case of error %End void convertSizeToMapUnits( QSizeF &size, const QgsRenderContext &context ) const; %Docstring Converts size from mm to map units %End static int dpiPaintDevice( const QPainter * ); %Docstring Returns the paint device dpi (or -1 in case of error %End void _readXml( const QDomElement &elem, const QgsReadWriteContext &context ); %Docstring Reads internal QgsDiagramRenderer state from a DOM element. .. seealso:: _writeXml %End void _writeXml( QDomElement &rendererElem, QDomDocument &doc, const QgsReadWriteContext &context ) const; %Docstring Writes internal QgsDiagramRenderer diagram state to a DOM element. .. seealso:: _readXml %End }; class QgsSingleCategoryDiagramRenderer : QgsDiagramRenderer { %Docstring(signature="appended") Renders the diagrams for all features with the same settings %End %TypeHeaderCode #include "qgsdiagramrenderer.h" %End public: QgsSingleCategoryDiagramRenderer(); %Docstring Constructor for QgsSingleCategoryDiagramRenderer %End virtual QgsSingleCategoryDiagramRenderer *clone() const /Factory/; virtual QString rendererName() const; virtual QList diagramAttributes() const; void setDiagramSettings( const QgsDiagramSettings &s ); virtual QList diagramSettings() const; virtual void readXml( const QDomElement &elem, const QgsReadWriteContext &context ); virtual void writeXml( QDomElement &layerElem, QDomDocument &doc, const QgsReadWriteContext &context ) const; virtual QList< QgsLayerTreeModelLegendNode * > legendItems( QgsLayerTreeLayer *nodeLayer ) const /Factory/; protected: virtual bool diagramSettings( const QgsFeature &feature, const QgsRenderContext &c, QgsDiagramSettings &s ) const; virtual QSizeF diagramSize( const QgsFeature &, const QgsRenderContext &c ) const; }; class QgsLinearlyInterpolatedDiagramRenderer : QgsDiagramRenderer { %TypeHeaderCode #include "qgsdiagramrenderer.h" %End public: QgsLinearlyInterpolatedDiagramRenderer(); ~QgsLinearlyInterpolatedDiagramRenderer(); QgsLinearlyInterpolatedDiagramRenderer( const QgsLinearlyInterpolatedDiagramRenderer &other ); %Docstring Copy constructor %End virtual QgsLinearlyInterpolatedDiagramRenderer *clone() const /Factory/; virtual QList diagramSettings() const; %Docstring Returns list with all diagram settings in the renderer %End void setDiagramSettings( const QgsDiagramSettings &s ); virtual QList diagramAttributes() const; virtual QSet< QString > referencedFields( const QgsExpressionContext &context = QgsExpressionContext() ) const; virtual QString rendererName() const; void setLowerValue( double val ); double lowerValue() const; void setUpperValue( double val ); double upperValue() const; void setLowerSize( QSizeF s ); QSizeF lowerSize() const; void setUpperSize( QSizeF s ); QSizeF upperSize() const; QString classificationField() const; %Docstring Returns the field name used for interpolating the diagram size. .. seealso:: :py:func:`setClassificationField` .. versionadded:: 3.0 %End void setClassificationField( const QString &field ); %Docstring Sets the field name used for interpolating the diagram size. .. seealso:: :py:func:`classificationField` .. versionadded:: 3.0 %End QString classificationAttributeExpression() const; void setClassificationAttributeExpression( const QString &expression ); bool classificationAttributeIsExpression() const; void setClassificationAttributeIsExpression( bool isExpression ); virtual void readXml( const QDomElement &elem, const QgsReadWriteContext &context ); virtual void writeXml( QDomElement &layerElem, QDomDocument &doc, const QgsReadWriteContext &context ) const; virtual QList< QgsLayerTreeModelLegendNode * > legendItems( QgsLayerTreeLayer *nodeLayer ) const /Factory/; void setDataDefinedSizeLegend( QgsDataDefinedSizeLegend *settings /Transfer/ ); %Docstring Configures appearance of legend. Takes ownership of the passed settings objects. .. versionadded:: 3.0 %End QgsDataDefinedSizeLegend *dataDefinedSizeLegend() const; %Docstring Returns configuration of appearance of legend. Will return ``None`` if no configuration has been set. .. versionadded:: 3.0 %End protected: virtual bool diagramSettings( const QgsFeature &feature, const QgsRenderContext &c, QgsDiagramSettings &s ) const; virtual QSizeF diagramSize( const QgsFeature &, const QgsRenderContext &c ) const; }; /************************************************************************ * This file has been generated automatically from * * * * src/core/qgsdiagramrenderer.h * * * * Do not edit manually ! Edit header and run scripts/sipify.pl again * ************************************************************************/