mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
- update methods of existing classes - add comment to methods missing in the sip bindings - split up collective sip files into single files and use same directory structure in python/ as in src/ - add a lot of missing classes (some might not make sense because of missing python methods in those classes) - remove some non-existing methods from the header files - add scripts/sipdiff - replace some usages of std::vector and std::set with QVector/QSet
132 lines
3.9 KiB
Plaintext
132 lines
3.9 KiB
Plaintext
|
|
/** Render class to display labels */
|
|
class QgsLabel
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgslabel.h>
|
|
%End
|
|
|
|
public:
|
|
QgsLabel( const QMap<int, QgsField> & fields );
|
|
|
|
~QgsLabel();
|
|
|
|
/* Fields */
|
|
enum LabelField
|
|
{
|
|
Text = 0,
|
|
Family,
|
|
Size,
|
|
SizeType,
|
|
Bold,
|
|
Italic,
|
|
Underline,
|
|
Color,
|
|
XCoordinate,
|
|
YCoordinate,
|
|
XOffset,
|
|
YOffset,
|
|
Angle,
|
|
Alignment,
|
|
BufferEnabled,
|
|
BufferSize,
|
|
BufferColor,
|
|
BufferBrush,
|
|
BorderWidth,
|
|
BorderColor,
|
|
BorderStyle,
|
|
MultilineEnabled,
|
|
StrikeOut, // added in 1.5
|
|
LabelFieldCount
|
|
};
|
|
|
|
struct labelpoint
|
|
{
|
|
QgsPoint p;
|
|
double angle;
|
|
};
|
|
|
|
/** \brief render label
|
|
* \param painter painter to render label in
|
|
* \param viewExtent extent to render labels in
|
|
* \param coordinateTransform coordinate transformation to use
|
|
* \param transform transformation from coordinate to canvas pixels
|
|
* \param feature feature to label
|
|
* \param selected feature is selected
|
|
* \param classAttributes attributes to create label from
|
|
* \param sizeScale scale
|
|
* \param rasterScaleFactor raster scale
|
|
* \deprecated
|
|
*/
|
|
void renderLabel( QPainter* painter, const QgsRectangle& viewExtent,
|
|
QgsCoordinateTransform* coordinateTransform,
|
|
const QgsMapToPixel *transform,
|
|
QgsFeature &feature, bool selected, QgsLabelAttributes *classAttributes = 0,
|
|
double sizeScale = 1.0, double rasterScaleFactor = 1.0 ) /Deprecated/;
|
|
|
|
/** \brief render label
|
|
* \param renderContext the render context
|
|
* \param feature feature to render the label for
|
|
* \param selected feature is selected
|
|
* \param classAttributes attributes to create the label from
|
|
* \note added in 1.2
|
|
*/
|
|
void renderLabel( QgsRenderContext &renderContext, QgsFeature &feature, bool selected, QgsLabelAttributes *classAttributes = 0 );
|
|
|
|
/** Reads the renderer configuration from an XML file
|
|
@param node the Dom node to read
|
|
*/
|
|
void readXML( const QDomNode& node );
|
|
|
|
/** Writes the contents of the renderer to a configuration file */
|
|
void writeXML( QDomNode & label_node, QDomDocument & document ) const;
|
|
|
|
//! add vector of required fields to existing list of fields
|
|
void addRequiredFields( QList<int> & fields ) const;
|
|
|
|
//! Set available fields
|
|
void setFields( const QMap<int, QgsField> & fields );
|
|
|
|
//! Available vector fields
|
|
QMap<int, QgsField> & fields();
|
|
|
|
/** Pointer to default attributes.
|
|
* @deprecated in version 2 as it is badly named. Rather use attributes.
|
|
* @see labelAttributes method rather */
|
|
QgsLabelAttributes *layerAttributes() /Deprecated/;
|
|
|
|
/** Pointer to default attributes.
|
|
* @note this replaces the to-be-deprecated layerAttributes method.
|
|
* @note introduced in QGIS 1.4
|
|
*/
|
|
QgsLabelAttributes *labelAttributes();
|
|
|
|
//! Set label field
|
|
void setLabelField( int attr, int fieldIndex );
|
|
|
|
//! label field
|
|
QString labelField( int attr ) const;
|
|
|
|
/** Get field value if : 1) field name is not empty
|
|
* 2) field exists
|
|
* 3) value is defined
|
|
* otherwise returns empty string
|
|
*/
|
|
QString fieldValue( int attr, QgsFeature& feature );
|
|
|
|
/** Accessor and mutator for the minimum scale member */
|
|
void setMinScale( float theMinScale );
|
|
float minScale() const;
|
|
|
|
/** Accessor and mutator for the maximum scale member */
|
|
void setMaxScale( float theMaxScale );
|
|
float maxScale() const;
|
|
|
|
/** Accessor and mutator for the scale based visilibility flag */
|
|
void setScaleBasedVisibility( bool theVisibilityFlag );
|
|
bool scaleBasedVisibility() const;
|
|
|
|
private:
|
|
QgsLabel (); // pretend that constructor is private for now
|
|
};
|