mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
177 lines
6.0 KiB
Plaintext
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;
|
|
|
|
};
|