QGIS/python/core/qgslegendsettings.sip
Denis Rouzaud 93971d5ed3 [sip] align pointer and reference in blacklisted files
this will facilitate sip diff checking
2017-05-01 17:49:43 +02:00

177 lines
6.0 KiB
Plaintext

/**
* @brief The QgsLegendSettings class stores the appearance and layout settings
* for legend drawing with QgsLegendRenderer. The content of the legend is given
* in QgsLegendModel class.
*
* @note added in 2.6
*/
class QgsLegendSettings
{
%TypeHeaderCode
#include <qgslegendsettings.h>
%End
public:
QgsLegendSettings();
void setTitle( const QString &t );
QString title() const;
/** Returns the alignment of the legend title
* @returns Qt::AlignmentFlag for the legend title
* @see setTitleAlignment
*/
Qt::AlignmentFlag titleAlignment() const;
/** Sets the alignment of the legend title
* @param alignment Text alignment for drawing the legend title
* @see titleAlignment
*/
void setTitleAlignment( Qt::AlignmentFlag alignment );
/** Returns reference to modifiable style */
QgsLegendStyle &rstyle( QgsLegendStyle::Style s );
/** Returns style */
QgsLegendStyle style( QgsLegendStyle::Style s ) const;
void setStyle( QgsLegendStyle::Style s, const QgsLegendStyle &style );
double boxSpace() const;
void setBoxSpace( double s );
void setWrapChar( const QString &t );
QString wrapChar() const;
double columnSpace() const;
void setColumnSpace( double s );
int columnCount() const;
void setColumnCount( int c );
bool splitLayer() const;
void setSplitLayer( bool s );
bool equalColumnWidth() const;
void setEqualColumnWidth( bool s );
QColor fontColor() const;
void setFontColor( const QColor &c );
QSizeF symbolSize() const;
void setSymbolSize( QSizeF s );
/** Returns whether a stroke will be drawn around raster symbol items.
* @see setDrawRasterStroke()
* @see rasterStrokeColor()
* @see rasterStrokeWidth()
* @note added in QGIS 2.12
*/
bool drawRasterStroke() const;
/** Sets whether a stroke will be drawn around raster symbol items.
* @param enabled set to true to draw borders
* @see drawRasterStroke()
* @see setRasterStrokeColor()
* @see setRasterStrokeWidth()
* @note added in QGIS 2.12
*/
void setDrawRasterStroke( bool enabled );
/** Returns the stroke color for the stroke drawn around raster symbol items. The stroke is
* only drawn if drawRasterStroke() is true.
* @see setRasterStrokeColor()
* @see drawRasterStroke()
* @see rasterStrokeWidth()
* @note added in QGIS 2.12
*/
QColor rasterStrokeColor() const;
/** Sets the stroke color for the stroke drawn around raster symbol items. The stroke is
* only drawn if drawRasterStroke() is true.
* @param color stroke color
* @see rasterStrokeColor()
* @see setDrawRasterStroke()
* @see setRasterStrokeWidth()
* @note added in QGIS 2.12
*/
void setRasterStrokeColor( const QColor &color );
/** Returns the stroke width (in millimeters) for the stroke drawn around raster symbol items. The stroke is
* only drawn if drawRasterStroke() is true.
* @see setRasterStrokeWidth()
* @see drawRasterStroke()
* @see rasterStrokeColor()
* @note added in QGIS 2.12
*/
double rasterStrokeWidth() const;
/** Sets the stroke width for the stroke drawn around raster symbol items. The stroke is
* only drawn if drawRasterStroke() is true.
* @param width stroke width in millimeters
* @see rasterStrokeWidth()
* @see setDrawRasterStroke()
* @see setRasterStrokeColor()
* @note added in QGIS 2.12
*/
void setRasterStrokeWidth( double width );
QSizeF wmsLegendSize() const;
void setWmsLegendSize( QSizeF s );
double lineSpacing() const;
void setLineSpacing( double s );
double mmPerMapUnit() const;
void setMmPerMapUnit( double mmPerMapUnit );
bool useAdvancedEffects() const;
void setUseAdvancedEffects( bool use );
double mapScale() const;
void setMapScale( double scale );
int dpi() const;
void setDpi( int dpi );
// utility functions
/** Splits a string using the wrap char taking into account handling empty
* wrap char which means no wrapping
*/
QStringList splitStringForWrapping( const QString &stringToSplt ) const;
/** Draws Text. Takes care about all the composer specific issues (calculation to
* pixel, scaling of font and painter to work around the Qt font bug)
*/
void drawText( QPainter *p, double x, double y, const QString &text, const QFont &font ) const;
/** Like the above, but with a rectangle for multiline text
* @param p painter to use
* @param rect rectangle to draw into
* @param text text to draw
* @param font font to use
* @param halignment optional horizontal alignment
* @param valignment optional vertical alignment
* @param flags allows for passing Qt::TextFlags to control appearance of rendered text
*/
void drawText( QPainter *p, const QRectF &rect, const QString &text, const QFont &font, Qt::AlignmentFlag halignment = Qt::AlignLeft, Qt::AlignmentFlag valignment = Qt::AlignTop, int flags = Qt::TextWordWrap ) const;
/** Returns a font where size is in pixel and font size is upscaled with FONT_WORKAROUND_SCALE */
QFont scaledFontPixelSize( const QFont &font ) const;
/** Calculates font to from point size to pixel size */
double pixelFontSize( double pointSize ) const;
/** Returns the font width in millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE */
double textWidthMillimeters( const QFont &font, const QString &text ) const;
/** Returns the font height of a character in millimeters */
double fontHeightCharacterMM( const QFont &font, QChar c ) const;
/** Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE */
double fontAscentMillimeters( const QFont &font ) const;
/** Returns the font descent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE */
double fontDescentMillimeters( const QFont &font ) const;
};