Skip to content

Commit

Permalink
sipify diagram classes
Browse files Browse the repository at this point in the history
  • Loading branch information
3nids committed May 24, 2017
1 parent 8157cf6 commit dd40a3d
Show file tree
Hide file tree
Showing 7 changed files with 689 additions and 355 deletions.
5 changes: 0 additions & 5 deletions python/auto_sip.blacklist
Expand Up @@ -42,11 +42,6 @@ core/composer/qgspaperitem.sip
core/composer/qgsscalebarstyle.sip
core/composer/qgssingleboxscalebarstyle.sip
core/composer/qgsticksscalebarstyle.sip
core/diagram/qgsdiagram.sip
core/diagram/qgshistogramdiagram.sip
core/diagram/qgspiediagram.sip
core/diagram/qgstextdiagram.sip
core/qgsdiagramrenderer.sip
core/effects/qgsblureffect.sip
core/effects/qgscoloreffect.sip
core/effects/qgseffectstack.sip
Expand Down
150 changes: 102 additions & 48 deletions python/core/diagram/qgsdiagram.sip
@@ -1,81 +1,135 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/diagram/qgsdiagram.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/




class QgsDiagram
{
%Docstring
Base class for all diagram types*
%End

%TypeHeaderCode
#include <qgsdiagram.h>
#include "qgsdiagram.h"
%End
public:
virtual ~QgsDiagram();
/** Returns an instance that is equivalent to this one
* @note added in 2.4 */

virtual QgsDiagram *clone() const = 0 /Factory/;
%Docstring
Returns an instance that is equivalent to this one
.. versionadded:: 2.4
:rtype: QgsDiagram
%End

void clearCache();

/** Returns a prepared expression for the specified context.
* @param expression expression string
* @param context expression context
* @note added in QGIS 2.12
*/
QgsExpression *getExpression( const QString &expression, const QgsExpressionContext &context );
%Docstring
Returns a prepared expression for the specified context.
\param expression expression string
\param context expression context
.. versionadded:: 2.12
:rtype: QgsExpression
%End

/** Draws the diagram at the given position (in pixel coordinates)*/
virtual void renderDiagram( const QgsFeature &feature, QgsRenderContext &c, const QgsDiagramSettings &s, QPointF position ) = 0;
%Docstring
Draws the diagram at the given position (in pixel coordinates)
%End

virtual QString diagramName() const = 0;
/** Returns the size in map units the diagram will use to render.*/
%Docstring
Get a descriptive name for this diagram type.
:rtype: str
%End
virtual QSizeF diagramSize( const QgsAttributes &attributes, const QgsRenderContext &c, const QgsDiagramSettings &s ) = 0;
/** Returns the size in map units the diagram will use to render. Interpolate size*/
%Docstring
Returns the size in map units the diagram will use to render.
:rtype: QSizeF
%End
virtual QSizeF diagramSize( const QgsFeature &feature, const QgsRenderContext &c, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is ) = 0;
%Docstring
Returns the size in map units the diagram will use to render. Interpolate size
:rtype: QSizeF
%End

/** Returns the size of the legend item for the diagram corresponding to a specified value.
* @param value value to return legend item size for
* @param s diagram settings
* @param is interpolation settings
* @note added in QGIS 2.16
*/
virtual double legendSize( double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is ) const = 0;
%Docstring
Returns the size of the legend item for the diagram corresponding to a specified value.
\param value value to return legend item size for
\param s diagram settings
\param is interpolation settings
.. versionadded:: 2.16
:rtype: float
%End

protected:
QgsDiagram();
QgsDiagram( const QgsDiagram &other );

/** Changes the pen width to match the current settings and rendering context
* @param pen The pen to modify
* @param s The settings that specify the pen width
* @param c The rendering specifying the proper scale units for pixel conversion
*/
void setPenWidth( QPen &pen, const QgsDiagramSettings &s, const QgsRenderContext &c );
%Docstring
Changes the pen width to match the current settings and rendering context
\param pen The pen to modify
\param s The settings that specify the pen width
\param c The rendering specifying the proper scale units for pixel conversion
%End

/** Calculates a size to match the current settings and rendering context
* @param size The size to convert
* @param s The settings that specify the size type
* @param c The rendering specifying the proper scale units for pixel conversion
*
* @return The converted size for rendering
*/
QSizeF sizePainterUnits( QSizeF size, const QgsDiagramSettings &s, const QgsRenderContext &c );
%Docstring
Calculates a size to match the current settings and rendering context
\param size The size to convert
\param s The settings that specify the size type
\param c The rendering specifying the proper scale units for pixel conversion

:return: The converted size for rendering
:rtype: QSizeF
%End

/** Calculates a length to match the current settings and rendering context
* @param l The length to convert
* @param s Unused
* @param c The rendering specifying the proper scale units for pixel conversion
*
* @return The converted length for rendering
*/
double sizePainterUnits( double l, const QgsDiagramSettings &s, const QgsRenderContext &c );
%Docstring
Calculates a length to match the current settings and rendering context
\param l The length to convert
\param s Unused
\param c The rendering specifying the proper scale units for pixel conversion

:return: The converted length for rendering
:rtype: float
%End

/** Calculates a size to match the current settings and rendering context
* @param s The settings that contain the font size and size type
* @param c The rendering specifying the proper scale units for pixel conversion
*
* @return The properly scaled font for rendering
*/
QFont scaledFont( const QgsDiagramSettings &s, const QgsRenderContext &c );
%Docstring
Calculates a size to match the current settings and rendering context
\param s The settings that contain the font size and size type
\param c The rendering specifying the proper scale units for pixel conversion

:return: The properly scaled font for rendering
:rtype: QFont
%End

/** Returns the scaled size of a diagram for a value, respecting the specified diagram interpolation settings.
* @param value value to calculate corresponding circular size for
* @param s diagram settings
* @param is interpolation settings
* @note added in QGIS 2.16
*/
QSizeF sizeForValue( double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is ) const;
%Docstring
Returns the scaled size of a diagram for a value, respecting the specified diagram interpolation settings.
\param value value to calculate corresponding circular size for
\param s diagram settings
\param is interpolation settings
.. versionadded:: 2.16
:rtype: QSizeF
%End

};

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/diagram/qgsdiagram.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
41 changes: 34 additions & 7 deletions python/core/diagram/qgshistogramdiagram.sip
@@ -1,18 +1,45 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/diagram/qgshistogramdiagram.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/






class QgsHistogramDiagram: QgsDiagram
{

%TypeHeaderCode
#include <qgshistogramdiagram.h>
#include "qgshistogramdiagram.h"
%End
public:
QgsHistogramDiagram();
~QgsHistogramDiagram();

virtual QgsHistogramDiagram *clone() const /Factory/;

void renderDiagram( const QgsFeature &feature, QgsRenderContext &c, const QgsDiagramSettings &s, QPointF position );
virtual void renderDiagram( const QgsFeature &feature, QgsRenderContext &c, const QgsDiagramSettings &s, QPointF position );


virtual QSizeF diagramSize( const QgsAttributes &attributes, const QgsRenderContext &c, const QgsDiagramSettings &s );

virtual QSizeF diagramSize( const QgsFeature &feature, const QgsRenderContext &c, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is );

virtual double legendSize( double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is ) const;

virtual QString diagramName() const;

QSizeF diagramSize( const QgsAttributes &attributes, const QgsRenderContext &c, const QgsDiagramSettings &s );
QSizeF diagramSize( const QgsFeature &feature, const QgsRenderContext &c, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is );
double legendSize( double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is ) const;
QString diagramName() const;
};


/************************************************************************
* This file has been generated automatically from *
* *
* src/core/diagram/qgshistogramdiagram.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
38 changes: 31 additions & 7 deletions python/core/diagram/qgspiediagram.sip
@@ -1,18 +1,42 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/diagram/qgspiediagram.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/




class QgsPieDiagram: QgsDiagram
{

%TypeHeaderCode
#include <qgspiediagram.h>
#include "qgspiediagram.h"
%End
public:
QgsPieDiagram();
~QgsPieDiagram();

virtual QgsPieDiagram *clone() const /Factory/;

void renderDiagram( const QgsFeature &feature, QgsRenderContext &c, const QgsDiagramSettings &s, QPointF position );
virtual void renderDiagram( const QgsFeature &feature, QgsRenderContext &c, const QgsDiagramSettings &s, QPointF position );


virtual QSizeF diagramSize( const QgsAttributes &attributes, const QgsRenderContext &c, const QgsDiagramSettings &s );

virtual QSizeF diagramSize( const QgsFeature &feature, const QgsRenderContext &c, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is );

virtual double legendSize( double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is ) const;

virtual QString diagramName() const;

QSizeF diagramSize( const QgsAttributes &attributes, const QgsRenderContext &c, const QgsDiagramSettings &s );
QSizeF diagramSize( const QgsFeature &feature, const QgsRenderContext &c, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is );
double legendSize( double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is ) const;
QString diagramName() const;
};

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/diagram/qgspiediagram.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
39 changes: 31 additions & 8 deletions python/core/diagram/qgstextdiagram.sip
@@ -1,9 +1,20 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/diagram/qgstextdiagram.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/




class QgsTextDiagram: QgsDiagram
{

%TypeHeaderCode
#include <qgstextdiagram.h>
#include "qgstextdiagram.h"
%End

public:
enum Shape
{
Expand All @@ -19,14 +30,26 @@ class QgsTextDiagram: QgsDiagram
};

QgsTextDiagram();
~QgsTextDiagram();
virtual QgsTextDiagram *clone() const /Factory/;

void renderDiagram( const QgsFeature &feature, QgsRenderContext &c, const QgsDiagramSettings &s, QPointF position );
virtual void renderDiagram( const QgsFeature &feature, QgsRenderContext &c, const QgsDiagramSettings &s, QPointF position );

QSizeF diagramSize( const QgsAttributes &attributes, const QgsRenderContext &c, const QgsDiagramSettings &s );
QSizeF diagramSize( const QgsFeature &feature, const QgsRenderContext &c, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is );
double legendSize( double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is ) const;

QString diagramName() const;
virtual QSizeF diagramSize( const QgsAttributes &attributes, const QgsRenderContext &c, const QgsDiagramSettings &s );

virtual QSizeF diagramSize( const QgsFeature &feature, const QgsRenderContext &c, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is );

virtual double legendSize( double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &is ) const;


virtual QString diagramName() const;

};

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/diagram/qgstextdiagram.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/

0 comments on commit dd40a3d

Please sign in to comment.