File: qgsdiagram.sip.in

package info (click to toggle)
qgis 3.40.11%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,183,800 kB
  • sloc: cpp: 1,595,841; python: 372,637; xml: 23,474; sh: 3,761; perl: 3,664; ansic: 2,257; sql: 2,137; yacc: 1,068; lex: 577; javascript: 540; lisp: 411; makefile: 154
file content (153 lines) | stat: -rw-r--r-- 5,443 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/diagram/qgsdiagram.h                                        *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/




class QgsDiagram /NoDefaultCtors/
{
%Docstring(signature="appended")
Base class for all diagram types.
%End

%TypeHeaderCode
#include "qgsdiagram.h"
%End
  public:

%ConvertToSubClassCode
    if ( sipCpp->diagramName() == QLatin1String( "Pie" ) )
      sipType = sipType_QgsPieDiagram;
    else if ( sipCpp->diagramName() == QLatin1String( "Histogram" ) )
      sipType = sipType_QgsHistogramDiagram;
    else if ( sipCpp->diagramName() == QLatin1String( "Text" ) )
      sipType = sipType_QgsTextDiagram;
    else if ( sipCpp->diagramName() == QLatin1String( "Stacked" ) )
      sipType = sipType_QgsStackedBarDiagram;
    else if ( sipCpp->diagramName() == QLatin1String( "StackedDiagram" ) )
      sipType = sipType_QgsStackedDiagram;
    else
      sipType = NULL;
%End

    virtual ~QgsDiagram();

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

    void clearCache();

    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
%End

    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;
%Docstring
Gets a descriptive name for this diagram type.
%End
    virtual QSizeF diagramSize( const QgsAttributes &attributes, const QgsRenderContext &c, const QgsDiagramSettings &s ) = 0;
%Docstring
Returns the size in map units the diagram will use to render.
%End
    virtual QSizeF diagramSize( const QgsFeature &feature, const QgsRenderContext &c, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &interpolationSettings ) = 0;
%Docstring
Returns the size in map units the diagram will use to render.
Interpolate size
%End

    virtual double legendSize( double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &interpolationSettings ) 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 interpolationSettings: interpolation settings
%End

  protected:

    QgsDiagram();
    QgsDiagram( const QgsDiagram &other );

    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

    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
%End

    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: The settings that specify the size type
:param c: The rendering specifying the proper scale units for pixel
          conversion

:return: The converted length for rendering
%End

    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
%End

    QSizeF sizeForValue( double value, const QgsDiagramSettings &s, const QgsDiagramInterpolationSettings &interpolationSettings ) 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 interpolationSettings: interpolation settings
%End

};

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